Skip to content

Commit

Permalink
Update for v0.13.2.AH Release
Browse files Browse the repository at this point in the history
  • Loading branch information
dakanji committed Oct 5, 2021
1 parent a2a6df6 commit f623ab2
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 27 deletions.
2 changes: 1 addition & 1 deletion NEWS.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
0.13.2.AH (Pre-Release):
0.13.2.AH (05 Oct 2021):
-----------------------
- Adds "PreferHiddenIcons" Feature
* This functionality allows prioritising the use of ".VolumeIcon" image icons for loaders
Expand Down
57 changes: 32 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,27 +42,28 @@ RefindPlus-Specific funtionality can be activated by adding the tokens below to

Token | Functionality
:----: | :----:
active_csr |Actively enables or disables the CSR Policy on Macs.
continue_on_warning |Proceeds as if a key is pressed after screen warnings (for remote login).
direct_gop_renderer |Provides a potentially improved GOP instance for certain GPUs.
disable_amfi |Disables AMFI Checks on Mac OS if required.
disable_compat_check |Disables Mac version compatibility checks if required.
disable_tag_help |Disables feature that ensures hidden tags can always be unhidden.
force_trim |Forces `TRIM` with non-Apple SSDs on Macs if required.
ignore_previous_boot |Disables saving the last booted loader if not required.
ignore_volume_icns |Disables scanning for `.VolumeIcon` icns files if not required.
normalise_csr |Removes the `APPLE_INTERNAL` bit, when present, to permit OTA updates.
protect_nvram |Prevents UEFI Windows from saving certificates to Apple NVRAM.
provide_console_gop |Fixes issues with GOP on some legacy units.
reload_gop |Install UEFI 2.x GOP drivers on EFI 1.x units (modern GPUs on legacy units).
scale_ui |Provides control of UI element scaling.
scan_other_esp |Allows other ESPs other than the RefindPlus ESP to be scanned for loaders.
set_boot_args |Allows arbitrary Mac OS boot argument strings.
silence_apfs |Supresses verbose APFS text on boot (if required with `supply_apfs`).
supply_apfs |Provides APFS file system capability without requiring an APFS driver.
sync_apfs |Boot APFS volumes, such as Big Sur and FileVault, directly (without PreBoot).
text_renderer |Provides a text renderer that allows text mode when not otherwise available.
uga_pass_through |Provides UGA instance on GOP to permit EFIBoot with modern GPUs.
active_csr |Actively enables or disables the CSR Policy on Macs
continue_on_warning |Proceeds as if a key is pressed after screen warnings (unattended login)
decline_apfsload |Disables built in provision of APFS filesystem capability
decline_apfsmute |Disables supressesion of verbose APFS text on boot
decline_apfssync |Disables feature allowing direct APFS/FileVault boot (Without "PreBoot")
decline_espfilter |Allows other ESPs other than the RefindPlus ESP to be scanned for loaders
decline_nvramprotect |Disables feature that blocks UEFI Windows certificates on Apple NVRAM
decline_reloadgop |Disables reinstallation of UEFI 2.x GOP drivers on EFI 1.x units
decline_tagshelp |Disables feature that ensures hidden tags can always be unhidden
direct_gop_renderer |Provides a potentially improved GOP instance for certain GPUs
disable_amfi |Disables AMFI Checks on Mac OS if required
disable_compat_check |Disables Mac version compatibility checks if required
force_trim |Forces `TRIM` with non-Apple SSDs on Macs if required
ignore_hidden_icons |Disables scanning for `.VolumeIcon` image icons if not required
ignore_previous_boot |Disables saving the last booted loader if not required
normalise_csr |Removes the `APPLE_INTERNAL` bit, when present, to permit OTA updates
prefer_hidden_icons |Prioritises `.VolumeIcon` image icons when available
provide_console_gop |Fixes issues with GOP on some legacy units
scale_ui |Provides control of UI element scaling
set_boot_args |Allows arbitrary Mac OS boot argument strings
text_renderer |Provides a text renderer that allows text output when otherwise unavailable
uga_pass_through |Provides UGA instance on GOP to permit EFIBoot with modern GPUs

In addition to the new functions above, the following upsteam functions have been extended:
- **"use_graphics_for" Token:** OpenCore and Clover added as options that can be set to boot in graphics mode.
Expand All @@ -79,13 +80,19 @@ Implementation differences with the upstream base version v0.13.2 are:
- **"use_nvram" Token:** RefindPlus variables are written to the file system and not the motherboard's NVRAM unless explicitly set to do so by activating this configuration token.
- **"log_level" Token:** Controls the native log format and an implementation of the upstream format.
* Only active on DEBUG builds. RELEASE builds remain optimised for day to day use.
* Level 0 does not switch logging off but activates the native summary format
* Levels 1 to 4 output logs equivalent to the detailed upstream format
* Level 0 does not switch logging off but activates the native summary format.
* Levels 1 to 4 output logs similar to the detailed upstream format.
* Level 5 (RefindPlus-Specific) provides very detailed output at a forensic level
- **"resolution" Token:** The `max` setting is redundant in RefindPlus which always defaults to the maximum available resolution whenever the resolution is not set or is otherwise not available.
- **Screenshots:** These are saved in the PNG format with a significantly smaller file size. Additionally, the file naming is slightly different and the files are always saved to the same ESP as the RefindPlus efi file.
- **UI Scaling:** WQHD monitors are correctly determined not to be HiDPI monitors and UI elements are not scaled up on such monitors when the RefindPlus-Specific `scale_ui` configuration token is set to automatically detect the screen resolution.
- **Hidden Tags:** RefindPlus always makes the "hidden_tags" tool available (even when the tool is not specified in the "showtools" list). This is done to ensure that when users hide items (always possible), such items can also be unhidden (only possible when the "hidden_tags" tool is available). Users that prefer not to have this feature can activate the RefindPlus-Specific `disable_tag_help` configuration token.
- **ESP Scanning:** Other ESPs separate from that containing the active efi file are now also scanned for loaders by rEFInd. The earlier behaviour, where all other ESPs were treated as duplicates and ignored, has been considered an error and changed. This earlier behaviour is preferred and maintained in RefindPlus. However, users are provided an option to override this behaviour, in favour of the new rEFInd behaviour, by activating the RefindPlus-Specific `scan_other_esp` configuration token.
- **Hidden Tags:** RefindPlus always makes the "hidden_tags" tool available (even when the tool is not specified in the "showtools" list). This is done to ensure that when users hide items (always possible), such items can also be unhidden (only possible when the "hidden_tags" tool is available). However, users are provided an option to override this behaviour, in favour of the new rEFInd behaviour, by activating the RefindPlus-Specific `decline_tagshelp` configuration token.
- **GOP Driver Provision:** RefindPlus attempts to ensure that UEFI 2.x GOP drivers are available on EFI 1.x units by attempting to reload such drivers when it detects an absence of GOP on such units to permit the use of modern GPUs on legacy units. Users that prefer not to have this feature can activate the RefindPlus-Specific `decline_reloadgop` configuration token.
- **APFS Filesystem Provision:** RefindPlus defaults to always providing APFS Filesystem capability, when not available but is required, without a need to load an APFS driver. This is done using a built in `SupplyAPFS` feature. Users that prefer not to have this feature can activate the RefindPlus-Specific `decline_apfsload` configuration token.
- **APFS Verbose Text Suppression:** RefindPlus defaults to always suppressesing verbose text output associated with loading APFS functionality by the built in `SupplyAPFS` feature. Users that prefer not to have this feature can activate the RefindPlus-Specific `decline_apfsmute` configuration token.
- **APFS PreBoot Volumes:** RefindPlus always synchronises APFS System and PreBoot partitions transparently such that the Preboot partitions of APFS volumes are always used to boot APFS formatted Mac OS. Hence, a single option for booting Mac OS on APFS volumes is presented in RefindPlus to provide maximum APFS compatibility, consistent with Apple's implementation. Users that prefer not to have this feature can activate the RefindPlus-Specific `decline_apfssync` configuration token.
- **Apple NVRAM Protection:** RefindPlus always prevents UEFI Windows Secure Boot from saving certificates to Apple NVRAM as this can result in damage and an inability to boot. Blocking these certificates does not impact the operation of UEFI Windows on Apple Macs. This filtering only happens when Apple firmware is detected and is not applied to other types of firmware. Users that prefer not to have this feature can activate the RefindPlus-Specific `decline_nvramprotect` configuration token.
- **ESP Scanning:** Other ESPs separate from that containing the active efi file are now also scanned for loaders by rEFInd. The earlier behaviour, where all other ESPs were treated as duplicates and ignored, has been considered an error and changed. This earlier behaviour is preferred and maintained in RefindPlus. However, users are provided an option to override this behaviour, in favour of the new rEFInd behaviour, by activating the RefindPlus-Specific `decline_espfilter` configuration token.
- **Disabled Manual Stanzas:** The processing of a user configured boot stanza is halted once a `Disabled` setting is encountered and the `Entry` object returned 'as is'. The outcome is the same between rEFInd, which always proceeds to create and return a fully built object (subsequently discarded), and RefindPlus, which may return a partial object (similarly discarded). However, the approach adopted in RefindPlus allows for an optimised loading process particularly when `Disabled` tokens are placed immediately after the `menuentry` line (see examples in the [config.conf-sample](https://github.com/dakanji/RefindPlus/blob/4d066b03423e0b4d34b11fc5e17faa7db511c551/config.conf-sample#L890) file). This also applies to `submenuentry` items which can be enabled or disabled separately.

## Roll Your Own
Expand Down
2 changes: 1 addition & 1 deletion include/version.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,4 @@
* Modifications distributed under the preceding terms.
*/

#define REFINDPLUS_VERSION L"0.13.2.AH (Pre-Release)"
#define REFINDPLUS_VERSION L"0.13.2.AH"

0 comments on commit f623ab2

Please sign in to comment.