Before you begin fiddling with SSDTs, it's a probably a good idea to take a look at how OpenCore handles ACPI tables and patches. In general, OpenCore applies ACPI changes globally to every operating system (unlike Clover) in the following order:
Patch
is processedDelete
is processedAdd
is processedQuirks
are processed
OpenCore offers a few integrated patches ("Quirks") to address and fix specific ACPI tables (besides the DSDT.aml
). They are located in the ACIPI/Quirks
section of the config.plist
:
Quirk | Affected Table(s) | Table Description | What it fixes |
---|---|---|---|
FadtEnableReset | FACP.aml |
Fixed ACPI Description Table (FADT ). Defines various static system information related to configuration and power management. |
Fixes reboot and shutdown issues. Can also fix the Power Button: if holding it does not invoke the "Restart, Sleep, Cancel, Shutdown" menu, enable this quirk. If this doesn't fix it, try adding SSDT-PMC.aml. Fixes Low Power S0 Idle state. The FACP table characterizes the machine type and determines the power management method. If Low Power S0 Idle = 1 , it's an AOAC system. See the About AOAC section for more details. |
NormalizeHeaders | All Headers | Clear ACPI Header fields | Removes illegal characters from ACPI Headers. Only required for macOS 10.13. |
ResetLogoStatus | BGRT.aml |
Bootstrap graphics resource table | According to the ACPI specs, the Displayed item of the form should be 0 . However, some vendors have written non-zero data to the Displayed entry for some reason, which may cause the screen refresh to fail during the boot phase. The patch sets Displayed to 0 . Note: Not all machines have this table. |
RebaseRegions | All Tables | Relocates ACPI Memory Regions | ACPI forms have memory regions with both dynamically allocated as well as fixed addresses. This quirk turns dynamically allocated addresses into fixed ones which can help with patched DSDTs . |
ResetHwSig | FACS.aml |
Sets Hardware Signature to 0 |
Hardware Signature is part of the FACS table. It's calculated after the system has started based on the hardware configuration. If this value changes after the machine wakes up from a Hibernate state, the system will not recover correctly. Note: If the system has Hibernation disabled, you do not need to this quirk! |
SyncTableIds | SLIC.aml |
Microsoft Software Licensing table | Fixes SLIC table causing licensing issues in older Windows versions. |
Note
For more info about ACPI Tables in general, please refer to the official ACPI Specs.
- Acidanthera for OpenCore and its Documentation
- ACPI Specifications by UEFI.org