PIC

OpenCore

Reference Manual (0.7.0.1)

[2021.06.17]

Copyright ©2018-2021 vit9696

  • NormalizeHeaders
    Type: plist boolean
    Failsafe: false
    Description: Cleanup ACPI header fields to workaround macOS ACPI implementation flaws that result in boot crashes. Reference: Debugging AppleACPIPlatform on 10.13 by Alex James (also known as theracermaster). The issue was fixed in macOS Mojave (10.14).
  • RebaseRegions
    Type: plist boolean
    Failsafe: false
    Description: Attempt to heuristically relocate ACPI memory regions. Not recommended.

    ACPI tables are often generated dynamically by the underlying firmware implementation. Among the position-independent code, ACPI tables may contain the physical addresses of MMIO areas used for device configuration, typically grouped by region (e.g. OperationRegion). Changing firmware settings or hardware configuration, upgrading or patching the firmware inevitably leads to changes in dynamically generated ACPI code, which sometimes results in the shift of the addresses in the aforementioned OperationRegion constructions.

    For this reason, the application of modifications to ACPI tables is extremely risky. The best approach is to make as few changes as possible to ACPI tables and to avoid replacing any tables, particularly DSDT tables. When this cannot be avoided, ensure that any custom DSDT tables are based on the most recent DSDT tables or attempt to remove reads and writes for the affected areas.

    When nothing else helps, this option could be tried to avoid stalls at PCI Configuration Begin phase of macOS booting by attempting to fix the ACPI addresses. It is not a magic bullet however, and only works with the most typical cases. Do not use unless absolutely required as it can have the opposite effect on certain platforms and result in boot failures.

  • ResetHwSig
    Type: plist boolean
    Failsafe: false
    Description: Reset FACS table HardwareSignature value to 0.

    This works around firmware that fail to maintain hardware signature across the reboots and cause issues with waking from hibernation.

  • ResetLogoStatus
    Type: plist boolean
    Failsafe: false
    Description: Reset BGRT table Displayed status field to false.

    This works around firmware that provide a BGRT table but fail to handle screen updates afterwards.

  • SyncTableIds
    Type: plist boolean
    Failsafe: false
    Description: Sync table identifiers with the SLIC table.

    This works around patched tables becoming incompatible with the SLIC table causing licensing issues in older Windows operating systems.

  • 5 Booter

           
  •  elected — Selected item (mandatory, 144x144).
  • Selector — Selecting item (mandatory, up to 144x40).
  • SetDefault — Selecting default (mandatory, up to 144x40; must be same width as Selector).
  • Left — Scrolling left (mandatory, 40x40).
  • Right — Scrolling right (mandatory, 40x40).
  • HardDrive — Generic OS (mandatory, 128x128).
  • Background — Centred background image.
  • Apple — Apple OS (128x128).
  • AppleRecv — Apple Recovery OS (128x128).
  • AppleTM — Apple Time Machine (128x128).
  • Windows — Windows (128x128).
  • Other — Custom entry (see Entries, 128x128).
  • ResetNVRAM — Reset NVRAM system action or tool (128x128).
  • Shell — Entry with UEFI Shell name for e.g. OpenShell (128x128).
  • Tool — Any other tool (128x128).
  • Predefined labels are saved in the \EFI\OC\Resources\Label directory. Each label has .lbl or .l2x suffix to represent the scaling level. Full list of labels is provided below. All labels are mandatory.

    Note: All labels must have a height of exactly 12 px. There is no limit for their width.