Skip to content

Commit

Permalink
Update for v0.13.3.AC Release
Browse files Browse the repository at this point in the history
  • Loading branch information
dakanji committed Dec 6, 2022
1 parent e5af066 commit 071ffdd
Show file tree
Hide file tree
Showing 5 changed files with 66 additions and 66 deletions.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ body:
label: RefindPlus Version
description: Which version of RefindPlus is affected?
options:
- 'v0.13.3.AB Release'
- 'v0.13.3.AC Release'
- 'Older Released Version'
- 'Pre-Release Code Build'
validations:
Expand Down
2 changes: 1 addition & 1 deletion NEWS.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
0.13.3.AC (PRE-RELEASE):
0.13.3.AC (06 Dec 2022):
-----------------------
- Adds `NvramProtectEx` Feature
* Extends the `NvramProtect` feature (if set) to Mac OS and `Unknown` UEFI boots
Expand Down
24 changes: 11 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,25 +62,23 @@ decline_apfs_mute |Disables supressesion of verbose APFS text on boot
decline_apfs_sync |Disables feature allowing direct APFS/FileVault boot (Without "PreBoot")
decline_apple_fb |Disables provision under some circumstances of missing AppleFramebuffers
decline_esp_filter |Allows other ESPs other than the RefindPlus ESP to be scanned for loaders
decline_nvme_load |Disables the built in NvmExpress Driver
decline_help_tags |Disables feature that ensures hidden tags can always be unhidden
decline_help_text |Disables complementary text colours if not required
decline_nvram_protect |Disables blocking of potentially harmful write attempts to Legacy Mac NVRAM
decline_reload_gop |Disables reinstallation of UEFI 2.x GOP drivers on EFI 1.x units
decline_tags_help |Disables feature that ensures hidden tags can always be unhidden
decline_text_help |Disables complementary text colours if not required
decline_uefi_emulate |Disables feature that emulates UEFI 2.x support on EFI 1.x units
decouple_key_f10 |Unmaps the `F10` key from native screenshots (the `\` key remains mapped)
disable_amfi |Disables AMFI Checks on MacOS if required
disable_compat_check |Disables Mac version compatibility checks if required
disable_nvram_paniclog|Disables MacOS kernel panic logging to NVRAM
disable_rescan_dxe |Disables scanning for newly revealed DXE drivers when connecting handles
focus_nvram_fix |Limits the `ProtectNVRAM` feature to explicit UEFI Windows boots
follow_symlinks |Allows following symbolic links to loaders (Ignored by default)
force_trim |Forces `TRIM` on non-Apple SSDs on Macs if required
hidden_icons_external |Allows scanning for `.VolumeIcon` icons on external volumes
hidden_icons_ignore |Disables scanning for `.VolumeIcon` image icons if not required
hidden_icons_prefer |Prioritises `.VolumeIcon` image icons when available
icon_row_move |Repositions the main screen icon rows (vertically)
icon_row_tune |Finetunes the resulting `icon_row_move` outcome
nvram_protect_ex |Extends `NvramProtect`, if set, to Mac OS and `unknown` UEFI boots
nvram_variable_limit |Limits NVRAM write attempts to the specified variable size
pass_uga_through |Provides UGA instance on GOP to permit EfiBoot with modern GPUs
prefer_uga |Prefers UGA use (when available) regardless of GOP availability
Expand All @@ -91,11 +89,13 @@ renderer_text |Provides a text renderer for text output when otherwise u
scale_ui |Provides control of UI element scaling
screen_rgb |Allows setting arbitrary screen background colours
set_boot_args |Allows setting arbitrary MacOS boot arguments
transient_boot |Disables saving the last booted loader if not required
supply_nvme |Enables a built in NvmExpress Driver
supply_uefi |Enables feature that emulates UEFI 2.x support on EFI 1.x units
transient_boot |Disables selection of the last booted loader if not required
unicode_collation |Provides finetuned support for languages that use unicode text

## Extended Functionality
In addition to the new functionality listed above, the following upsteam tokens have been extended:
## Modified Functionality
In addition to the new functionality listed above, the following upsteam tokens have been modified:
- **"use_graphics_for" Token:** OpenCore and Clover added as options that can be set to boot in graphics mode.
- **"showtools" Token:** Additional tool added:
- `clean_nvram` : Allows resetting nvram directly from RefindPlus.
Expand All @@ -120,18 +120,16 @@ In addition to the new functionality listed above, the following upsteam tokens
## Divergence
Implementation differences with the upstream base version v0.13.3 are:
- **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. RefindPlus also takes vertically orientated screens into account.
- **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 use this feature can activate the RefindPlus-Specific `decline_tags_help` configuration token to switch it off.
- **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. RefindPlus also takes vertically orientated screens into account and additionally scales UI elements down when low resolution screens (less than 1025px on the longest edge) are detected.
- **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 use this feature can activate the RefindPlus-Specific `decline_help_tags` configuration token to switch it off.
- **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 use this feature can activate the RefindPlus-Specific `decline_reload_gop` configuration token to switch it off.
- **NVMe Driver Provision:** RefindPlus installs a built in NvmExpressDxe driver when it detects an absence of NvmExpress capability on units with PCIe slots. Users that prefer not to use this feature can activate the RefindPlus-Specific `decline_nvme_load` configuration token to switch it off.
- **AppleFramebuffer Provision:** RefindPlus defaults to always providing Apple framebuffers on Macs, when not available under certain circumstances. This is done using a built in `SupplyAppleFB` feature. Users that prefer not to use this feature can activate the RefindPlus-Specific `decline_apple_fb` configuration token to switch it off.
- **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 use this feature can activate the RefindPlus-Specific `decline_apfs_load` configuration token to switch it off.
- **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 use this feature can activate the RefindPlus-Specific `decline_apfs_mute` configuration token to switch it off.
- **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 MacOS. Hence, a single option for booting MacOS on APFS volumes is presented in RefindPlus to provide maximum APFS compatibility, consistent with Apple's implementation. Users that prefer not to use this feature can activate the RefindPlus-Specific `decline_apfs_sync` configuration token to switch it off.
- **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 use this feature can activate the RefindPlus-Specific `decline_nvram_protect` configuration token to switch it off.
- **UEFI 2.x Emulation:** RefindPlus always emulates the `CreateEventEx` feature from UEFI 2.x on EFI 1.x units and additionally modifies the EFI Revision value to `UEFI 2.3`. This often allows running UEFI 2.x utilities on legacy units since several such utilities only require CreateEventEx to function. Users that prefer not to use this feature can activate the RefindPlus-Specific `decline_uefi_emulate` configuration token to switch it off.
- **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 have the option to override this behaviour, in favour of the new upstream behaviour, by activating the RefindPlus-Specific `decline_esp_filter` 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 as upstream, which always proceeds to create and return a fully built object in such cases (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 such `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.
- **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 as upstream, which always proceeds to create and return a fully built object in such cases (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 such `Disabled` tokens are placed immediately after the `menuentry` line (see examples in the [config.conf-sample](https://github.com/dakanji/RefindPlus/blob/fc18306b33b64d8473c96364cca6a557cc53530f/config.conf-sample#L1124-L1130) file). This also applies to `submenuentry` items which can be enabled or disabled separately.
- **Pointer Priority:** The upstream implementation of pointer priority is based on how the tokens appear in the configuration file(s) when both pointer control tokens, `enable_mouse` and `enable_touch`, are active. The last token read in the main configuration file and/or any supplementary/override configuration file will be used and the other diregarded. In RefindPlus however, the `enable_touch` token always takes priority when both tokens are active without regard to the order of appearance in the configuration file(s). This means that to use a mouse in RefindPlus, the `enable_touch` token must be disabled (default) in addition to enabling the `enable_mouse` token.

## Roll Your Own
Expand Down
Loading

0 comments on commit 071ffdd

Please sign in to comment.