EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
2,696
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
How to create a config.plist for booting macOS on Intel Desktops [OpenCore]

Ivy Bridge-E


SupportCompatibilityNotes
macOSmacOS High Sierra and above
IGPU Support*No IGPU found on Intel Ivy Bridge-E lineup.As there's no IGPU in this lineup, to drive a display, you'll need to use any supported Graphics Card.

Note:
Native CPU Power Management is not supported on Ivy Bridge-E systems. To implement the CPU Power Management, follow the guide below.

ACPI


This section is for loading, blocking and patching the ACPI tables. The sub-sections are explained below.

Add
This section is for adding the DSDT and SSDT files for your system. This basically includes USB and CPU Power Management SSDT.

The required SSDTs for an Ivy Bridge-E system includes:

Path*ValueNotes
SSDT-ECUSBXYES
  • This SSDT is required for EC and USB Power.
  • This SSDT is required for proper USB Power.
  • This SSDT fixes EC and USB Power.
SSDT-UNCYES
  • This SSDT is required for disabling unused devices in the ACPI.
  • This SSDT prevents IOPCIFamily Kernel Panic for macOS Big Sur.
  • This SSDT is required for macOS Big Sur.

Note:
You can add your add-on DSDT or SSDTs here when performing Post-Install.


Delete

This section allows to block the ACPI tables from loading.

Note:
For an Ivy Bridge-E System, this section requires no modification and will remain untouched.


Patch

This section is used for device renames such as USB, Graphics and Audio. You can implement the necessary ACPI patches for optimising the ACPI system components with DSDT and SSDT. This section is important when doing Hot-patch.

The required renames for an Ivy Bridge-E system includes:

Table Signature*FindReplaceCommentEnabledNotes
DSDT4555534245483031Rename EUSB to EH01 (USB)*YES
  • Renames EUSB to EH01 for proper USB functioning.
  • This rename is required for fixing USB Ports with EHCI Controller.
DSDT5553424545483032Rename USBE to EH02 (USB)*YES
  • Renames USBE to EH02 for proper USB functioning.
  • This rename is required for fixing USB Ports with EHCI Controller.
DSDT415A414C48444546Rename AZAL to HDEF (Audio)YES
  • Renames HDAS to HDEF for Audio.
  • This rename is required for implementing Audio Function.
  • For Branded Systems, you may need to patch your DSDT. For more information on Audio implementation, read here.

Notes:
  • The EHC renames must be used in the conjunction to enable the proper USB renaming.
  • *Requires both renames for full function.
  • If you're using Discrete Graphics Device, it's advised to disable IGPU for less hassle.

Quirks
This section allows to apply certain ACPI quirks.

Note:
For an Ivy Bridge-E System, this section requires no modification and will remain untouched.


Booter



This section is used for booting and provides firmware fixes in relation to boot.efi. The sub-sections are explained below.

MmioWhitelist
Designed to be filled with plist dict values, describing addresses critical for particular firmware functioning when DevirtualiseMmio quirk is in use.

Note:
For an Ivy Bridge-E System, this section requires no modification and will remain untouched.


Quirks
This section allows to apply certain Booter quirks.

The required Booter Quirks for an Ivy Bridge-E system includes:

QuirksValueNotes
AvoidRunTimeDefragYES
  • Fixes certain UEFI runtime services such as date time, NVRAM, power control, etc.
  • Apart from Apple and VMware, this quirk is required by rest of the firmwares
EnableSafeModeSlideYES
  • Patch bootloader to have KASLR enabled in safe mode.
  • This quirk requires ProvideCustomSlide to be enabled.
  • This quirk can be helpful if you're unable to boot into safe mode.
EnableWriteUnprotectorYES
  • Allows write access to UEFI runtime services code.
  • This quirk may potentially weaken firmware security, please use RebuildAppleMemoryMap if the firmware supports memory attributes table (MAT)
ProvideCustomSlideYES
  • Provide custom KASLR slide on low memory.
  • This option forces macOS to use a pseudo random value among the available ones.
SetupVirtualMapYES
  • Setup virtual memory at SetVirtualAddresses.
  • Fixes several virtual address issues and tends to fix early Kernel Panics.
  • The necessity of this quirk is determined by early boot failures. Currently, new firmware with memory protection support (such as OVMF) do not support this quirk.
ProvideMaxSlide0
  • Provide maximum KASLR slide when higher ones are unavailable.

Note:
The values which have been not discussed above, that will remain disabled.


DeviceProperties



This section is used for adding device properties. This includes PCI Devices information such as Graphics, Audio, WiFi, Ethernet and other controllers.

Note:
For an Ivy Bridge-E System, this section requires no modification and will remain untouched.


Kernel



This section is for adding and blocking kexts. The sub-sections are explained below.

Add
This section is used to add kexts, in what order to load and defines the architecture of each kext(s).

The required kexts for an Ivy Bridge-E system includes:

ArchBundlePath*ExecutablePathPlistPathEnabledNotes
AnyLilu.kext**Contents/MacOS/LiluContents/Info.plistYES
  • Provides arbitrary patching.
AnyVirtualSMC.kext**Contents/MacOS/VirtualSMCContents/Info.plistYES
  • Emulates Apple hardware.
  • VirtualSMC is a successor of FakeSMC.
  • This kext requires Lilu.kext to function.
AnyWhateverGreen.kext**Contents/MacOS/WhateverGreenContents/Info.plistYES
  • Provides GPU patching on macOS.
  • This kext requires Lilu.kext to function.
AnyAppleALC.kext**Contents/MacOS/AppleALCContents/Info.plistYES
  • Enables onboard/built-in Audio.
  • This kext requires Lilu.kext to function.
AnyUSBInjectAll.kextContents/MacOS/USBInjectAllContents/Info.plistYES
  • Enables USB ports.
  • It's advised to map the USB ports during the post-install for a better USB speed, improved and sleep/wake.

Notes:
  • All the plugins must load after loading it's dependencies otherwise the kext will no longer function even when loaded in OS X/macOS.
  • The mandatory kexts must be loaded in sorted order as shown in the above table.
  • *Indicates BundlePath i.e. Name of the Kext
  • **Indicates mandatory kexts.
  • All the added kexts must exists in the EFI/OC/Kexts directory.
  • The options which have been not discussed above, that will remain untouched.
To find the Executable Path and Plist path of kexts, follow the guide below

Block
This section allows to block kexts from loading.

Note:
For an Ivy Bridge-E System, this section requires no modification and will remain untouched.


Force

This section allows to force kexts from loading.

Note:
For an Ivy Bridge-E System, this section requires no modification and will remain untouched.


Patch
This section allows patching for Kernel and Kexts.

Note:
For an Ivy Bridge-E System, this section requires no modification and will remain untouched.


Emulate
This section allows to spoof your CPU ID if you're using any unsupported CPU such as Intel Pentium(s) and Celeron(s).

Scheme
This section allows settings related to Kernel. These settings are relevant for older Mac Operating Systems.

The required settings for an Ivy Bridge-E system includes:

OptionsValueNotes
FuzzyMatchYES
  • Enables checksum ignore with kernel cache instead of using latest cache available.
  • This setting allows matching the latest kernel cache with a suitable architecture when the kernel cache without suffix is unavailable, improving macOS 10.6 boot performance on several platforms.
  • This option is required for macOS Big Sur.
KernelArchAuto
  • Determines Kernel Architecture.
  • It's recommended to set this option to "Auto" and let OS X/macOS decide the Kernel Architecture.
KernelCacheAuto
  • Determines Kernel Cache.
  • It's recommended to set this option as Auto.

Quirks
This section allows to apply certain Kernel quirks. It provides settings related to Kernel and several other options related to BIOS/UEFI and USB ports.

The required settings for an Ivy Bridge-E system includes:

QuirksValueNotes
AppleCpuPmCfgLockYES
  • Disables PKG_CST_CONFIG_CONTROL (0xE2) MSR modification in AppleIntelCPUPowerManage- ment.kext, commonly causing early kernel panic, when it is locked from writing.
  • Enable this quirk if you cannot disable CFG-Lock in BIOS/UEFI.
AppleXcpmCfgLockYES
  • Disables PKG_CST_CONFIG_CONTROL (0xE2) MSR modification in XNU kernel, commonly causing early kernel panic, when it is locked from writing (XCPM power management).
  • Enable this quirk if you cannot disable CFG-Lock in BIOS/UEFI.
AppleXcpmExtraMsrsYES
  • Disables multiple MSR access needed for unsupported CPUs like Pentiums and several Xeon CPUs.
  • It's recommended to enable this quirk.
CustomBIOSGuidNO
  • Performs GUID patching for UpdateSMBIOSMode Custom mode.
  • If you're having a Dell Motherboard, it's recommended to use CustomBIOSGuid quirk.
  • When using this option, you must set UpdateSMBIOSMode to Custom in PlatformInfo section.
DisableIoMapperYES
  • Disables IOMapper support in XNU (VT-d), which may conflict with the firmware implementation.
  • This option is a preferred alternative to deleting DMAR ACPI table and disabling VT-d in firmware preferences, which does not break VT-d support in other systems in case they need it.
  • Enable this quirk if you cannot disable VT-d in BIOS/UEFI.
LapicKernelPanicNO
  • Disables kernel panic on AP core lapic interrupt.
  • Equivalent to Clover's Kernel LAPIC.
  • If you're using an HP Motherboard, you'll need to enable this quirk.
PanicKNoextDumpYES
  • Prevent kernel from printing kext dump in the panic log preventing from observing panic details.
PowerTimeoutKernelPanicYES
  • Disables kernel panic on setPowerState timeout.
  • Fixes kernel panics related to power changes with Apple drivers in macOS Catalina, most notably with digital audio.
XhciPortLimitYES
  • Enables 15 port limit patch.
  • This quirk is a temporary solution and is advised to map your USB ports during post-installation.
DisableRtcChecksumNO
  • Prevents AppleRTC from writing to primary checksum (0x58-0x59). Required for users who receives safe mode or BIOS reset error after reboot/shutdown. Mainly required for ASUS Motherboards. Do NOT use this quirk is you don't have such encounters.
DisableLinkeditJettisonYES
  • Disables __LINKEDIT jettison code.
  • Provides more reliable performance without keepsyms=1
  • This quirk is required for macOS Big Sur.

Note:
The values which have been not discussed above, that will remain disabled.


Misc



This section provides settings related to GUI, drive entries and debug.

Boot
This section mainly provide functions for OpenCore GUI.

The required settings for an Ivy Bridge-E system includes:

OptionsValueNotes
Picker Mode
  • Builtin
  • External
  • Apple
  • Sets Boot Picker Mode used for Boot Management
Builtin
  • Sets text only user interface for OpenCore menu.
External
  • Enables external theme.
  • If you have Themes installed, set this option to External.
Apple
  • Sets Apple Boot Theme, if available
Picker Attributes0
  • Sets specific attributes for picker

Debug
This section allows debug functions for boot.

The required settings for an Ivy Bridge-E system includes:

OptionsValueNotes
Target
  • 0
  • 67
  • A bitmask (sum) of enabled logging targets. By default all the logging output is hidden, so this option is required to be set when debugging is necessary.
0
  • If you're using RELEASE version of OpenCore, set this option to 0.
67
  • Enables logging and provides more debug information.
  • Using this option requires Debug version of OpenCore.
Disable WatchDogYES
  • Some types of firmware may not succeed in booting the operating system quickly, especially in debug mode, which results in the watchdog timer aborting the process.
  • This option turns off the watchdog timer.
  • This option also fixes Kernel Panic due to watchdog timeout.
  • It's recommended to set this option to "enabled."
AppleDebugYES
  • Enables boot.efi logging to OpenCore log, useful for debugging.
  • This option only applies to 10.15.4 and newer.
ApplePanicYES
  • Saves Kernel Panic log to OpenCore partition.


Security
This section controls security related settings such as FileVault, Boot Protect and Secure Boot functions.

The required settings for an Ivy Bridge-E system includes:

OptionsValueNotes
Scan Policy0
  • Define operating system detection policy.
0
  • Enables all drive at OpenCore menu.
Vault
  • Optional
  • Basic
  • Secure
  • Provides File Vault function.
Optional
  • Requires nothing, no vault is enforced, insecure.
  • It's recommended to set this option to Optional.
Basic
  • Requires vault.plist file present in OC directory.
  • This provides basic filesystem integrity verification and may protect from unintentional filesystem corruption.
Secure
  • Requires vault.sig signature file for vault.plist in OC directory.
  • This includes Basic integrity checking but also attempts to build a trusted boot chain.
BootProtect
  • None
  • Boostrap
  • Attempt to provide bootloader persistence
None
  • Enables usage of Bootstrap.efi in the directory EFI/OC/Bootstrap instead of BOOTx64.efi.
  • This setting is helpful for users using rEFInd to boot or avoid BOOTx64.efi overwrites from Windows.
Bootstrap
  • For this option to work RequestBootVarRouting is required to be enabled.
  • Use of Bootstrap option will also enable "OpenCore" instead of UEFI: OS followed by your drive name in Boot Menu.
DmgLoading
  • Disabled
  • Signed
  • Any
  • Define Disk Image (DMG) loading policy used for macOS Recovery.
Disabled
  • Disables loading of DMG images.
  • Disabled policy will still let macOS Recovery to load in most cases as there usually are boot.efi files compatible with Apple Secure Boot.
  • Manually downloaded DMG images stored in com.apple.recovery.boot directories will not load.
Signed
  • Enables only Apple-signed DMG images will load. Due to Apple Secure Boot design Signed policy will let any Apple-signed macOS Recovery to load regardless of Apple Secure Boot state, which may not always be desired.
  • It's recommended to set this option to "Signed" to avoid issues.
Any
  • Enables any DMG images will mount as normal filesystems.
  • Any policy is strongly not recommended and will cause a boot failure when Apple Secure Boot is activated.
SecureBootModel
  • Default
  • Disabled
  • Defines Apple Secure Boot hardware model.
  • Sets Apple Secure Boot hardware model and policy.
  • Specifying this value defines which operating systems will be bootable.
  • Operating systems shipped before the specified model was released will not boot.

Default
  • Enables Default Secure Boot.
  • Recent available model, currently set to j137
Disabled
  • Disables Secure Boot.
  • It's advised to set this option as "Disabled" to avoid booting issues.
AllowNvramResetYES
  • Enables NVRAM reset when pressing Command+Option+P+R
  • Enables NVRAM Reset entry in boot picker.
  • It's recommended to set this option to "Enabled."
AllowSetDefaultYES
  • Allows to set default boot device in the boot picker using CTRL+Enter and CTRL+Index.


Bless Overrides
This section is used for adding custom scanning paths through bless model.

Note:
For an Ivy Bridge-E System, this section requires no modification and will remain untouched.


Entries

This section is used to create boot entries when having multi boot and OpenCore fails to recognise it.

Note:
For an Ivy Bridge-E System, this section requires no modification and will remain untouched.


Tools
This section is used for running debugging tools such as UEFI Shell.

Note:
For an Ivy Bridge-E System, this section requires no modification and will remain untouched.



NVRAM



This section is for adding NVRAM properties, boot args and configuring SIP. The sub-sections are explained below.

Add
This section has various settings including UI, boot args, keyboard input, NVRAM settings and System Integrity Protection.

The required NVRAM properties for an Ivy Bridge-E system includes:

UUIDKeyValueTypeNotes
7C436110-AB2A-4BBB-A880-FE41995C9F82boot-args
  • -v
  • npci=0x2000
  • agdpmod=pikera
  • alcid=xx
  • debug=0x100
  • keepsyms=1
STRING
  • Adds boot args which provides several functions.
-v
  • Enables verbose mode. Helpful to track the installation progress or when booting.
  • We recommend to use this boot arg.
npci=0x2000
  • Disables PCI debugging related to kIOPCIConfiguratorPFM64.
  • This issue can also fix stuck on "PCI Start Configuration Begin" as there are IRQ conflicts relating to PCI lanes.
agdpmod=pikera
  • Fixes Black Screen at boot for NAVI GPUs.
  • If you're using and AMD NAVI based GPU, you'll need to use this boot arg.
alcid=xx
  • Sets Layout ID for AppleALC.
  • The xx represents the layout ID for your codec.
debug=0x100
  • This disables macOS's watchdog which helps prevents a reboot on a kernel panic.
keepsyms=1
  • This is a companion setting to debug=0x100 that tells the OS to also print the symbols on a kernel panic.
  • This can give some more helpful insight as to what's causing the panic itself.
nvda_drv31DATA
  • Enables NVIDIA WebDrivers.
  • Equivalent to Clover's NVIDIAWeb option in System Parameters.
  • If you're using an NVIDIA GPU, you'll need to use this key.
csr-active-config
  • 00000000
DATA
  • Defines SIP type.
00000000
  • Enables SIP completely. (0x0)
  • It's advised to configure SIP via recovery using "csrutil."
  • For more information on SIP, check the SIP disabling guide.
prev-lang:kbden-US:0STRING
  • Sets Keyboard language.


Delete
Removes NVRAM variables from a map (plist dict) of GUIDs to an array (plist array) of variable names in plist string format.

Note:
For an Ivy Bridge-E System, this section requires no modification and will remain untouched.


LegacySchema
This section is used for assigning NVRAM variables, used with LegacyEnable set to YES.
Enables loading of NVRAM variable file named nvram.plist from EFI volume root

Note:
For an Ivy Bridge-E System, this section requires no modification and will remain untouched.


OptionValueNotes
WriteFlashYES
  • Enables writing off added Variables to flash memory
  • It is recommended to have this value enabled on most types of firmware but it is left configurable for firmware that may have issues with NVRAM variable storage garbage collection or similar.

Note:
The values which have been not discussed above, that will remain disabled.



PlatformInfo



This section allows to set SMBIOS. It's an important section and has various impact on your system. The sub-sections are explained below.

DatHub - Generic - PlatformNVRAM

DataHub

OptionValueNotes
Add this section in config.plistYESAdds DataHub field

Generic

The required NVRAM properties for an Ivy Bridge-E system includes:


OptionsValueNotes
Add this section in config.plistYESAdds Generic field
from SMBIOSYES
ProcessorType0
  • Sets SMBIOS Processor Type.
  • This will override your actual CPU type.
  • It's recommended to set this option to "0" to detect the original CPU by macOS instead of using SMBIOS CPU Type.
SystemMemoryStatusAuto
  • Indicates whether system memory is upgradable in PlatformFeature. This controls the visibility of the Memory tab in About This Mac.
Auto
  • Use the original PlatformFeature value.
  • It's recommended to set this option to "Auto."
Upgradable
  • Explicitly unset PT_FEATURE_HAS_SOLDERED_SYSTEM_MEMORY (0x2) in PlatformFeature.
Soldered
  • explicitly set PT_FEATURE_HAS_SOLDERED_SYSTEM_MEMORY (0x2) in PlatformFeature.
SpoofVendorYESSets SMBIOS vendor fields to Acidanthera

PlatformNVRAM

OptionValueNote
Add this section in config.plistYESAdds PlatformNVRAM field

Memory
This section allows to configure settings for your RAM.

To configure your memory settings, a separate thread is available


SMBIOS

OptionValueNote
Add this section in config.plistYESAdd SMBIOS field.

System

Note:
For an Ivy Bridge-E System, this section requires no modification and will remain untouched.

BIOS

Note:
For an Ivy Bridge-E System, this section requires no modification and will remain untouched.


Chassis

Note:
For an Ivy Bridge-E System, this section requires no modification and will remain untouched.


Board



OptionsValueNot
AutomaticYES
  • Generate PlatformInfo based on Generic section instead of using values from DataHub, NVRAM, and SMBIOS sections.
UpdateDatHubYES
  • Update Data Hub fields. These fields are read from Generic or DataHub sections depending on Automatic value.
UpdateNVRAMYES
  • Update NVRAM fields related to platform information.
UpdateSMBIOSYES
  • Update SMBIOS fields. These fields are read from Generic or SMBIOS sections depending on Automatic value.
UpdateSMBIOSMode
  • Auto
  • Create
  • Overwrite
  • Custom
  • Update SMBIOS fields approach
Auto
  • Sets SMBIOS Mode to Auto
Create
  • Sets SMBIOS Mode to Create
Overwrite
  • Sets SMBIOS Mode to Overwrite
Custom
  • Sets SMBIOS Mode to Custom
If you're having a Dell Motherboard, it's advised to use Custom option.
When using this option, you must set CustomSMBIOSGuid quirk in Kernel section.
CustomMemoryNO
  • Use custom memory configuration defined in the Memory section. This completely replaces any existing memory configuration in SMBIOS, and is only active when UpdateSMBIOS is set to true.


UEFI


This section is for adding UEFI drivers and related settings.

APFS
Provides APFS settings for APFS Driver.

The required settings for an Ivy Bridge-E system includes:

OptionValueNotes
JumpStartHotplugNO
  • Load APFS drivers for newly connected devices.
  • Enables Hot plug of APFS drives in boot picker.
  • It's advised to disable this option unless required.


Audio
Provides Audio related settings for Audiodxe Driver and Boot Chime.

Notes:
  • The Audio section in UEFI section is unrelated to Audio function on Mac.
  • This setting is important for Boot Chime. It's advised to setup this section during Post-Installation.
To enable Boot chime, follow the guide below.


Drivers
This section is for adding .efi drivers.

The required drivers for an Ivy Bridge-E system includes:

DriversValueNotes
AudioDxe.efiYES
  • Provides Boot Chime support
  • If you want to use Boot Chime, you need this driver.
OpenCanopy.efi*YES
  • Provides GUI functionality for OpenCore Boot screen.
  • This driver is required if you need GUI or theme for OpenCore.
OpenRuntime.efi*YES
  • Runtime driver including several other drivers merged such as ApfsDriverLoader.
  • OpenRuntime.efi is a replacement for AptioMemoryFix.efi driver.
HFSPlus.efi*YES
  • Provides reading of HFS+ Volumes/drives in OpenCore Boot Picker.
  • Without HFSPlus.efi driver, you won't be able to see any HFS+ volumes including your USB installer and installation drive for macOS Sierra and prior in OpenCore boot picker.

Notes:
  • *Indicates Mandatory Drivers.
  • All the added drivers must exists in the EFI/OC/Drivers directory.

OptionValueNote
Connect DriversYES
  • Specifies and adds the drivers for booting.

Input
This section provides settings for FileVault and Hotkey support for Keyboard passthrough.

Notes:
  • Normally, this section requires no modification and will remain untouched.
If you want to enable FileVault, follow the guide below.

Output
This section provides settings for OpenCore GUI.

Note:
Normally, this section requires no modification and will remain untouched.


ProtocolsOverride

This section provides settings for Virtual machines, legacy Macs and FileVault users.

Note:
Normally, this section requires no modification and will remain untouched.

If you want to enable FileVault, follow the guide below.


ReservedMemory
This section is used for exempting certain memory regions from OS(s) to use, mainly relevant for Sandy Bridge iGPUs or systems with faulty memory.

Note:
For an Ivy Bridge-E System, this section requires no modification and will remain untouched.


Quirks
The required Quirks for an Ivy Bridge-E system includes:


OptionsValueNotes
IgnoreInvalidFlexRatioYES
  • Some types of firmware (such as APTIO IV) may contain invalid values in the MSR_FLEX_RATIO (0x194) MSR register. These values may cause macOS boot failures on Intel platforms.
  • This quirk is required for all pre-Skylake based systems.
ReleaseUsbOwnershipYES
  • Attempt to detach USB controller ownership from the firmware driver. While most types of firmware manage to do that properly, or at least have an option for this, some do not. As a result, the operating system may freeze upon boot.
  • It's recommended to enable this quirk.
RequestBootVarRootingYES
  • Redirects AptioMemoryFix from EFI_GLOBAL_VARIABLE_GUID to OC_VENDOR_VARIABLE_GUID.
  • This quirk is required for using the Startup Disk preference pane in firmwares that is not compatible with macOS boot entries.
  • It's recommended to enable this quirk on all systems.
UnblockFsConnectNO
  • Some types of firmware block partition handles by opening them in By Driver mode, resulting in being unable to install File System protocols.
  • If you're using an HP Motherboard, you'll need to enable this quirk.
DuplicateBootOrderYES
  • Remove duplicate entries in BootOrder variable in EFI_GLOBAL_VARIABLE_GUID.
  • This quirk fixes duplicate boot order in Boot Menu.

Note:
The values which have been not discussed above, that will remain disabled.
 

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
2,696
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
How to create a config.plist for booting macOS on Intel Desktops [OpenCore]

Haswell-E


SupportCompatibilityNotes
macOSmacOS High Sierra and above
IGPU SupportNo IGPU found on Intel Haswell-E lineup.As there's no IGPU in this lineup, to drive a display, you'll need to use any supported Graphics Card.


ACPI


This section is for loading, blocking and patching the ACPI tables. The sub-sections are explained below.

Add
This section is for adding the DSDT and SSDT files for your system. This basically includes USB and CPU Power Management SSDT.

The required SSDTs for a Haswell-E system includes:

Path*ValueNotes
SSDT-ECUSBXYES
  • This SSDT is required for EC and USB Power.
  • This SSDT is required for proper USB Power.
  • This SSDT fixes EC and USB Power.
SSDT-RTC0-RANGEYES
  • This SSDT maps all ports in RTC Device.
  • This SSDT is required for all X99 and X299 Motherboards.
  • This SSDT can also fix stuck at "PCI Configuration begin" error while booting the installer.
SSDT-UNCYES
  • This SSDT is required for disabling unused devices in the ACPI.
  • This SSDT prevents IOPCIFamily Kernel Panic for macOS Big Sur.
  • This SSDT is required for macOS Big Sur.
SSDT-PLUGYES
  • This SSDT enables Power Management function.
  • It can fix potential issues such as sleep/wake function and performance.
  • This SSDT is required for a proper CPU and GPU Power Management.
  • If you're using NVIDIA GPU, it's advised to enable NVIDIA discrete GPU Power Management.

Note:
You can add your add-on DSDT or SSDTs here when performing Post-Install.


Delete

This section allows to block the ACPI tables from loading.

For a Haswell-E System, this section requires no modification and will remain untouched.

Patch

This section is used for device renames such as USB, Graphics and Audio. You can implement the necessary ACPI patches for optimising the ACPI system components with DSDT and SSDT. This section is important when doing Hot-patch.

The required renames for a Haswell-E system includes:

Table Signature*FindReplaceCommentEnabledNotes
DSDT4548433145483031Rename EHC1 to EH01 (USB)*YES
  • Renames EHC1 to EH01 for proper USB functioning.
  • This rename is required for fixing USB Ports with EHCI Controller.
DSDT4548433245483032*Rename EHC2 to EH02 (USB)*YES
  • Renames EHC2 to EH02 for proper USB functioning.
  • This rename is required for fixing USB Ports with EHCI Controller.
DSDT4844415348444546Rename HDAS to HDEF (Audio)YES
  • Renames HDAS to HDEF for Audio.
  • This rename is required for implementing Audio Function.
  • For Branded Systems, you may need to patch your DSDT. For more information on Audio implementation, read here.

Notes:
  • The EHC renames must be used in the conjunction to enable the proper USB renaming.
  • *Requires both renames for full function.

Quirks
This section allows to apply certain ACPI quirks.

Note:
For a Haswell-E System, this section requires no modification and will remain untouched.


Booter



This section is used for booting and provides firmware fixes in relation to boot.efi. The sub-sections are explained below.

MmioWhitelist
Designed to be filled with plist dict values, describing addresses critical for particular firmware functioning when DevirtualiseMmio quirk is in use.

Note:
For a Haswell-E System, this section requires no modification and will remain untouched.


Quirks
This section allows to apply certain Booter quirks.

The required Booter Quirks for a Haswell-E system includes:

QuirksValueNotes
AvoidRunTimeDefragYES
  • Fixes certain UEFI runtime services such as date time, NVRAM, power control, etc.
  • Apart from Apple and VMware, this quirk is required by rest of the firmwares
EnableSafeModeSlideYES
  • Patch bootloader to have KASLR enabled in safe mode.
  • This quirk requires ProvideCustomSlide to be enabled.
  • This quirk can be helpful if you're unable to boot into safe mode.
EnableWriteUnprotectorYES
  • Allows write access to UEFI runtime services code.
  • This quirk may potentially weaken firmware security, please use RebuildAppleMemoryMap if the firmware supports memory attributes table (MAT)
ProvideCustomSlideYES
  • Provide custom KASLR slide on low memory.
  • This option forces macOS to use a pseudo random value among the available ones.
SetupVirtualMapYES
  • Setup virtual memory at SetVirtualAddresses.
  • Fixes several virtual address issues and tends to fix early Kernel Panics.
  • The necessity of this quirk is determined by early boot failures. Currently, new firmware with memory protection support (such as OVMF) do not support this quirk.
ProvideMaxSlide0
  • Provide maximum KASLR slide when higher ones are unavailable.

Note:
The values which have been not discussed above, that will remain disabled.


DeviceProperties



This section is used for adding device properties. This includes PCI Devices information such as Graphics, Audio, WiFi, Ethernet and other controllers.

Note:
For a Haswell-E System, this section requires no modification and will remain untouched.


Kernel



This section is for adding and blocking kexts. The sub-sections are explained below.

Add
This section is used to add kexts, in what order to load and defines the architecture of each kext(s).

The required kexts for a Haswell-E system includes:

ArchBundlePath*ExecutablePathPlistPathEnabledNotes
AnyLilu.kext**Contents/MacOS/LiluContents/Info.plistYES
  • Provides arbitrary patching.
AnyVirtualSMC.kext**Contents/MacOS/VirtualSMCContents/Info.plistYES
  • Emulates Apple hardware.
  • VirtualSMC is a successor of FakeSMC.
  • This kext requires Lilu.kext to function.
AnyWhateverGreen.kext**Contents/MacOS/WhateverGreenContents/Info.plistYES
  • Provides GPU patching on macOS.
  • This kext requires Lilu.kext to function.
AnyAppleALC.kext**Contents/MacOS/AppleALCContents/Info.plistYES
  • Enables onboard/built-in Audio.
  • This kext requires Lilu.kext to function.
AnyUSBInjectAll.kextContents/MacOS/USBInjectAllContents/Info.plistYES
  • Enables USB ports.
  • It's advised to map the USB ports during the post-install for a better USB speed, improved and sleep/wake.

Notes:
  • All the plugins must load after loading it's dependencies otherwise the kext will no longer function even when loaded in OS X/macOS.
  • The mandatory kexts must be loaded in sorted order as shown in the above table.
  • *Indicates BundlePath i.e. Name of the Kext
  • **Indicates mandatory kexts.
  • All the added kexts must exists in the EFI/OC/Kexts directory.
  • The options which have been not discussed above, that will remain untouched.
To find the Executable Path and Plist path of kexts, follow the guide below

Block
This section allows to block kexts from loading.

Note:
For a Haswell-E System, this section requires no modification and will remain untouched.


Force

This section allows to force kexts from loading.

Note:
For a Haswell-E System, this section requires no modification and will remain untouched.


Patch
This section allows patching for Kernel and Kexts.

Note:
For a Haswell-E System, this section requires no modification and will remain untouched.


Emulate

This section allows to spoof your CPU ID if you're using any unsupported CPU such as Intel Pentium(s) and Celeron(s). If you're using any unsupported CPU, you may need to add a FakeCPU ID in order to boot the system. You can find the CPU ID for various unsupported CPUs listed below.

This section also allows to add dummy power management to prevent AppleIntelCPUPowerManagement Kernel Panic.

CPUCpuid1DataCpuid1MaskNotes
Intel Haswell-EC3060300 00000000 00000000 00000000FFFFFFFF 00000000 00000000 00000000
  • This is required for enabling Power Management

Scheme
This section allows settings related to Kernel. These settings are relevant for older Mac Operating Systems.

The required settings for a Haswell-E system includes:

OptionsValueNotes
FuzzyMatchYES
  • Enables checksum ignore with kernel cache instead of using latest cache available.
  • This setting allows matching the latest kernel cache with a suitable architecture when the kernel cache without suffix is unavailable, improving macOS 10.6 boot performance on several platforms.
  • This option is required for macOS Big Sur.
KernelArchAuto
  • Determines Kernel Architecture.
  • It's recommended to set this option to "Auto" and let OS X/macOS decide the Kernel Architecture.
KernelCacheAuto
  • Determines Kernel Cache.
  • It's recommended to set this option as Auto.

Quirks
This section allows to apply certain Kernel quirks. It provides settings related to Kernel and several other options related to BIOS/UEFI and USB ports.

The required settings for a Haswell-E system includes:

QuirksValueNotes
AppleCpuPmCfgLockYES
  • Disables PKG_CST_CONFIG_CONTROL (0xE2) MSR modification in AppleIntelCPUPowerManage- ment.kext, commonly causing early kernel panic, when it is locked from writing.
  • Enable this quirk if you cannot disable CFG-Lock in BIOS/UEFI.
AppleXcpmCfgLockYES
  • Disables PKG_CST_CONFIG_CONTROL (0xE2) MSR modification in XNU kernel, commonly causing early kernel panic, when it is locked from writing (XCPM power management).
  • Enable this quirk if you cannot disable CFG-Lock in BIOS/UEFI.
AppleXcpmExtraMsrsYES
  • Disables multiple MSR access needed for unsupported CPUs like Pentiums and several Xeon CPUs.
  • It's recommended to enable this quirk.
CustomBIOSGuidNO
  • Performs GUID patching for UpdateSMBIOSMode Custom mode.
  • If you're having a Dell Motherboard, it's recommended to use CustomBIOSGuid quirk.
  • When using this option, you must set UpdateSMBIOSMode to Custom in PlatformInfo section.
DisableIoMapperYES
  • Disables IOMapper support in XNU (VT-d), which may conflict with the firmware implementation.
  • This option is a preferred alternative to deleting DMAR ACPI table and disabling VT-d in firmware preferences, which does not break VT-d support in other systems in case they need it.
  • Enable this quirk if you cannot disable VT-d in BIOS/UEFI.
LapicKernelPanicNO
  • Disables kernel panic on AP core lapic interrupt.
  • Equivalent to Clover's Kernel LAPIC.
  • If you're using an HP Motherboard, you'll need to enable this quirk.
PanicKNoextDumpYES
  • Prevent kernel from printing kext dump in the panic log preventing from observing panic details.
PowerTimeoutKernelPanicYES
  • Disables kernel panic on setPowerState timeout.
  • Fixes kernel panics related to power changes with Apple drivers in macOS Catalina, most notably with digital audio.
XhciPortLimitYES
  • Enables 15 port limit patch.
  • This quirk is a temporary solution and is advised to map your USB ports during post-installation.
DisableRtcChecksumNO
  • Prevents AppleRTC from writing to primary checksum (0x58-0x59). Required for users who receives safe mode or BIOS reset error after reboot/shutdown. Mainly required for ASUS Motherboards. Do NOT use this quirk is you don't have such encounters.
DisableLinkeditJettisonYES
  • Disables __LINKEDIT jettison code.
  • Provides more reliable performance without keepsyms=1
  • This quirk is required for macOS Big Sur.

Note:
The values which have been not discussed above, that will remain disabled.


Misc



This section provides settings related to GUI, drive entries and debug.

Boot
This section mainly provide functions for OpenCore GUI.

The required settings for a Haswell-E system includes:

OptionsValueNotes
Picker Mode
  • Builtin
  • External
  • Apple
  • Sets Boot Picker Mode used for Boot Management
Builtin
  • Sets text only user interface for OpenCore menu.
External
  • Enables external theme.
  • If you have Themes installed, set this option to External.
Apple
  • Sets Apple Boot Theme, if available
Picker Attributes0
  • Sets specific attributes for picker

Debug
This section allows debug functions for boot.

The required settings for a Haswell-E system includes:

OptionsValueNotes
Target
  • 0
  • 67
  • A bitmask (sum) of enabled logging targets. By default all the logging output is hidden, so this option is required to be set when debugging is necessary.
0
  • If you're using RELEASE version of OpenCore, set this option to 0.
67
  • Enables logging and provides more debug information.
  • Using this option requires Debug version of OpenCore.
Disable WatchDogYES
  • Some types of firmware may not succeed in booting the operating system quickly, especially in debug mode, which results in the watchdog timer aborting the process.
  • This option turns off the watchdog timer.
  • This option also fixes Kernel Panic due to watchdog timeout.
  • It's recommended to set this option to "enabled."
AppleDebugYES
  • Enables boot.efi logging to OpenCore log, useful for debugging.
  • This option only applies to 10.15.4 and newer.
ApplePanicYES
  • Saves Kernel Panic log to OpenCore partition.


Security
This section controls security related settings such as FileVault, Boot Protect and Secure Boot functions.

The required settings for a Haswell-E system includes:

OptionsValueNotes
Scan Policy0
  • Define operating system detection policy.
0
  • Enables all drive at OpenCore menu.
Vault
  • Optional
  • Basic
  • Secure
  • Provides File Vault function.
Optional
  • Requires nothing, no vault is enforced, insecure.
  • It's recommended to set this option to Optional.
Basic
  • Requires vault.plist file present in OC directory.
  • This provides basic filesystem integrity verification and may protect from unintentional filesystem corruption.
Secure
  • Requires vault.sig signature file for vault.plist in OC directory.
  • This includes Basic integrity checking but also attempts to build a trusted boot chain.
BootProtect
  • None
  • Boostrap
  • Attempt to provide bootloader persistence
None
  • Enables usage of Bootstrap.efi in the directory EFI/OC/Bootstrap instead of BOOTx64.efi.
  • This setting is helpful for users using rEFInd to boot or avoid BOOTx64.efi overwrites from Windows.
Bootstrap
  • For this option to work RequestBootVarRouting is required to be enabled.
  • Use of Bootstrap option will also enable "OpenCore" instead of UEFI: OS followed by your drive name in Boot Menu.
DmgLoading
  • Disabled
  • Signed
  • Any
  • Define Disk Image (DMG) loading policy used for macOS Recovery.
Disabled
  • Disables loading of DMG images.
  • Disabled policy will still let macOS Recovery to load in most cases as there usually are boot.efi files compatible with Apple Secure Boot.
  • Manually downloaded DMG images stored in com.apple.recovery.boot directories will not load.
Signed
  • Enables only Apple-signed DMG images will load. Due to Apple Secure Boot design Signed policy will let any Apple-signed macOS Recovery to load regardless of Apple Secure Boot state, which may not always be desired.
  • It's recommended to set this option to "Signed" to avoid issues.
Any
  • Enables any DMG images will mount as normal filesystems.
  • Any policy is strongly not recommended and will cause a boot failure when Apple Secure Boot is activated.
SecureBootModel
  • Default
  • Disabled
  • Defines Apple Secure Boot hardware model.
  • Sets Apple Secure Boot hardware model and policy.
  • Specifying this value defines which operating systems will be bootable.
  • Operating systems shipped before the specified model was released will not boot.

Default
  • Enables Default Secure Boot.
  • Recent available model, currently set to j137
Disabled
  • Disables Secure Boot.
  • It's advised to set this option as "Disabled" to avoid booting issues.
AllowNvramResetYES
  • Enables NVRAM reset when pressing Command+Option+P+R
  • Enables NVRAM Reset entry in boot picker.
  • It's recommended to set this option to "Enabled."
AllowSetDefaultYES
  • Allows to set default boot device in the boot picker using CTRL+Enter and CTRL+Index.


Bless Overrides
This section is used for adding custom scanning paths through bless model.

Note:
For a Haswell-E System, this section requires no modification and will remain untouched.


Entries

This section is used to create boot entries when having multi boot and OpenCore fails to recognise it.

Note:
For a Haswell-E System, this section requires no modification and will remain untouched.


Tools
This section is used for running debugging tools such as UEFI Shell.

Note:
For a Haswell-E System, this section requires no modification and will remain untouched.



NVRAM



This section is for adding NVRAM properties, boot args and configuring SIP. The sub-sections are explained below.

Add
This section has various settings including UI, boot args, keyboard input, NVRAM settings and System Integrity Protection.

The required NVRAM properties for a Haswell-E system includes:

UUIDKeyValueTypeNotes
7C436110-AB2A-4BBB-A880-FE41995C9F82boot-args
  • -v
  • npci=0x2000
  • alcid=xx
  • agdpmod=pikera
  • debug=0x100
  • keepsyms=1
STRING
  • Adds boot args which provides several functions.
-v
  • Enables verbose mode. Helpful to track the installation progress or when booting.
  • We recommend to use this boot arg.
npci=0x2000
  • Disables PCI debugging related to kIOPCIConfiguratorPFM64.
  • This issue can also fix stuck on "PCI Start Configuration Begin" as there are IRQ conflicts relating to PCI lanes.
agdpmod=pikera
  • Fixes Black Screen at boot for NAVI GPUs.
  • If you're using and AMD NAVI based GPU, you'll need to use this boot arg.
alcid=xx
  • Sets Layout ID for AppleALC.
  • The xx represents the layout ID for your codec.

debug=0x100
  • This disables macOS's watchdog which helps prevents a reboot on a kernel panic.
keepsyms=1
  • This is a companion setting to debug=0x100 that tells the OS to also print the symbols on a kernel panic.
  • This can give some more helpful insight as to what's causing the panic itself.
nvda_drv31DATA
  • Enables NVIDIA WebDrivers.
  • Equivalent to Clover's NVIDIAWeb option in System Parameters.
  • If you're using an NVIDIA GPU, you'll need to use this key.
csr-active-config
  • 00000000
DATA
  • Defines SIP type.
00000000
  • Enables SIP completely. (0x0)
  • It's advised to configure SIP via recovery using "csrutil."
  • For more information on SIP, check the SIP disabling guide.
prev-lang:kbden-US:0STRING
  • Sets Keyboard language.


Delete
Removes NVRAM variables from a map (plist dict) of GUIDs to an array (plist array) of variable names in plist string format.

Note:
For a Haswell-E System, this section requires no modification and will remain untouched.


LegacySchema
This section is used for assigning NVRAM variables, used with LegacyEnable set to YES.
Enables loading of NVRAM variable file named nvram.plist from EFI volume root

Note:
For a Haswell-E System, this section requires no modification and will remain untouched.


OptionValueNotes
WriteFlashYES
  • Enables writing off added Variables to flash memory
  • It is recommended to have this value enabled on most types of firmware but it is left configurable for firmware that may have issues with NVRAM variable storage garbage collection or similar.

Note:
The values which have been not discussed above, that will remain disabled.



PlatformInfo



This section allows to set SMBIOS. It's an important section and has various impact on your system. The sub-sections are explained below.

DatHub - Generic - PlatformNVRAM

DataHub

OptionValueNotes
Add this section in config.plistYESAdds DataHub field

Generic

The required NVRAM properties for a Haswell-E system includes:


OptionsValueNotes
Add this section in config.plistYESAdds Generic field
from SMBIOSYES
ProcessorType0
  • Sets SMBIOS Processor Type.
  • This will override your actual CPU type.
  • It's recommended to set this option to "0" to detect the original CPU by macOS instead of using SMBIOS CPU Type.
SystemMemoryStatusAuto
  • Indicates whether system memory is upgradable in PlatformFeature. This controls the visibility of the Memory tab in About This Mac.
Auto
  • Use the original PlatformFeature value.
  • It's recommended to set this option to "Auto."
Upgradable
  • Explicitly unset PT_FEATURE_HAS_SOLDERED_SYSTEM_MEMORY (0x2) in PlatformFeature.
Soldered
  • explicitly set PT_FEATURE_HAS_SOLDERED_SYSTEM_MEMORY (0x2) in PlatformFeature.
SpoofVendorYESSets SMBIOS vendor fields to Acidanthera

PlatformNVRAM

OptionValueNote
Add this section in config.plistYESAdds PlatformNVRAM field

Memory
This section allows to configure settings for your RAM.

To configure your memory settings, a separate thread is available


SMBIOS

OptionValueNote
Add this section in config.plistYESAdd SMBIOS field.

System

Note:
For a Haswell-E System, this section requires no modification and will remain untouched.

BIOS

Note:
For a Haswell-E System, this section requires no modification and will remain untouched.


Chassis

Note:
For a Haswell-E System, this section requires no modification and will remain untouched.


Board



OptionsValueNot
AutomaticYES
  • Generate PlatformInfo based on Generic section instead of using values from DataHub, NVRAM, and SMBIOS sections.
UpdateDatHubYES
  • Update Data Hub fields. These fields are read from Generic or DataHub sections depending on Automatic value.
UpdateNVRAMYES
  • Update NVRAM fields related to platform information.
UpdateSMBIOSYES
  • Update SMBIOS fields. These fields are read from Generic or SMBIOS sections depending on Automatic value.
UpdateSMBIOSMode
  • Auto
  • Create
  • Overwrite
  • Custom
  • Update SMBIOS fields approach
Auto
  • Sets SMBIOS Mode to Auto
Create
  • Sets SMBIOS Mode to Create
Overwrite
  • Sets SMBIOS Mode to Overwrite
Custom
  • Sets SMBIOS Mode to Custom
If you're having a Dell Motherboard, it's advised to use Custom option.
When using this option, you must set CustomSMBIOSGuid quirk in Kernel section.
CustomMemoryNO
  • Use custom memory configuration defined in the Memory section. This completely replaces any existing memory configuration in SMBIOS, and is only active when UpdateSMBIOS is set to true.


UEFI


This section is for adding UEFI drivers and related settings.

APFS
Provides APFS settings for APFS Driver.

The required settings for a Haswell-E system includes:

OptionValueNotes
JumpStartHotplugNO
  • Load APFS drivers for newly connected devices.
  • Enables Hot plug of APFS drives in boot picker.
  • It's advised to disable this option unless required.


Audio
Provides Audio related settings for Audiodxe Driver and Boot Chime.

Notes:
  • The Audio section in UEFI section is unrelated to Audio function on Mac.
  • This setting is important for Boot Chime. It's advised to setup this section during Post-Installation.
To enable Boot chime, follow the guide below.


Drivers
This section is for adding .efi drivers.

The required drivers for a Haswell system includes:

DriversValueNotes
AudioDxe.efiYES
  • Provides Boot Chime support
  • If you want to use Boot Chime, you need this driver.
OpenCanopy.efi*YES
  • Provides GUI functionality for OpenCore Boot screen.
  • This driver is required if you need GUI or theme for OpenCore.
OpenRuntime.efi*YES
  • Runtime driver including several other drivers merged such as ApfsDriverLoader.
  • OpenRuntime.efi is a replacement for AptioMemoryFix.efi driver.
HFSPlus.efi*YES
  • Provides reading of HFS+ Volumes/drives in OpenCore Boot Picker.
  • Without HFSPlus.efi driver, you won't be able to see any HFS+ volumes including your USB installer and installation drive for macOS Sierra and prior in OpenCore boot picker.

Notes:
  • *Indicates Mandatory Drivers.
  • All the added drivers must exists in the EFI/OC/Drivers directory.

OptionValueNote
Connect DriversYES
  • Specifies and adds the drivers for booting.

Input
This section provides settings for FileVault and Hotkey support for Keyboard passthrough.

Notes:
  • Normally, this section requires no modification and will remain untouched.
If you want to enable FileVault, follow the guide below.

Output
This section provides settings for OpenCore GUI.

Note:
Normally, this section requires no modification and will remain untouched.


ProtocolsOverride

This section provides settings for Virtual machines, legacy Macs and FileVault users.

Note:
Normally, this section requires no modification and will remain untouched.

If you want to enable FileVault, follow the guide below.


ReservedMemory
This section is used for exempting certain memory regions from OS(s) to use, mainly relevant for Sandy Bridge iGPUs or systems with faulty memory.

Note:
For a Haswell-E System, this section requires no modification and will remain untouched.


Quirks
The required Quirks for a Haswell-E system includes:


OptionsValueNotes
IgnoreInvalidFlexRatioYES
  • Some types of firmware (such as APTIO IV) may contain invalid values in the MSR_FLEX_RATIO (0x194) MSR register. These values may cause macOS boot failures on Intel platforms.
  • This quirk is required for all pre-Skylake based systems.
ReleaseUsbOwnershipYES
  • Attempt to detach USB controller ownership from the firmware driver. While most types of firmware manage to do that properly, or at least have an option for this, some do not. As a result, the operating system may freeze upon boot.
  • It's recommended to enable this quirk.
RequestBootVarRootingYES
  • Redirects AptioMemoryFix from EFI_GLOBAL_VARIABLE_GUID to OC_VENDOR_VARIABLE_GUID.
  • This quirk is required for using the Startup Disk preference pane in firmwares that is not compatible with macOS boot entries.
  • It's recommended to enable this quirk on all systems.
UnblockFsConnectNO
  • Some types of firmware block partition handles by opening them in By Driver mode, resulting in being unable to install File System protocols.
  • If you're using an HP Motherboard, you'll need to "enable" this quirk.
DuplicateBootOrderYES
  • Remove duplicate entries in BootOrder variable in EFI_GLOBAL_VARIABLE_GUID.
  • This quirk fixes duplicate boot order in Boot Menu.

Note:
The values which have been not discussed above, that will remain disabled.
 

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
2,696
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
How to create a config.plist for booting macOS on Intel Desktops [OpenCore]

Broadwell-E


SupportCompatibilityNotes
macOSmacOS High Sierra and above
IGPU SupportNo IGPU found on Intel Broadwell-E lineup.As there's no IGPU in this lineup, to drive a display, you'll need to use any supported Graphics Card.


ACPI


This section is for loading, blocking and patching the ACPI tables. The sub-sections are explained below.

Add
This section is for adding the DSDT and SSDT files for your system. This basically includes USB and CPU Power Management SSDT.

The required SSDTs for a Broadwell-E system includes:

Path*ValueNotes
SSDT-ECUSBXYES
  • This SSDT is required for EC and USB Power.
  • This SSDT is required for proper USB Power.
  • This SSDT fixes EC and USB Power.
SSDT-RTC0-RANGEYES
  • This SSDT maps all ports in RTC Device.
  • This SSDT is required for all X99 and X299 Motherboards.
  • This SSDT can also fix stuck at "PCI Configuration begin" error while booting the installer.
SSDT-UNCYES
  • This SSDT is required for disabling unused devices in the ACPI.
  • This SSDT prevents IOPCIFamily Kernel Panic for macOS Big Sur.
  • This SSDT is required for macOS Big Sur.
SSDT-PLUGYES
  • This SSDT enables Power Management function.
  • It can fix potential issues such as sleep/wake function and performance.
  • This SSDT is required for a proper CPU and GPU Power Management.
  • If you're using NVIDIA GPU, it's advised to enable NVIDIA discrete GPU Power Management.

Note:
You can add your add-on DSDT or SSDTs here when performing Post-Install.


Delete

This section allows to block the ACPI tables from loading.

For a Broadwell-E System, this section requires no modification and will remain untouched.

Patch

This section is used for device renames such as USB, Graphics and Audio. You can implement the necessary ACPI patches for optimising the ACPI system components with DSDT and SSDT. This section is important when doing Hot-patch.

The required renames for a Broadwell-E system includes:

Table Signature*FindReplaceCommentEnabledNotes
DSDT4548433145483031Rename EHC1 to EH01 (USB)*YES
  • Renames EHC1 to EH01 for proper USB functioning.
  • This rename is required for fixing USB Ports with EHCI Controller.
DSDT4548433245483032*Rename EHC2 to EH02 (USB)*YES
  • Renames EHC2 to EH02 for proper USB functioning.
  • This rename is required for fixing USB Ports with EHCI Controller.
DSDT4844415348444546Rename HDAS to HDEF (Audio)YES
  • Renames HDAS to HDEF for Audio.
  • This rename is required for implementing Audio Function.
  • For Branded Systems, you may need to patch your DSDT. For more information on Audio implementation, read here.

Notes:
  • The EHC renames must be used in the conjunction to enable the proper USB renaming.
  • *Requires both renames for full function.

Quirks
This section allows to apply certain ACPI quirks.

Note:
For a Broadwell-E System, this section requires no modification and will remain untouched.


Booter



This section is used for booting and provides firmware fixes in relation to boot.efi. The sub-sections are explained below.

MmioWhitelist
Designed to be filled with plist dict values, describing addresses critical for particular firmware functioning when DevirtualiseMmio quirk is in use.

Note:
For a Broadwell-E System, this section requires no modification and will remain untouched.


Quirks
This section allows to apply certain Booter quirks.

The required Booter Quirks for a Broadwell-E system includes:

QuirksValueNotes
AvoidRunTimeDefragYES
  • Fixes certain UEFI runtime services such as date time, NVRAM, power control, etc.
  • Apart from Apple and VMware, this quirk is required by rest of the firmwares
EnableSafeModeSlideYES
  • Patch bootloader to have KASLR enabled in safe mode.
  • This quirk requires ProvideCustomSlide to be enabled.
  • This quirk can be helpful if you're unable to boot into safe mode.
EnableWriteUnprotectorYES
  • Allows write access to UEFI runtime services code.
  • This quirk may potentially weaken firmware security, please use RebuildAppleMemoryMap if the firmware supports memory attributes table (MAT)
ProvideCustomSlideYES
  • Provide custom KASLR slide on low memory.
  • This option forces macOS to use a pseudo random value among the available ones.
SetupVirtualMapYES
  • Setup virtual memory at SetVirtualAddresses.
  • Fixes several virtual address issues and tends to fix early Kernel Panics.
  • The necessity of this quirk is determined by early boot failures. Currently, new firmware with memory protection support (such as OVMF) do not support this quirk.
ProvideMaxSlide0
  • Provide maximum KASLR slide when higher ones are unavailable.

Note:
The values which have been not discussed above, that will remain disabled.


DeviceProperties



This section is used for adding device properties. This includes PCI Devices information such as Graphics, Audio, WiFi, Ethernet and other controllers.

Note:
For a Broadwell-E System, this section requires no modification and will remain untouched.


Kernel



This section is for adding and blocking kexts. The sub-sections are explained below.

Add
This section is used to add kexts, in what order to load and defines the architecture of each kext(s).

The required kexts for a Broadwell-E system includes:

ArchBundlePath*ExecutablePathPlistPathEnabledNotes
AnyLilu.kext**Contents/MacOS/LiluContents/Info.plistYES
  • Provides arbitrary patching.
AnyVirtualSMC.kext**Contents/MacOS/VirtualSMCContents/Info.plistYES
  • Emulates Apple hardware.
  • VirtualSMC is a successor of FakeSMC.
  • This kext requires Lilu.kext to function.
AnyWhateverGreen.kext**Contents/MacOS/WhateverGreenContents/Info.plistYES
  • Provides GPU patching on macOS.
  • This kext requires Lilu.kext to function.
AnyAppleALC.kext**Contents/MacOS/AppleALCContents/Info.plistYES
  • Enables onboard/built-in Audio.
  • This kext requires Lilu.kext to function.
AnyUSBInjectAll.kextContents/MacOS/USBInjectAllContents/Info.plistYES
  • Enables USB ports.
  • It's advised to map the USB ports during the post-install for a better USB speed, improved and sleep/wake.

Notes:
  • All the plugins must load after loading it's dependencies otherwise the kext will no longer function even when loaded in OS X/macOS.
  • The mandatory kexts must be loaded in sorted order as shown in the above table.
  • *Indicates BundlePath i.e. Name of the Kext
  • **Indicates mandatory kexts.
  • All the added kexts must exists in the EFI/OC/Kexts directory.
  • The options which have been not discussed above, that will remain untouched.
To find the Executable Path and Plist path of kexts, follow the guide below

Block
This section allows to block kexts from loading.

Note:
For a Broadwell-E System, this section requires no modification and will remain untouched.


Force

This section allows to force kexts from loading.

Note:
For a Broadwell-E System, this section requires no modification and will remain untouched.


Patch
This section allows patching for Kernel and Kexts.

Note:
For a Broadwell-E System, this section requires no modification and will remain untouched.


Emulate

This section allows to spoof your CPU ID if you're using any unsupported CPU such as Intel Pentium(s) and Celeron(s). If you're using any unsupported CPU, you may need to add a FakeCPU ID in order to boot the system. You can find the CPU ID for various unsupported CPUs listed below.

This section also allows to add dummy power management to prevent AppleIntelCPUPowerManagement Kernel Panic.

CPUCpuid1DataCpuid1MaskNotes
Intel Broadwell-ED4060300 00000000 00000000 00000000FFFFFFFF 00000000 00000000 00000000
  • This is required for enabling Power Management

Scheme
This section allows settings related to Kernel. These settings are relevant for older Mac Operating Systems.

The required settings for a Broadwell-E system includes:

OptionsValueNotes
FuzzyMatchYES
  • Enables checksum ignore with kernel cache instead of using latest cache available.
  • This setting allows matching the latest kernel cache with a suitable architecture when the kernel cache without suffix is unavailable, improving macOS 10.6 boot performance on several platforms.
  • This option is required for macOS Big Sur.
KernelArchAuto
  • Determines Kernel Architecture.
  • It's recommended to set this option to "Auto" and let OS X/macOS decide the Kernel Architecture.
KernelCacheAuto
  • Determines Kernel Cache.
  • It's recommended to set this option as Auto.

Quirks
This section allows to apply certain Kernel quirks. It provides settings related to Kernel and several other options related to BIOS/UEFI and USB ports.

The required settings for a Broadwell-E system includes:

QuirksValueNotes
AppleCpuPmCfgLockYES
  • Disables PKG_CST_CONFIG_CONTROL (0xE2) MSR modification in AppleIntelCPUPowerManage- ment.kext, commonly causing early kernel panic, when it is locked from writing.
  • Enable this quirk if you cannot disable CFG-Lock in BIOS/UEFI.
AppleXcpmCfgLockYES
  • Disables PKG_CST_CONFIG_CONTROL (0xE2) MSR modification in XNU kernel, commonly causing early kernel panic, when it is locked from writing (XCPM power management).
  • Enable this quirk if you cannot disable CFG-Lock in BIOS/UEFI.
AppleXcpmExtraMsrsYES
  • Disables multiple MSR access needed for unsupported CPUs like Pentiums and several Xeon CPUs.
  • It's recommended to enable this quirk.
CustomBIOSGuidNO
  • Performs GUID patching for UpdateSMBIOSMode Custom mode.
  • If you're having a Dell Motherboard, it's recommended to use CustomBIOSGuid quirk.
  • When using this option, you must set UpdateSMBIOSMode to Custom in PlatformInfo section.
DisableIoMapperYES
  • Disables IOMapper support in XNU (VT-d), which may conflict with the firmware implementation.
  • This option is a preferred alternative to deleting DMAR ACPI table and disabling VT-d in firmware preferences, which does not break VT-d support in other systems in case they need it.
  • Enable this quirk if you cannot disable VT-d in BIOS/UEFI.
LapicKernelPanicNO
  • Disables kernel panic on AP core lapic interrupt.
  • Equivalent to Clover's Kernel LAPIC.
  • If you're using an HP Motherboard, you'll need to enable this quirk.
PanicKNoextDumpYES
  • Prevent kernel from printing kext dump in the panic log preventing from observing panic details.
PowerTimeoutKernelPanicYES
  • Disables kernel panic on setPowerState timeout.
  • Fixes kernel panics related to power changes with Apple drivers in macOS Catalina, most notably with digital audio.
XhciPortLimitYES
  • Enables 15 port limit patch.
  • This quirk is a temporary solution and is advised to map your USB ports during post-installation.
DisableRtcChecksumNO
  • Prevents AppleRTC from writing to primary checksum (0x58-0x59). Required for users who receives safe mode or BIOS reset error after reboot/shutdown. Mainly required for ASUS Motherboards. Do NOT use this quirk is you don't have such encounters.
DisableLinkeditJettisonYES
  • Disables __LINKEDIT jettison code.
  • Provides more reliable performance without keepsyms=1
  • This quirk is required for macOS Big Sur.

Note:
The values which have been not discussed above, that will remain disabled.


Misc



This section provides settings related to GUI, drive entries and debug.

Boot
This section mainly provide functions for OpenCore GUI.

The required settings for a Broadwell-E system includes:

OptionsValueNotes
Picker Mode
  • Builtin
  • External
  • Apple
  • Sets Boot Picker Mode used for Boot Management
Builtin
  • Sets text only user interface for OpenCore menu.
External
  • Enables external theme.
  • If you have Themes installed, set this option to External.
Apple
  • Sets Apple Boot Theme, if available
Picker Attributes0
  • Sets specific attributes for picker

Debug
This section allows debug functions for boot.

The required settings for a Broadwell-E system includes:

OptionsValueNotes
Target
  • 0
  • 67
  • A bitmask (sum) of enabled logging targets. By default all the logging output is hidden, so this option is required to be set when debugging is necessary.
0
  • If you're using RELEASE version of OpenCore, set this option to 0.
67
  • Enables logging and provides more debug information.
  • Using this option requires Debug version of OpenCore.
Disable WatchDogYES
  • Some types of firmware may not succeed in booting the operating system quickly, especially in debug mode, which results in the watchdog timer aborting the process.
  • This option turns off the watchdog timer.
  • This option also fixes Kernel Panic due to watchdog timeout.
  • It's recommended to set this option to "enabled."
AppleDebugYES
  • Enables boot.efi logging to OpenCore log, useful for debugging.
  • This option only applies to 10.15.4 and newer.
ApplePanicYES
  • Saves Kernel Panic log to OpenCore partition.


Security
This section controls security related settings such as FileVault, Boot Protect and Secure Boot functions.

The required settings for a Broadwell-E system includes:

OptionsValueNotes
Scan Policy0
  • Define operating system detection policy.
0
  • Enables all drive at OpenCore menu.
Vault
  • Optional
  • Basic
  • Secure
  • Provides File Vault function.
Optional
  • Requires nothing, no vault is enforced, insecure.
  • It's recommended to set this option to Optional.
Basic
  • Requires vault.plist file present in OC directory.
  • This provides basic filesystem integrity verification and may protect from unintentional filesystem corruption.
Secure
  • Requires vault.sig signature file for vault.plist in OC directory.
  • This includes Basic integrity checking but also attempts to build a trusted boot chain.
BootProtect
  • None
  • Boostrap
  • Attempt to provide bootloader persistence
None
  • Enables usage of Bootstrap.efi in the directory EFI/OC/Bootstrap instead of BOOTx64.efi.
  • This setting is helpful for users using rEFInd to boot or avoid BOOTx64.efi overwrites from Windows.
Bootstrap
  • For this option to work RequestBootVarRouting is required to be enabled.
  • Use of Bootstrap option will also enable "OpenCore" instead of UEFI: OS followed by your drive name in Boot Menu.
DmgLoading
  • Disabled
  • Signed
  • Any
  • Define Disk Image (DMG) loading policy used for macOS Recovery.
Disabled
  • Disables loading of DMG images.
  • Disabled policy will still let macOS Recovery to load in most cases as there usually are boot.efi files compatible with Apple Secure Boot.
  • Manually downloaded DMG images stored in com.apple.recovery.boot directories will not load.
Signed
  • Enables only Apple-signed DMG images will load. Due to Apple Secure Boot design Signed policy will let any Apple-signed macOS Recovery to load regardless of Apple Secure Boot state, which may not always be desired.
  • It's recommended to set this option to "Signed" to avoid issues.
Any
  • Enables any DMG images will mount as normal filesystems.
  • Any policy is strongly not recommended and will cause a boot failure when Apple Secure Boot is activated.
SecureBootModel
  • Default
  • Disabled
  • Defines Apple Secure Boot hardware model.
  • Sets Apple Secure Boot hardware model and policy.
  • Specifying this value defines which operating systems will be bootable.
  • Operating systems shipped before the specified model was released will not boot.

Default
  • Enables Default Secure Boot.
  • Recent available model, currently set to j137
Disabled
  • Disables Secure Boot.
  • It's advised to set this option as "Disabled" to avoid booting issues.
AllowNvramResetYES
  • Enables NVRAM reset when pressing Command+Option+P+R
  • Enables NVRAM Reset entry in boot picker.
  • It's recommended to set this option to "Enabled."
AllowSetDefaultYES
  • Allows to set default boot device in the boot picker using CTRL+Enter and CTRL+Index.


Bless Overrides
This section is used for adding custom scanning paths through bless model.

Note:
For a Broadwell-E System, this section requires no modification and will remain untouched.


Entries

This section is used to create boot entries when having multi boot and OpenCore fails to recognise it.

Note:
For a Broadwell-E System, this section requires no modification and will remain untouched.


Tools
This section is used for running debugging tools such as UEFI Shell.

Note:
For a Broadwell-E System, this section requires no modification and will remain untouched.



NVRAM



This section is for adding NVRAM properties, boot args and configuring SIP. The sub-sections are explained below.

Add
This section has various settings including UI, boot args, keyboard input, NVRAM settings and System Integrity Protection.

The required NVRAM properties for a Broadwell-E system includes:

UUIDKeyValueTypeNotes
7C436110-AB2A-4BBB-A880-FE41995C9F82boot-args
  • -v
  • npci=0x2000
  • alcid=xx
  • agdpmod=pikera
  • debug=0x100
  • keepsyms=1
STRING
  • Adds boot args which provides several functions.
-v
  • Enables verbose mode. Helpful to track the installation progress or when booting.
  • We recommend to use this boot arg.
npci=0x2000
  • Disables PCI debugging related to kIOPCIConfiguratorPFM64.
  • This issue can also fix stuck on "PCI Start Configuration Begin" as there are IRQ conflicts relating to PCI lanes.
agdpmod=pikera
  • Fixes Black Screen at boot for NAVI GPUs.
  • If you're using and AMD NAVI based GPU, you'll need to use this boot arg.
alcid=xx
  • Sets Layout ID for AppleALC.
  • The xx represents the layout ID for your codec.

debug=0x100
  • This disables macOS's watchdog which helps prevents a reboot on a kernel panic.
keepsyms=1
  • This is a companion setting to debug=0x100 that tells the OS to also print the symbols on a kernel panic.
  • This can give some more helpful insight as to what's causing the panic itself.
nvda_drv31DATA
  • Enables NVIDIA WebDrivers.
  • Equivalent to Clover's NVIDIAWeb option in System Parameters.
  • If you're using an NVIDIA GPU, you'll need to use this key.
csr-active-config
  • 00000000
DATA
  • Defines SIP type.
00000000
  • Enables SIP completely. (0x0)
  • It's advised to configure SIP via recovery using "csrutil."
  • For more information on SIP, check the SIP disabling guide.
prev-lang:kbden-US:0STRING
  • Sets Keyboard language.


Delete
Removes NVRAM variables from a map (plist dict) of GUIDs to an array (plist array) of variable names in plist string format.

Note:
For a Broadwell-E System, this section requires no modification and will remain untouched.


LegacySchema
This section is used for assigning NVRAM variables, used with LegacyEnable set to YES.
Enables loading of NVRAM variable file named nvram.plist from EFI volume root

Note:
For a Haswell-E System, this section requires no modification and will remain untouched.


OptionValueNotes
WriteFlashYES
  • Enables writing off added Variables to flash memory
  • It is recommended to have this value enabled on most types of firmware but it is left configurable for firmware that may have issues with NVRAM variable storage garbage collection or similar.

Note:
The values which have been not discussed above, that will remain disabled.



PlatformInfo



This section allows to set SMBIOS. It's an important section and has various impact on your system. The sub-sections are explained below.

DatHub - Generic - PlatformNVRAM

DataHub

OptionValueNotes
Add this section in config.plistYESAdds DataHub field

Generic

The required NVRAM properties for a Broadwell-E system includes:


OptionsValueNotes
Add this section in config.plistYESAdds Generic field
from SMBIOSYES
ProcessorType0
  • Sets SMBIOS Processor Type.
  • This will override your actual CPU type.
  • It's recommended to set this option to "0" to detect the original CPU by macOS instead of using SMBIOS CPU Type.
SystemMemoryStatusAuto
  • Indicates whether system memory is upgradable in PlatformFeature. This controls the visibility of the Memory tab in About This Mac.
Auto
  • Use the original PlatformFeature value.
  • It's recommended to set this option to "Auto."
Upgradable
  • Explicitly unset PT_FEATURE_HAS_SOLDERED_SYSTEM_MEMORY (0x2) in PlatformFeature.
Soldered
  • explicitly set PT_FEATURE_HAS_SOLDERED_SYSTEM_MEMORY (0x2) in PlatformFeature.
SpoofVendorYESSets SMBIOS vendor fields to Acidanthera

PlatformNVRAM

OptionValueNote
Add this section in config.plistYESAdds PlatformNVRAM field

Memory
This section allows to configure settings for your RAM.

To configure your memory settings, a separate thread is available


SMBIOS

OptionValueNote
Add this section in config.plistYESAdd SMBIOS field.

System

Note:
For a Broadwell-E System, this section requires no modification and will remain untouched.

BIOS

Note:
For a Broadwell-E System, this section requires no modification and will remain untouched.


Chassis

Note:
For a Broadwell-E System, this section requires no modification and will remain untouched.


Board



OptionsValueNot
AutomaticYES
  • Generate PlatformInfo based on Generic section instead of using values from DataHub, NVRAM, and SMBIOS sections.
UpdateDatHubYES
  • Update Data Hub fields. These fields are read from Generic or DataHub sections depending on Automatic value.
UpdateNVRAMYES
  • Update NVRAM fields related to platform information.
UpdateSMBIOSYES
  • Update SMBIOS fields. These fields are read from Generic or SMBIOS sections depending on Automatic value.
UpdateSMBIOSMode
  • Auto
  • Create
  • Overwrite
  • Custom
  • Update SMBIOS fields approach
Auto
  • Sets SMBIOS Mode to Auto
Create
  • Sets SMBIOS Mode to Create
Overwrite
  • Sets SMBIOS Mode to Overwrite
Custom
  • Sets SMBIOS Mode to Custom
If you're having a Dell Motherboard, it's advised to use Custom option.
When using this option, you must set CustomSMBIOSGuid quirk in Kernel section.
CustomMemoryNO
  • Use custom memory configuration defined in the Memory section. This completely replaces any existing memory configuration in SMBIOS, and is only active when UpdateSMBIOS is set to true.


UEFI


This section is for adding UEFI drivers and related settings.

APFS
Provides APFS settings for APFS Driver.

The required settings for a Broadwell-E system includes:

OptionValueNotes
JumpStartHotplugNO
  • Load APFS drivers for newly connected devices.
  • Enables Hot plug of APFS drives in boot picker.
  • It's advised to disable this option unless required.


Audio
Provides Audio related settings for Audiodxe Driver and Boot Chime.

Notes:
  • The Audio section in UEFI section is unrelated to Audio function on Mac.
  • This setting is important for Boot Chime. It's advised to setup this section during Post-Installation.
To enable Boot chime, follow the guide below.


Drivers
This section is for adding .efi drivers.

The required drivers for a Broadwell-E system includes:

DriversValueNotes
AudioDxe.efiYES
  • Provides Boot Chime support
  • If you want to use Boot Chime, you need this driver.
OpenCanopy.efi*YES
  • Provides GUI functionality for OpenCore Boot screen.
  • This driver is required if you need GUI or theme for OpenCore.
OpenRuntime.efi*YES
  • Runtime driver including several other drivers merged such as ApfsDriverLoader.
  • OpenRuntime.efi is a replacement for AptioMemoryFix.efi driver.
HFSPlus.efi*YES
  • Provides reading of HFS+ Volumes/drives in OpenCore Boot Picker.
  • Without HFSPlus.efi driver, you won't be able to see any HFS+ volumes including your USB installer and installation drive for macOS Sierra and prior in OpenCore boot picker.

Notes:
  • *Indicates Mandatory Drivers.
  • All the added drivers must exists in the EFI/OC/Drivers directory.

OptionValueNote
Connect DriversYES
  • Specifies and adds the drivers for booting.

Input
This section provides settings for FileVault and Hotkey support for Keyboard passthrough.

Notes:
  • Normally, this section requires no modification and will remain untouched.
If you want to enable FileVault, follow the guide below.

Output
This section provides settings for OpenCore GUI.

Note:
Normally, this section requires no modification and will remain untouched.


ProtocolsOverride

This section provides settings for Virtual machines, legacy Macs and FileVault users.

Note:
Normally, this section requires no modification and will remain untouched.

If you want to enable FileVault, follow the guide below.


ReservedMemory
This section is used for exempting certain memory regions from OS(s) to use, mainly relevant for Sandy Bridge iGPUs or systems with faulty memory.

Note:
For a Broadwell-E System, this section requires no modification and will remain untouched.


Quirks
The required Quirks for a Broadwell-E system includes:


OptionsValueNotes
IgnoreInvalidFlexRatioYES
  • Some types of firmware (such as APTIO IV) may contain invalid values in the MSR_FLEX_RATIO (0x194) MSR register. These values may cause macOS boot failures on Intel platforms.
  • This quirk is required for all pre-Skylake based systems.
ReleaseUsbOwnershipYES
  • Attempt to detach USB controller ownership from the firmware driver. While most types of firmware manage to do that properly, or at least have an option for this, some do not. As a result, the operating system may freeze upon boot.
  • It's recommended to enable this quirk.
RequestBootVarRootingYES
  • Redirects AptioMemoryFix from EFI_GLOBAL_VARIABLE_GUID to OC_VENDOR_VARIABLE_GUID.
  • This quirk is required for using the Startup Disk preference pane in firmwares that is not compatible with macOS boot entries.
  • It's recommended to enable this quirk on all systems.
UnblockFsConnectNO
  • Some types of firmware block partition handles by opening them in By Driver mode, resulting in being unable to install File System protocols.
  • If you're using an HP Motherboard, you'll need to "enable" this quirk.
DuplicateBootOrderYES
  • Remove duplicate entries in BootOrder variable in EFI_GLOBAL_VARIABLE_GUID.
  • This quirk fixes duplicate boot order in Boot Menu.

Note:
The values which have been not discussed above, that will remain disabled.
 
Last edited:

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
2,696
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
How to create a config.plist for booting macOS on Intel Desktops [OpenCore]

Skylake-X/W


SupportCompatibilityNotes
macOSmacOS High Sierra and above
IGPU SupportNo IGPU found on Intel Skylake-X/W lineup.As there's no IGPU in this lineup, to drive a display, you'll need to use any supported Graphics Card.


ACPI


This section is for loading, blocking and patching the ACPI tables. The sub-sections are explained below.

Add
This section is for adding the DSDT and SSDT files for your system. This basically includes USB and CPU Power Management SSDT.

The required SSDTs for a Skylake-X/W system includes:

Path*ValueNotes
SSDT-ECUSBXYES
  • This SSDT is required for EC and USB Power.
  • This SSDT is required for proper USB Power.
  • This SSDT fixes EC and USB Power.
SSDT-RTC0-RANGEYES
  • This SSDT maps all ports in RTC Device.
  • This SSDT is required for all X99 and X299 Motherboards.
  • This SSDT can also fix stuck at "PCI Configuration begin" error while booting the installer.
SSDT-PLUGYES
  • This SSDT enables Power Management function.
  • It can fix potential issues such as sleep/wake function and performance.
  • This SSDT is required for a proper CPU and GPU Power Management.
  • If you're using NVIDIA GPU, it's advised to enable NVIDIA discrete GPU Power Management.

Note:
You can add your add-on DSDT or SSDTs here when performing Post-Install.


Delete

This section allows to block the ACPI tables from loading.

For a Skylake-X/W System, this section requires no modification and will remain untouched.

Patch

This section is used for device renames such as USB, Graphics and Audio. You can implement the necessary ACPI patches for optimising the ACPI system components with DSDT and SSDT. This section is important when doing Hot-patch.

The required renames for a Skylake-X/W system includes:

Table Signature*FindReplaceCommentEnabledNotes
DSDT4548433145483031Rename EHC1 to EH01 (USB)*YES
  • Renames EHC1 to EH01 for proper USB functioning.
  • This rename is required for fixing USB Ports with EHCI Controller.
DSDT4548433245483032*Rename EHC2 to EH02 (USB)*YES
  • Renames EHC2 to EH02 for proper USB functioning.
  • This rename is required for fixing USB Ports with EHCI Controller.
DSDT4844415348444546Rename HDAS to HDEF (Audio)YES
  • Renames HDAS to HDEF for Audio.
  • This rename is required for implementing Audio Function.
  • For Branded Systems, you may need to patch your DSDT. For more information on Audio implementation, read here.

Notes:
  • The EHC renames must be used in the conjunction to enable the proper USB renaming.
  • *Requires both renames for full function.

Quirks
This section allows to apply certain ACPI quirks.

Note:
For a Skylake-X/W System, this section requires no modification and will remain untouched.


Booter



This section is used for booting and provides firmware fixes in relation to boot.efi. The sub-sections are explained below.

MmioWhitelist
Designed to be filled with plist dict values, describing addresses critical for particular firmware functioning when DevirtualiseMmio quirk is in use.

Note:
For a Skylake-X/W System, this section requires no modification and will remain untouched.


Quirks
This section allows to apply certain Booter quirks.

The required Booter Quirks for a Skylake-X/W system includes:

QuirksValueNotes
AvoidRunTimeDefragYES
  • Fixes certain UEFI runtime services such as date time, NVRAM, power control, etc.
  • Apart from Apple and VMware, this quirk is required by rest of the firmwares
DevirtualiseMmioYES
  • Remove runtime attribute from select MMIO regions.
  • This option reduces stolen memory footprint from the memory map by removing runtime bit for known memory regions.
EnableSafeModeSlideYES
  • Patch bootloader to have KASLR enabled in safe mode.
  • This quirk requires ProvideCustomSlide to be enabled.
  • This quirk can be helpful if you're unable to boot into safe mode.
EnableWriteUnprotectorYES
  • Allows write access to UEFI runtime services code.
  • This quirk may potentially weaken firmware security, please use RebuildAppleMemoryMap if the firmware supports memory attributes table (MAT)
ProvideCustomSlideYES
  • Provide custom KASLR slide on low memory.
  • This option forces macOS to use a pseudo random value among the available ones.
SetupVirtualMapYES
  • Setup virtual memory at SetVirtualAddresses.
  • Fixes several virtual address issues and tends to fix early Kernel Panics.
  • The necessity of this quirk is determined by early boot failures. Currently, new firmware with memory protection support (such as OVMF) do not support this quirk.
  • If you're using an ASUS Motherboard and have v3006 or later BIOS, you'll need to disable this quirk.
RebuildAppleMemoryMapYES
  • Generates Memory Map which is compatible with macOS.
  • Since several types of firmware come with incorrect memory protection tables, this quirk often comes paired with SyncRuntimePermissions.
SyncRuntimePermissionsYES
  • Update memory permissions for runtime environment.
  • The need for this quirk is indicated by early boot failures. Only firmware released after 2017 is typically affected
ProvideMaxSlide0
  • Provide maximum KASLR slide when higher ones are unavailable.

Note:
The values which have been not discussed above, that will remain disabled.


DeviceProperties



This section is used for adding device properties. This includes PCI Devices information such as Graphics, Audio, WiFi, Ethernet and other controllers.

Note:
For a Skylake-X/W System, this section requires no modification and will remain untouched.


Kernel



This section is for adding and blocking kexts. The sub-sections are explained below.

Add
This section is used to add kexts, in what order to load and defines the architecture of each kext(s).

The required kexts for a Skylake-X/W system includes:

ArchBundlePath*ExecutablePathPlistPathEnabledNotes
AnyLilu.kext**Contents/MacOS/LiluContents/Info.plistYES
  • Provides arbitrary patching.
AnyVirtualSMC.kext**Contents/MacOS/VirtualSMCContents/Info.plistYES
  • Emulates Apple hardware.
  • VirtualSMC is a successor of FakeSMC.
  • This kext requires Lilu.kext to function.
AnyWhateverGreen.kext**Contents/MacOS/WhateverGreenContents/Info.plistYES
  • Provides GPU patching on macOS.
  • This kext requires Lilu.kext to function.
AnyAppleALC.kext**Contents/MacOS/AppleALCContents/Info.plistYES
  • Enables onboard/built-in Audio.
  • This kext requires Lilu.kext to function.
AnyUSBInjectAll.kextContents/MacOS/USBInjectAllContents/Info.plistYES
  • Enables USB ports.
  • It's advised to map the USB ports during the post-install for a better USB speed, improved and sleep/wake.

Notes:
  • All the plugins must load after loading it's dependencies otherwise the kext will no longer function even when loaded in OS X/macOS.
  • The mandatory kexts must be loaded in sorted order as shown in the above table.
  • *Indicates BundlePath i.e. Name of the Kext
  • **Indicates mandatory kexts.
  • All the added kexts must exists in the EFI/OC/Kexts directory.
  • The options which have been not discussed above, that will remain untouched.
To find the Executable Path and Plist path of kexts, follow the guide below

Block
This section allows to block kexts from loading.

Note:
For a Skylake-X/W System, this section requires no modification and will remain untouched.


Force

This section allows to force kexts from loading.

Note:
For a Skylake-X/W System, this section requires no modification and will remain untouched.


Patch
This section allows patching for Kernel and Kexts.

Note:
For a Skylake-X/W System, this section requires no modification and will remain untouched.


Emulate

This section allows to spoof your CPU ID if you're using any unsupported CPU such as Intel Pentium(s) and Celeron(s). If you're using any unsupported CPU, you may need to add a FakeCPU ID in order to boot the system. You can find the CPU ID for various unsupported CPUs listed below.

This section also allows to add dummy power management to prevent AppleIntelCPUPowerManagement Kernel Panic.

Scheme
This section allows settings related to Kernel. These settings are relevant for older Mac Operating Systems.

The required settings for a Skylake-X/W system includes:

OptionsValueNotes
FuzzyMatchYES
  • Enables checksum ignore with kernel cache instead of using latest cache available.
  • This setting allows matching the latest kernel cache with a suitable architecture when the kernel cache without suffix is unavailable, improving macOS 10.6 boot performance on several platforms.
  • This option is required for macOS Big Sur.
KernelArchAuto
  • Determines Kernel Architecture.
  • It's recommended to set this option to "Auto" and let OS X/macOS decide the Kernel Architecture.
KernelCacheAuto
  • Determines Kernel Cache.
  • It's recommended to set this option as Auto.

Quirks
This section allows to apply certain Kernel quirks. It provides settings related to Kernel and several other options related to BIOS/UEFI and USB ports.

The required settings for a Skylake-X/W system includes:

QuirksValueNotes
AppleCpuPmCfgLockYES
  • Disables PKG_CST_CONFIG_CONTROL (0xE2) MSR modification in AppleIntelCPUPowerManage- ment.kext, commonly causing early kernel panic, when it is locked from writing.
  • Enable this quirk if you cannot disable CFG-Lock in BIOS/UEFI.
AppleXcpmCfgLockYES
  • Disables PKG_CST_CONFIG_CONTROL (0xE2) MSR modification in XNU kernel, commonly causing early kernel panic, when it is locked from writing (XCPM power management).
  • Enable this quirk if you cannot disable CFG-Lock in BIOS/UEFI.
AppleXcpmExtraMsrsYES
  • Disables multiple MSR access needed for unsupported CPUs like Pentiums and several Xeon CPUs.
  • It's recommended to enable this quirk.
CustomBIOSGuidNO
  • Performs GUID patching for UpdateSMBIOSMode Custom mode.
  • If you're having a Dell Motherboard, it's recommended to use CustomBIOSGuid quirk.
  • When using this option, you must set UpdateSMBIOSMode to Custom in PlatformInfo section.
DisableIoMapperYES
  • Disables IOMapper support in XNU (VT-d), which may conflict with the firmware implementation.
  • This option is a preferred alternative to deleting DMAR ACPI table and disabling VT-d in firmware preferences, which does not break VT-d support in other systems in case they need it.
  • Enable this quirk if you cannot disable VT-d in BIOS/UEFI.
LapicKernelPanicNO
  • Disables kernel panic on AP core lapic interrupt.
  • Equivalent to Clover's Kernel LAPIC.
  • If you're using an HP Motherboard, you'll need to enable this quirk.
PanicKNoextDumpYES
  • Prevent kernel from printing kext dump in the panic log preventing from observing panic details.
PowerTimeoutKernelPanicYES
  • Disables kernel panic on setPowerState timeout.
  • Fixes kernel panics related to power changes with Apple drivers in macOS Catalina, most notably with digital audio.
XhciPortLimitYES
  • Enables 15 port limit patch.
  • This quirk is a temporary solution and is advised to map your USB ports during post-installation.
DisableRtcChecksumNO
  • Prevents AppleRTC from writing to primary checksum (0x58-0x59). Required for users who receives safe mode or BIOS reset error after reboot/shutdown. Mainly required for ASUS Motherboards. Do NOT use this quirk is you don't have such encounters.
DisableLinkeditJettisonYES
  • Disables __LINKEDIT jettison code.
  • Provides more reliable performance without keepsyms=1
  • This quirk is required for macOS Big Sur.

Note:
The values which have been not discussed above, that will remain disabled.


Misc



This section provides settings related to GUI, drive entries and debug.

Boot
This section mainly provide functions for OpenCore GUI.

The required settings for a Skylake-X/W system includes:

OptionsValueNotes
Picker Mode
  • Builtin
  • External
  • Apple
  • Sets Boot Picker Mode used for Boot Management
Builtin
  • Sets text only user interface for OpenCore menu.
External
  • Enables external theme.
  • If you have Themes installed, set this option to External.
Apple
  • Sets Apple Boot Theme, if available
Picker Attributes0
  • Sets specific attributes for picker

Debug
This section allows debug functions for boot.

The required settings for a Skylake-X/W system includes:

OptionsValueNotes
Target
  • 0
  • 67
  • A bitmask (sum) of enabled logging targets. By default all the logging output is hidden, so this option is required to be set when debugging is necessary.
0
  • If you're using RELEASE version of OpenCore, set this option to 0.
67
  • Enables logging and provides more debug information.
  • Using this option requires Debug version of OpenCore.
Disable WatchDogYES
  • Some types of firmware may not succeed in booting the operating system quickly, especially in debug mode, which results in the watchdog timer aborting the process.
  • This option turns off the watchdog timer.
  • This option also fixes Kernel Panic due to watchdog timeout.
  • It's recommended to set this option to "enabled."
AppleDebugYES
  • Enables boot.efi logging to OpenCore log, useful for debugging.
  • This option only applies to 10.15.4 and newer.
ApplePanicYES
  • Saves Kernel Panic log to OpenCore partition.


Security
This section controls security related settings such as FileVault, Boot Protect and Secure Boot functions.

The required settings for a Skylake-X/W system includes:

OptionsValueNotes
Scan Policy0
  • Define operating system detection policy.
0
  • Enables all drive at OpenCore menu.
Vault
  • Optional
  • Basic
  • Secure
  • Provides File Vault function.
Optional
  • Requires nothing, no vault is enforced, insecure.
  • It's recommended to set this option to Optional.
Basic
  • Requires vault.plist file present in OC directory.
  • This provides basic filesystem integrity verification and may protect from unintentional filesystem corruption.
Secure
  • Requires vault.sig signature file for vault.plist in OC directory.
  • This includes Basic integrity checking but also attempts to build a trusted boot chain.
BootProtect
  • None
  • Boostrap
  • Attempt to provide bootloader persistence
None
  • Enables usage of Bootstrap.efi in the directory EFI/OC/Bootstrap instead of BOOTx64.efi.
  • This setting is helpful for users using rEFInd to boot or avoid BOOTx64.efi overwrites from Windows.
Bootstrap
  • For this option to work RequestBootVarRouting is required to be enabled.
  • Use of Bootstrap option will also enable "OpenCore" instead of UEFI: OS followed by your drive name in Boot Menu.
DmgLoading
  • Disabled
  • Signed
  • Any
  • Define Disk Image (DMG) loading policy used for macOS Recovery.
Disabled
  • Disables loading of DMG images.
  • Disabled policy will still let macOS Recovery to load in most cases as there usually are boot.efi files compatible with Apple Secure Boot.
  • Manually downloaded DMG images stored in com.apple.recovery.boot directories will not load.
Signed
  • Enables only Apple-signed DMG images will load. Due to Apple Secure Boot design Signed policy will let any Apple-signed macOS Recovery to load regardless of Apple Secure Boot state, which may not always be desired.
  • It's recommended to set this option to "Signed" to avoid issues.
Any
  • Enables any DMG images will mount as normal filesystems.
  • Any policy is strongly not recommended and will cause a boot failure when Apple Secure Boot is activated.
SecureBootModel
  • Default
  • Disabled
  • Defines Apple Secure Boot hardware model.
  • Sets Apple Secure Boot hardware model and policy.
  • Specifying this value defines which operating systems will be bootable.
  • Operating systems shipped before the specified model was released will not boot.

Default
  • Enables Default Secure Boot.
  • Recent available model, currently set to j137
Disabled
  • Disables Secure Boot.
  • It's advised to set this option as "Disabled" to avoid booting issues.
AllowNvramResetYES
  • Enables NVRAM reset when pressing Command+Option+P+R
  • Enables NVRAM Reset entry in boot picker.
  • It's recommended to set this option to "Enabled."
AllowSetDefaultYES
  • Allows to set default boot device in the boot picker using CTRL+Enter and CTRL+Index.


Bless Overrides
This section is used for adding custom scanning paths through bless model.

Note:
For a Skylake-X/W System, this section requires no modification and will remain untouched.


Entries

This section is used to create boot entries when having multi boot and OpenCore fails to recognise it.

Note:
For a Skylake-X/W System, this section requires no modification and will remain untouched.


Tools
This section is used for running debugging tools such as UEFI Shell.

Note:
For a Skylake-X/W System, this section requires no modification and will remain untouched.



NVRAM



This section is for adding NVRAM properties, boot args and configuring SIP. The sub-sections are explained below.

Add
This section has various settings including UI, boot args, keyboard input, NVRAM settings and System Integrity Protection.

The required NVRAM properties for a Skylake-X/W system includes:

UUIDKeyValueTypeNotes
7C436110-AB2A-4BBB-A880-FE41995C9F82boot-args
  • -v
  • npci=0x2000
  • alcid=xx
  • agdpmod=pikera
  • debug=0x100
  • keepsyms=1
STRING
  • Adds boot args which provides several functions.
-v
  • Enables verbose mode. Helpful to track the installation progress or when booting.
  • We recommend to use this boot arg.
npci=0x2000
  • Disables PCI debugging related to kIOPCIConfiguratorPFM64.
  • This issue can also fix stuck on "PCI Start Configuration Begin" as there are IRQ conflicts relating to PCI lanes.
agdpmod=pikera
  • Fixes Black Screen at boot for NAVI GPUs.
  • If you're using and AMD NAVI based GPU, you'll need to use this boot arg.
alcid=xx
  • Sets Layout ID for AppleALC.
  • The xx represents the layout ID for your codec.

debug=0x100
  • This disables macOS's watchdog which helps prevents a reboot on a kernel panic.
keepsyms=1
  • This is a companion setting to debug=0x100 that tells the OS to also print the symbols on a kernel panic.
  • This can give some more helpful insight as to what's causing the panic itself.
nvda_drv31DATA
  • Enables NVIDIA WebDrivers.
  • Equivalent to Clover's NVIDIAWeb option in System Parameters.
  • If you're using an NVIDIA GPU, you'll need to use this key.
csr-active-config
  • 00000000
DATA
  • Defines SIP type.
00000000
  • Enables SIP completely. (0x0)
  • It's advised to configure SIP via recovery using "csrutil."
  • For more information on SIP, check the SIP disabling guide.
prev-lang:kbden-US:0STRING
  • Sets Keyboard language.


Delete
Removes NVRAM variables from a map (plist dict) of GUIDs to an array (plist array) of variable names in plist string format.

Note:
For a Skylake-X/W System, this section requires no modification and will remain untouched.


LegacySchema
This section is used for assigning NVRAM variables, used with LegacyEnable set to YES.
Enables loading of NVRAM variable file named nvram.plist from EFI volume root

Note:
For a Skylake-X/W System, this section requires no modification and will remain untouched.


OptionValueNotes
WriteFlashYES
  • Enables writing off added Variables to flash memory
  • It is recommended to have this value enabled on most types of firmware but it is left configurable for firmware that may have issues with NVRAM variable storage garbage collection or similar.

Note:
The values which have been not discussed above, that will remain disabled.



PlatformInfo



This section allows to set SMBIOS. It's an important section and has various impact on your system. The sub-sections are explained below.

DatHub - Generic - PlatformNVRAM

DataHub

OptionValueNotes
Add this section in config.plistYESAdds DataHub field

Generic

The required NVRAM properties for a Skylake-X/W system includes:


OptionsValueNotes
Add this section in config.plistYESAdds Generic field
from SMBIOSYES
ProcessorType0
  • Sets SMBIOS Processor Type.
  • This will override your actual CPU type.
  • It's recommended to set this option to "0" to detect the original CPU by macOS instead of using SMBIOS CPU Type.
SystemMemoryStatusAuto
  • Indicates whether system memory is upgradable in PlatformFeature. This controls the visibility of the Memory tab in About This Mac.
Auto
  • Use the original PlatformFeature value.
  • It's recommended to set this option to "Auto."
Upgradable
  • Explicitly unset PT_FEATURE_HAS_SOLDERED_SYSTEM_MEMORY (0x2) in PlatformFeature.
Soldered
  • explicitly set PT_FEATURE_HAS_SOLDERED_SYSTEM_MEMORY (0x2) in PlatformFeature.
SpoofVendorYESSets SMBIOS vendor fields to Acidanthera

PlatformNVRAM

OptionValueNote
Add this section in config.plistYESAdds PlatformNVRAM field

Memory
This section allows to configure settings for your RAM.

To configure your memory settings, a separate thread is available


SMBIOS

OptionValueNote
Add this section in config.plistYESAdd SMBIOS field.

System

Note:
For a Skylake-X/W System, this section requires no modification and will remain untouched.

BIOS

Note:
For a Skylake-X/W System, this section requires no modification and will remain untouched.


Chassis

Note:
For a Skylake-X/W System, this section requires no modification and will remain untouched.


Board



OptionsValueNot
AutomaticYES
  • Generate PlatformInfo based on Generic section instead of using values from DataHub, NVRAM, and SMBIOS sections.
UpdateDatHubYES
  • Update Data Hub fields. These fields are read from Generic or DataHub sections depending on Automatic value.
UpdateNVRAMYES
  • Update NVRAM fields related to platform information.
UpdateSMBIOSYES
  • Update SMBIOS fields. These fields are read from Generic or SMBIOS sections depending on Automatic value.
UpdateSMBIOSMode
  • Auto
  • Create
  • Overwrite
  • Custom
  • Update SMBIOS fields approach
Auto
  • Sets SMBIOS Mode to Auto
Create
  • Sets SMBIOS Mode to Create
Overwrite
  • Sets SMBIOS Mode to Overwrite
Custom
  • Sets SMBIOS Mode to Custom
If you're having a Dell Motherboard, it's advised to use Custom option.
When using this option, you must set CustomSMBIOSGuid quirk in Kernel section.
CustomMemoryNO
  • Use custom memory configuration defined in the Memory section. This completely replaces any existing memory configuration in SMBIOS, and is only active when UpdateSMBIOS is set to true.


UEFI


This section is for adding UEFI drivers and related settings.

APFS
Provides APFS settings for APFS Driver.

The required settings for a Skylake-X/W system includes:

OptionValueNotes
JumpStartHotplugNO
  • Load APFS drivers for newly connected devices.
  • Enables Hot plug of APFS drives in boot picker.
  • It's advised to disable this option unless required.


Audio
Provides Audio related settings for Audiodxe Driver and Boot Chime.

Notes:
  • The Audio section in UEFI section is unrelated to Audio function on Mac.
  • This setting is important for Boot Chime. It's advised to setup this section during Post-Installation.
To enable Boot chime, follow the guide below.


Drivers
This section is for adding .efi drivers.

The required drivers for a Skylake-X/W system includes:

DriversValueNotes
AudioDxe.efiYES
  • Provides Boot Chime support
  • If you want to use Boot Chime, you need this driver.
OpenCanopy.efi*YES
  • Provides GUI functionality for OpenCore Boot screen.
  • This driver is required if you need GUI or theme for OpenCore.
OpenRuntime.efi*YES
  • Runtime driver including several other drivers merged such as ApfsDriverLoader.
  • OpenRuntime.efi is a replacement for AptioMemoryFix.efi driver.
HFSPlus.efi*YES
  • Provides reading of HFS+ Volumes/drives in OpenCore Boot Picker.
  • Without HFSPlus.efi driver, you won't be able to see any HFS+ volumes including your USB installer and installation drive for macOS Sierra and prior in OpenCore boot picker.

Notes:
  • *Indicates Mandatory Drivers.
  • All the added drivers must exists in the EFI/OC/Drivers directory.

OptionValueNote
Connect DriversYES
  • Specifies and adds the drivers for booting.

Input
This section provides settings for FileVault and Hotkey support for Keyboard passthrough.

Notes:
  • Normally, this section requires no modification and will remain untouched.
If you want to enable FileVault, follow the guide below.

Output
This section provides settings for OpenCore GUI.

Note:
Normally, this section requires no modification and will remain untouched.


ProtocolsOverride

This section provides settings for Virtual machines, legacy Macs and FileVault users.

Note:
Normally, this section requires no modification and will remain untouched.

If you want to enable FileVault, follow the guide below.


ReservedMemory
This section is used for exempting certain memory regions from OS(s) to use, mainly relevant for Sandy Bridge iGPUs or systems with faulty memory.

Note:
For a Skylake-X/W System, this section requires no modification and will remain untouched.


Quirks
The required Quirks for a Skylake-X/W system includes:


OptionsValueNotes
IgnoreInvalidFlexRatioYES
  • Some types of firmware (such as APTIO IV) may contain invalid values in the MSR_FLEX_RATIO (0x194) MSR register. These values may cause macOS boot failures on Intel platforms.
  • This quirk is required for all pre-Skylake based systems.
ReleaseUsbOwnershipYES
  • Attempt to detach USB controller ownership from the firmware driver. While most types of firmware manage to do that properly, or at least have an option for this, some do not. As a result, the operating system may freeze upon boot.
  • It's recommended to enable this quirk.
RequestBootVarRootingYES
  • Redirects AptioMemoryFix from EFI_GLOBAL_VARIABLE_GUID to OC_VENDOR_VARIABLE_GUID.
  • This quirk is required for using the Startup Disk preference pane in firmwares that is not compatible with macOS boot entries.
  • It's recommended to enable this quirk on all systems.
UnblockFsConnectNO
  • Some types of firmware block partition handles by opening them in By Driver mode, resulting in being unable to install File System protocols.
  • If you're using an HP Motherboard, you'll need to "enable" this quirk.
DuplicateBootOrderYES
  • Remove duplicate entries in BootOrder variable in EFI_GLOBAL_VARIABLE_GUID.
  • This quirk fixes duplicate boot order in Boot Menu.

Note:
The values which have been not discussed above, that will remain disabled.
 

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
2,696
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
How to create a config.plist for booting macOS on Intel Desktops [OpenCore]

Cascade Lake-X/W


SupportCompatibilityNotes
macOSmacOS High Sierra and above
IGPU SupportNo IGPU found on Intel Cascade Lake-X/W lineup.As there's no IGPU in this lineup, to drive a display, you'll need to use any supported Graphics Card.


ACPI


This section is for loading, blocking and patching the ACPI tables. The sub-sections are explained below.

Add
This section is for adding the DSDT and SSDT files for your system. This basically includes USB and CPU Power Management SSDT.

The required SSDTs for a Cascade Lake-X/W system includes:

Path*ValueNotes
SSDT-ECUSBXYES
  • This SSDT is required for EC and USB Power.
  • This SSDT is required for proper USB Power.
  • This SSDT fixes EC and USB Power.
SSDT-RTC0-RANGEYES
  • This SSDT maps all ports in RTC Device.
  • This SSDT is required for all X99 and X299 Motherboards.
  • This SSDT can also fix stuck at "PCI Configuration begin" error while booting the installer.
SSDT-PLUGYES
  • This SSDT enables Power Management function.
  • It can fix potential issues such as sleep/wake function and performance.
  • This SSDT is required for a proper CPU and GPU Power Management.
  • If you're using NVIDIA GPU, it's advised to enable NVIDIA discrete GPU Power Management.

Note:
You can add your add-on DSDT or SSDTs here when performing Post-Install.


Delete

This section allows to block the ACPI tables from loading.

For a Cascade Lake-X/W System, this section requires no modification and will remain untouched.

Patch

This section is used for device renames such as USB, Graphics and Audio. You can implement the necessary ACPI patches for optimising the ACPI system components with DSDT and SSDT. This section is important when doing Hot-patch.

The required renames for a Cascade Lake-X/W system includes:

Table Signature*FindReplaceCommentEnabledNotes
DSDT48454349494D4549Rename HECI to IMEI (PAVP)*YES
  • Renames HECI to IMEI for PAVP services.
  • This rename is required for implementing PAVP services.
  • This rename fixes iTunes/App Store Content Access problems and also enables Content playback.
DSDT4D45495F494D4549Rename MEI to IMEI (PAVP)*YES
  • Renames HECI to IMEI for PAVP services.
  • This rename is required for implementing PAVP services.
  • This rename fixes iTunes/App Store Content Access problems and also enables Content playback.
DSDT4844415348444546Rename HDAS to HDEF (Audio)YES
  • Renames HDAS to HDEF for Audio.
  • This rename is required for implementing Audio Function.
  • For Branded Systems, you may need to patch your DSDT. For more information on Audio implementation, read here.

Notes:
  • The EHC renames must be used in the conjunction to enable the proper USB renaming.
  • The IMEI renames must be used in the conjunction to enable the proper HECI and MEI renaming.
  • *Requires both renames for full function.

Quirks
This section allows to apply certain ACPI quirks.

Note:
For a Cascade Lake-X/W System, this section requires no modification and will remain untouched.


Booter



This section is used for booting and provides firmware fixes in relation to boot.efi. The sub-sections are explained below.

MmioWhitelist
Designed to be filled with plist dict values, describing addresses critical for particular firmware functioning when DevirtualiseMmio quirk is in use.

Note:
For a Cascade Lake-X/W System, this section requires no modification and will remain untouched.


Quirks
This section allows to apply certain Booter quirks.

The required Booter Quirks for a Cascade Lake-X/W system includes:

QuirksValueNotes
AvoidRunTimeDefragYES
  • Fixes certain UEFI runtime services such as date time, NVRAM, power control, etc.
  • Apart from Apple and VMware, this quirk is required by rest of the firmwares
DevirtualiseMmioYES
  • Remove runtime attribute from select MMIO regions.
  • This option reduces stolen memory footprint from the memory map by removing runtime bit for known memory regions.
EnableSafeModeSlideYES
  • Patch bootloader to have KASLR enabled in safe mode.
  • This quirk requires ProvideCustomSlide to be enabled.
  • This quirk can be helpful if you're unable to boot into safe mode.
EnableWriteUnprotectorYES
  • Allows write access to UEFI runtime services code.
  • This quirk may potentially weaken firmware security, please use RebuildAppleMemoryMap if the firmware supports memory attributes table (MAT)
ProvideCustomSlideYES
  • Provide custom KASLR slide on low memory.
  • This option forces macOS to use a pseudo random value among the available ones.
SetupVirtualMapYES
  • Setup virtual memory at SetVirtualAddresses.
  • Fixes several virtual address issues and tends to fix early Kernel Panics.
  • The necessity of this quirk is determined by early boot failures. Currently, new firmware with memory protection support (such as OVMF) do not support this quirk.
  • If you're using an ASUS Motherboard and have v3006 or later BIOS, you'll need to disable this quirk.
RebuildAppleMemoryMapYES
  • Generates Memory Map which is compatible with macOS.
  • Since several types of firmware come with incorrect memory protection tables, this quirk often comes paired with SyncRuntimePermissions.
SyncRuntimePermissionsYES
  • Update memory permissions for runtime environment.
  • The need for this quirk is indicated by early boot failures. Only firmware released after 2017 is typically affected
ProvideMaxSlide0
  • Provide maximum KASLR slide when higher ones are unavailable.

Note:
The values which have been not discussed above, that will remain disabled.


DeviceProperties



This section is used for adding device properties. This includes PCI Devices information such as Graphics, Audio, WiFi, Ethernet and other controllers.

Note:
For a Cascade Lake-X/W System, this section requires no modification and will remain untouched.


Kernel



This section is for adding and blocking kexts. The sub-sections are explained below.

Add
This section is used to add kexts, in what order to load and defines the architecture of each kext(s).

The required kexts for a Cascade Lake-X/W system includes:

ArchBundlePath*ExecutablePathPlistPathEnabledNotes
AnyLilu.kext**Contents/MacOS/LiluContents/Info.plistYES
  • Provides arbitrary patching.
AnyVirtualSMC.kext**Contents/MacOS/VirtualSMCContents/Info.plistYES
  • Emulates Apple hardware.
  • VirtualSMC is a successor of FakeSMC.
  • This kext requires Lilu.kext to function.
AnyWhateverGreen.kext**Contents/MacOS/WhateverGreenContents/Info.plistYES
  • Provides GPU patching on macOS.
  • This kext requires Lilu.kext to function.
AnyAppleALC.kext**Contents/MacOS/AppleALCContents/Info.plistYES
  • Enables onboard/built-in Audio.
  • This kext requires Lilu.kext to function.
AnyUSBInjectAll.kextContents/MacOS/USBInjectAllContents/Info.plistYES
  • Enables USB ports.
  • It's advised to map the USB ports during the post-install for a better USB speed, improved and sleep/wake.

Notes:
  • All the plugins must load after loading it's dependencies otherwise the kext will no longer function even when loaded in OS X/macOS.
  • The mandatory kexts must be loaded in sorted order as shown in the above table.
  • *Indicates BundlePath i.e. Name of the Kext
  • **Indicates mandatory kexts.
  • All the added kexts must exists in the EFI/OC/Kexts directory.
  • The options which have been not discussed above, that will remain untouched.
To find the Executable Path and Plist path of kexts, follow the guide below

Block
This section allows to block kexts from loading.

Note:
For a Cascade Lake-X/W System, this section requires no modification and will remain untouched.


Force

This section allows to force kexts from loading.

Note:
For a Cascade Lake-X/W System, this section requires no modification and will remain untouched.


Patch
This section allows patching for Kernel and Kexts.

Note:
For a Cascade Lake-X/W System, this section requires no modification and will remain untouched.


Emulate

This section allows to spoof your CPU ID if you're using any unsupported CPU such as Intel Pentium(s) and Celeron(s). If you're using any unsupported CPU, you may need to add a FakeCPU ID in order to boot the system. You can find the CPU ID for various unsupported CPUs listed below.

This section also allows to add dummy power management to prevent AppleIntelCPUPowerManagement Kernel Panic.

Scheme
This section allows settings related to Kernel. These settings are relevant for older Mac Operating Systems.

The required settings for a Cascade Lake-X/W system includes:

OptionsValueNotes
FuzzyMatchYES
  • Enables checksum ignore with kernel cache instead of using latest cache available.
  • This setting allows matching the latest kernel cache with a suitable architecture when the kernel cache without suffix is unavailable, improving macOS 10.6 boot performance on several platforms.
  • This option is required for macOS Big Sur.
KernelArchAuto
  • Determines Kernel Architecture.
  • It's recommended to set this option to "Auto" and let OS X/macOS decide the Kernel Architecture.
KernelCacheAuto
  • Determines Kernel Cache.
  • It's recommended to set this option as Auto.

Quirks
This section allows to apply certain Kernel quirks. It provides settings related to Kernel and several other options related to BIOS/UEFI and USB ports.

The required settings for a Cascade Lake-X/W system includes:

QuirksValueNotes
AppleCpuPmCfgLockYES
  • Disables PKG_CST_CONFIG_CONTROL (0xE2) MSR modification in AppleIntelCPUPowerManage- ment.kext, commonly causing early kernel panic, when it is locked from writing.
  • Enable this quirk if you cannot disable CFG-Lock in BIOS/UEFI.
AppleXcpmCfgLockYES
  • Disables PKG_CST_CONFIG_CONTROL (0xE2) MSR modification in XNU kernel, commonly causing early kernel panic, when it is locked from writing (XCPM power management).
  • Enable this quirk if you cannot disable CFG-Lock in BIOS/UEFI.
AppleXcpmExtraMsrsYES
  • Disables multiple MSR access needed for unsupported CPUs like Pentiums and several Xeon CPUs.
  • It's recommended to enable this quirk.
CustomBIOSGuidNO
  • Performs GUID patching for UpdateSMBIOSMode Custom mode.
  • If you're having a Dell Motherboard, it's recommended to use CustomBIOSGuid quirk.
  • When using this option, you must set UpdateSMBIOSMode to Custom in PlatformInfo section.
DisableIoMapperYES
  • Disables IOMapper support in XNU (VT-d), which may conflict with the firmware implementation.
  • This option is a preferred alternative to deleting DMAR ACPI table and disabling VT-d in firmware preferences, which does not break VT-d support in other systems in case they need it.
  • Enable this quirk if you cannot disable VT-d in BIOS/UEFI.
LapicKernelPanicNO
  • Disables kernel panic on AP core lapic interrupt.
  • Equivalent to Clover's Kernel LAPIC.
  • If you're using an HP Motherboard, you'll need to enable this quirk.
PanicKNoextDumpYES
  • Prevent kernel from printing kext dump in the panic log preventing from observing panic details.
PowerTimeoutKernelPanicYES
  • Disables kernel panic on setPowerState timeout.
  • Fixes kernel panics related to power changes with Apple drivers in macOS Catalina, most notably with digital audio.
XhciPortLimitYES
  • Enables 15 port limit patch.
  • This quirk is a temporary solution and is advised to map your USB ports during post-installation.
DisableRtcChecksumNO
  • Prevents AppleRTC from writing to primary checksum (0x58-0x59). Required for users who receives safe mode or BIOS reset error after reboot/shutdown. Mainly required for ASUS Motherboards. Do NOT use this quirk is you don't have such encounters.
DisableLinkeditJettisonYES
  • Disables __LINKEDIT jettison code.
  • Provides more reliable performance without keepsyms=1
  • This quirk is required for macOS Big Sur.

Note:
The values which have been not discussed above, that will remain disabled.


Misc



This section provides settings related to GUI, drive entries and debug.

Boot
This section mainly provide functions for OpenCore GUI.

The required settings for a Cascade Lake-X/W system includes:

OptionsValueNotes
Picker Mode
  • Builtin
  • External
  • Apple
  • Sets Boot Picker Mode used for Boot Management
Builtin
  • Sets text only user interface for OpenCore menu.
External
  • Enables external theme.
  • If you have Themes installed, set this option to External.
Apple
  • Sets Apple Boot Theme, if available
Picker Attributes0
  • Sets specific attributes for picker

Debug
This section allows debug functions for boot.

The required settings for a Cascade Lake-X/W system includes:

OptionsValueNotes
Target
  • 0
  • 67
  • A bitmask (sum) of enabled logging targets. By default all the logging output is hidden, so this option is required to be set when debugging is necessary.
0
  • If you're using RELEASE version of OpenCore, set this option to 0.
67
  • Enables logging and provides more debug information.
  • Using this option requires Debug version of OpenCore.
Disable WatchDogYES
  • Some types of firmware may not succeed in booting the operating system quickly, especially in debug mode, which results in the watchdog timer aborting the process.
  • This option turns off the watchdog timer.
  • This option also fixes Kernel Panic due to watchdog timeout.
  • It's recommended to set this option to "enabled."
AppleDebugYES
  • Enables boot.efi logging to OpenCore log, useful for debugging.
  • This option only applies to 10.15.4 and newer.
ApplePanicYES
  • Saves Kernel Panic log to OpenCore partition.


Security
This section controls security related settings such as FileVault, Boot Protect and Secure Boot functions.

The required settings for a Cascade Lake-X/W system includes:

OptionsValueNotes
Scan Policy0
  • Define operating system detection policy.
0
  • Enables all drive at OpenCore menu.
Vault
  • Optional
  • Basic
  • Secure
  • Provides File Vault function.
Optional
  • Requires nothing, no vault is enforced, insecure.
  • It's recommended to set this option to Optional.
Basic
  • Requires vault.plist file present in OC directory.
  • This provides basic filesystem integrity verification and may protect from unintentional filesystem corruption.
Secure
  • Requires vault.sig signature file for vault.plist in OC directory.
  • This includes Basic integrity checking but also attempts to build a trusted boot chain.
BootProtect
  • None
  • Boostrap
  • Attempt to provide bootloader persistence
None
  • Enables usage of Bootstrap.efi in the directory EFI/OC/Bootstrap instead of BOOTx64.efi.
  • This setting is helpful for users using rEFInd to boot or avoid BOOTx64.efi overwrites from Windows.
Bootstrap
  • For this option to work RequestBootVarRouting is required to be enabled.
  • Use of Bootstrap option will also enable "OpenCore" instead of UEFI: OS followed by your drive name in Boot Menu.
DmgLoading
  • Disabled
  • Signed
  • Any
  • Define Disk Image (DMG) loading policy used for macOS Recovery.
Disabled
  • Disables loading of DMG images.
  • Disabled policy will still let macOS Recovery to load in most cases as there usually are boot.efi files compatible with Apple Secure Boot.
  • Manually downloaded DMG images stored in com.apple.recovery.boot directories will not load.
Signed
  • Enables only Apple-signed DMG images will load. Due to Apple Secure Boot design Signed policy will let any Apple-signed macOS Recovery to load regardless of Apple Secure Boot state, which may not always be desired.
  • It's recommended to set this option to "Signed" to avoid issues.
Any
  • Enables any DMG images will mount as normal filesystems.
  • Any policy is strongly not recommended and will cause a boot failure when Apple Secure Boot is activated.
SecureBootModel
  • Default
  • Disabled
  • Defines Apple Secure Boot hardware model.
  • Sets Apple Secure Boot hardware model and policy.
  • Specifying this value defines which operating systems will be bootable.
  • Operating systems shipped before the specified model was released will not boot.

Default
  • Enables Default Secure Boot.
  • Recent available model, currently set to j137
Disabled
  • Disables Secure Boot.
  • It's advised to set this option as "Disabled" to avoid booting issues.
AllowNvramResetYES
  • Enables NVRAM reset when pressing Command+Option+P+R
  • Enables NVRAM Reset entry in boot picker.
  • It's recommended to set this option to "Enabled."
AllowSetDefaultYES
  • Allows to set default boot device in the boot picker using CTRL+Enter and CTRL+Index.


Bless Overrides
This section is used for adding custom scanning paths through bless model.

Note:
For a Cascade Lake-X/W System, this section requires no modification and will remain untouched.


Entries

This section is used to create boot entries when having multi boot and OpenCore fails to recognise it.

Note:
For a Cascade Lake-X/W System, this section requires no modification and will remain untouched.


Tools
This section is used for running debugging tools such as UEFI Shell.

Note:
For a Cascade Lake-X/W System, this section requires no modification and will remain untouched.



NVRAM



This section is for adding NVRAM properties, boot args and configuring SIP. The sub-sections are explained below.

Add
This section has various settings including UI, boot args, keyboard input, NVRAM settings and System Integrity Protection.

The required NVRAM properties for a Cascade Lake-X/W system includes:

UUIDKeyValueTypeNotes
7C436110-AB2A-4BBB-A880-FE41995C9F82boot-args
  • -v
  • npci=0x2000
  • alcid=xx
  • agdpmod=pikera
  • debug=0x100
  • keepsyms=1
STRING
  • Adds boot args which provides several functions.
-v
  • Enables verbose mode. Helpful to track the installation progress or when booting.
  • We recommend to use this boot arg.
npci=0x2000
  • Disables PCI debugging related to kIOPCIConfiguratorPFM64.
  • This issue can also fix stuck on "PCI Start Configuration Begin" as there are IRQ conflicts relating to PCI lanes.
agdpmod=pikera
  • Fixes Black Screen at boot for NAVI GPUs.
  • If you're using and AMD NAVI based GPU, you'll need to use this boot arg.
alcid=xx
  • Sets Layout ID for AppleALC.
  • The xx represents the layout ID for your codec.

debug=0x100
  • This disables macOS's watchdog which helps prevents a reboot on a kernel panic.
keepsyms=1
  • This is a companion setting to debug=0x100 that tells the OS to also print the symbols on a kernel panic.
  • This can give some more helpful insight as to what's causing the panic itself.
nvda_drv31DATA
  • Enables NVIDIA WebDrivers.
  • Equivalent to Clover's NVIDIAWeb option in System Parameters.
  • If you're using an NVIDIA GPU, you'll need to use this key.
csr-active-config
  • 00000000
DATA
  • Defines SIP type.
00000000
  • Enables SIP completely. (0x0)
  • It's advised to configure SIP via recovery using "csrutil."
  • For more information on SIP, check the SIP disabling guide.
prev-lang:kbden-US:0STRING
  • Sets Keyboard language.


Delete
Removes NVRAM variables from a map (plist dict) of GUIDs to an array (plist array) of variable names in plist string format.

Note:
For a Cascade Lake-X/W System, this section requires no modification and will remain untouched.


LegacySchema
This section is used for assigning NVRAM variables, used with LegacyEnable set to YES.
Enables loading of NVRAM variable file named nvram.plist from EFI volume root

Note:
For a Skylake-X/W System, this section requires no modification and will remain untouched.


OptionValueNotes
WriteFlashYES
  • Enables writing off added Variables to flash memory
  • It is recommended to have this value enabled on most types of firmware but it is left configurable for firmware that may have issues with NVRAM variable storage garbage collection or similar.

Note:
The values which have been not discussed above, that will remain disabled.



PlatformInfo



This section allows to set SMBIOS. It's an important section and has various impact on your system. The sub-sections are explained below.

DatHub - Generic - PlatformNVRAM

DataHub

OptionValueNotes
Add this section in config.plistYESAdds DataHub field

Generic

The required NVRAM properties for a Cascade Lake-X/W system includes:


OptionsValueNotes
Add this section in config.plistYESAdds Generic field
from SMBIOSYES
ProcessorType0
  • Sets SMBIOS Processor Type.
  • This will override your actual CPU type.
  • It's recommended to set this option to "0" to detect the original CPU by macOS instead of using SMBIOS CPU Type.
SystemMemoryStatusAuto
  • Indicates whether system memory is upgradable in PlatformFeature. This controls the visibility of the Memory tab in About This Mac.
Auto
  • Use the original PlatformFeature value.
  • It's recommended to set this option to "Auto."
Upgradable
  • Explicitly unset PT_FEATURE_HAS_SOLDERED_SYSTEM_MEMORY (0x2) in PlatformFeature.
Soldered
  • explicitly set PT_FEATURE_HAS_SOLDERED_SYSTEM_MEMORY (0x2) in PlatformFeature.
SpoofVendorYESSets SMBIOS vendor fields to Acidanthera

PlatformNVRAM

OptionValueNote
Add this section in config.plistYESAdds PlatformNVRAM field

Memory
This section allows to configure settings for your RAM.

To configure your memory settings, a separate thread is available


SMBIOS

OptionValueNote
Add this section in config.plistYESAdd SMBIOS field.

System

Note:
For a Cascade Lake-X/W System, this section requires no modification and will remain untouched.

BIOS

Note:
For a Cascade Lake-X/W System, this section requires no modification and will remain untouched.


Chassis

Note:
For a Cascade Lake-X/W System, this section requires no modification and will remain untouched.


Board



OptionsValueNot
AutomaticYES
  • Generate PlatformInfo based on Generic section instead of using values from DataHub, NVRAM, and SMBIOS sections.
UpdateDatHubYES
  • Update Data Hub fields. These fields are read from Generic or DataHub sections depending on Automatic value.
UpdateNVRAMYES
  • Update NVRAM fields related to platform information.
UpdateSMBIOSYES
  • Update SMBIOS fields. These fields are read from Generic or SMBIOS sections depending on Automatic value.
UpdateSMBIOSMode
  • Auto
  • Create
  • Overwrite
  • Custom
  • Update SMBIOS fields approach
Auto
  • Sets SMBIOS Mode to Auto
Create
  • Sets SMBIOS Mode to Create
Overwrite
  • Sets SMBIOS Mode to Overwrite
Custom
  • Sets SMBIOS Mode to Custom
If you're having a Dell Motherboard, it's advised to use Custom option.
When using this option, you must set CustomSMBIOSGuid quirk in Kernel section.
CustomMemoryNO
  • Use custom memory configuration defined in the Memory section. This completely replaces any existing memory configuration in SMBIOS, and is only active when UpdateSMBIOS is set to true.


UEFI


This section is for adding UEFI drivers and related settings.

APFS
Provides APFS settings for APFS Driver.

The required settings for a Cascade Lake-X/W system includes:

OptionValueNotes
JumpStartHotplugNO
  • Load APFS drivers for newly connected devices.
  • Enables Hot plug of APFS drives in boot picker.
  • It's advised to disable this option unless required.


Audio
Provides Audio related settings for Audiodxe Driver and Boot Chime.

Notes:
  • The Audio section in UEFI section is unrelated to Audio function on Mac.
  • This setting is important for Boot Chime. It's advised to setup this section during Post-Installation.
To enable Boot chime, follow the guide below.


Drivers
This section is for adding .efi drivers.

The required drivers for a Cascade Lake-X/W system includes:

DriversValueNotes
AudioDxe.efiYES
  • Provides Boot Chime support
  • If you want to use Boot Chime, you need this driver.
OpenCanopy.efi*YES
  • Provides GUI functionality for OpenCore Boot screen.
  • This driver is required if you need GUI or theme for OpenCore.
OpenRuntime.efi*YES
  • Runtime driver including several other drivers merged such as ApfsDriverLoader.
  • OpenRuntime.efi is a replacement for AptioMemoryFix.efi driver.
HFSPlus.efi*YES
  • Provides reading of HFS+ Volumes/drives in OpenCore Boot Picker.
  • Without HFSPlus.efi driver, you won't be able to see any HFS+ volumes including your USB installer and installation drive for macOS Sierra and prior in OpenCore boot picker.

Notes:
  • *Indicates Mandatory Drivers.
  • All the added drivers must exists in the EFI/OC/Drivers directory.

OptionValueNote
Connect DriversYES
  • Specifies and adds the drivers for booting.

Input
This section provides settings for FileVault and Hotkey support for Keyboard passthrough.

Notes:
  • Normally, this section requires no modification and will remain untouched.
If you want to enable FileVault, follow the guide below.

Output
This section provides settings for OpenCore GUI.

Note:
Normally, this section requires no modification and will remain untouched.


ProtocolsOverride

This section provides settings for Virtual machines, legacy Macs and FileVault users.

Note:
Normally, this section requires no modification and will remain untouched.

If you want to enable FileVault, follow the guide below.


ReservedMemory
This section is used for exempting certain memory regions from OS(s) to use, mainly relevant for Sandy Bridge iGPUs or systems with faulty memory.

Note:
For a Cascade Lake-X/W System, this section requires no modification and will remain untouched.


Quirks
The required Quirks for a Cascade Lake-X/W system includes:


OptionsValueNotes
IgnoreInvalidFlexRatioYES
  • Some types of firmware (such as APTIO IV) may contain invalid values in the MSR_FLEX_RATIO (0x194) MSR register. These values may cause macOS boot failures on Intel platforms.
  • This quirk is required for all pre-Skylake based systems.
ReleaseUsbOwnershipYES
  • Attempt to detach USB controller ownership from the firmware driver. While most types of firmware manage to do that properly, or at least have an option for this, some do not. As a result, the operating system may freeze upon boot.
  • It's recommended to enable this quirk.
RequestBootVarRootingYES
  • Redirects AptioMemoryFix from EFI_GLOBAL_VARIABLE_GUID to OC_VENDOR_VARIABLE_GUID.
  • This quirk is required for using the Startup Disk preference pane in firmwares that is not compatible with macOS boot entries.
  • It's recommended to enable this quirk on all systems.
UnblockFsConnectNO
  • Some types of firmware block partition handles by opening them in By Driver mode, resulting in being unable to install File System protocols.
  • If you're using an HP Motherboard, you'll need to "enable" this quirk.
DuplicateBootOrderYES
  • Remove duplicate entries in BootOrder variable in EFI_GLOBAL_VARIABLE_GUID.
  • This quirk fixes duplicate boot order in Boot Menu.

Note:
The values which have been not discussed above, that will remain disabled.
 

Similar threads

Trending Threads

Latest posts

Forum statistics

Threads
553
Messages
5,564
Members
4,944
Latest member
Melgio