• Become a Premium Member for $25/year with no ads to improve your community experience.

GUIDE How to Create OpenCore Config.plist file for booting macOS on Intel Desktops

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
6,637
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
13.x
Bootloader
  1. OpenCore (UEFI)
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS

How to Create OpenCore Config.plist file for booting macOS on Intel Desktops



An EliteMacx86 Exclusive Guide - This guide covers creation of config.plist for booting macOS on Intel Desktops for OpenCore as a bootloader.

Overview


The config.plist is a system configuration file for the Hackintosh and allows to boot macOS. Without a config.plist, no machine can boot into macOS.

A basic config.plist file is bundled with OpenCore. The config.plist which comes with OpenCore, is the default config.plist and is not optimised for all the systems. It can boot into some installation but when talking about the majority, it will fail to boot on most of the newer machines and high end builds.

Also, it's a good idea to create a config.plist for each specific system which will exclude the errors and trouble while installation and you can easily boot into macOS installation. The configuration file is written in XML and can be edited using a text editor. But we don't recommend you to use a text editor as it has a chance of config.plist file corruption. The best way to edit a config.plist is to use some specific tools like Clover Configurator, Xcode, Plist Editor Pro etc..

This guide covers a creation of basic config.plist which will allow to boot most of the systems.

For AMD users, a separate thread is available.

For Laptop users, a separate thread is available.

Notes:
  • It's good to have a minimal configuration and options set before you install. Once you install, you can add the other options later on. This will cause less trouble and speedup the installation process.
  • As it's a basic config.plist creation guide, so only important sections has been discussed. This will only allow to boot your system. For further hardware functioning, check the related guides on the forum.
  • All the properties and schemes must be defined. Do not delete sections unless specified in the guide or OpenCore will result in error.
  • This guide is as per OpenCore 0.6.6 standards.

Background
The guide discuss about all the configurations for each supported Intel CPU series.

This guide covers the creation of config.plist on the following.
  • Clarkdale
  • Sandy Bridge
  • Ivy bridge
  • Haswell
  • Skylake
  • Kaby Lake
  • Coffee Lake
  • Comet Lake
  • Nehalem
  • Westmere
  • Sandy Bridge-E
  • Ivy Bridge-E
  • Haswell-E
  • Broadwell-E
  • Skylake-X/W
  • Cascade Lake-X/W
Compatibility List


Intel's Sandy Bridge and later supports upto macOS Big Sur. Refer to the chart below to confirm the compatibility of your Intel CPU.

Intel Consumer Series
ManufacturerCode NameSierraHigh SierraMojaveCatalinaBig Sur
IntelYonah❌❌❌❌❌
IntelCanroe❌❌❌❌❌
IntelPenryn❌❌❌❌❌
IntelLynnfield❌❌❌❌❌
IntelClarkdale❌❌❌❌❌
IntelSandy Bridge❎❎❌
IntelIvy Bridge❎
IntelHaswell
IntelBroadwell
IntelSkylake
IntelKaby Lake
IntelCoffee Lake and Coffee Lake-R❎
IntelComet Lake❎❎❎

Intel HEDT (High End Desktop)
ManufacturerCode NameSierraHigh SierraMojaveCatalinaBig Sur
IntelNehalem❌❌❌❌❌
IntelWestmere❌❌❌❎❎
IntelSandy Bridge-E❌❌
IntelIvy Bridge-E❌
IntelHaswell-E
IntelBroadwell-E
IntelSkylake-X/W❌
IntelCascade Lake-X/W❌

= Natively supported

❎ = Partially supported

❌ = Not supported

Preparing Config.plist


Before you prepare your config.plist, you need to grab a sample config.plist.

To obtain a sample config.plist, follow the guide below.

After grabbing the config.plist, use any .plist editor and setup your config.plist for your target system as described below.
 
Last edited:
How to create a config.plist for booting macOS on Intel Desktops [OpenCore]

Sandy Bridge


SupportCompatibility
macOS Official SupportUpto macOS High Sierra
macOS Community SupportUpto macOS Catalina
IGPU Support*Sandy Bridge IGPU is only supported upto macOS High Sierra officially.
Legacy/UEFI**Most of the motherboard doesn't supports UEFI


Notes:
  • *Sandy Bridge IGPUs are only supported upto macOS High Sierra officially. For using it on Mojave and later, use Chris111 work.
  • **Most of the Sandy Bridge Motherboards doesn't supports UEFI. If you have Legacy BIOS, follow the guide here.

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 Sandy Bridge 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-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 Sandy Bridge system, it's necessary to drop the tables as XCPM is not supported on all Sandy Bridge Systems. A workaround is to drop the tables for installing and create a SSDT for CPU PM during Post-Install.

Table Signature*OemTableIdTableLengthCommentAllEnabledNotes
437075506d0000000Drop CpuPmYESYES
  • This patch drops Cpupm table. Mandatory for all Sandy Bridge Systems.
43707530497374000Drop Cpu0IstYESYES
  • This patch drops Cpu0Ist table. Mandatory for all Sandy Bridge Systems.


Note:
If you don't drop the tables, you can have a AppleIntelCPUPowerManagement panic when booting the installer.


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 Sandy Bridge 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.
DSDT4548433245483032Rename EHC2 to EH02 (USB)*YES
  • Renames EHC2 to EH02 for proper USB functioning.
  • This rename is required for fixing USB Ports with EHCI Controller.
DSDT4746583049475055Rename GFX0 to IGPU (Graphics)YES
  • Renames GFX0 to IGPU for a better power power management.
  • This rename is required for implementing IGPU Power Management.
  • Only use if you're using IGPU as a Graphics Device.
  • On few motherboards, this rename can lead to still waiting for device error. If you encounter such issue, disable this rename.
DSDT5045475047465830Rename PEGP to GFX0 (Graphics)YES
  • Renames PEGP to GFX0 for a better power management.
  • This rename is required for implementing discrete GPU Power Management.
  • Only use if you're using Discrete Graphics Card.
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 a Sandy Bridge 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 Sandy Bridge 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 Sandy Bridge 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.
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.

The common Device properties for a Sandy Bridge system includes:

DevicesKeyValueTypeNotes
  • PciRoot(0x0)/Pci(0x2,0x0)
AAPL,snb-platform-id10000300DATA
  • Enables IGPU Graphics acceleration and support.
device-id26010000DATA
  • Device ID for IGPU.

Note:
If you're using any Discrete GPU, it's recommended to disable the above property.


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 Sandy Bridge 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 Sandy Bridge system, this section requires no modification and will remain untouched.


Force

This section allows to force kexts from loading.

Note:
For a Sandy Bridge system, this section requires no modification and will remain untouched.


Patch
This section allows patching for Kernel and Kexts.

Note:
For a Sandy Bridge 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 a Sandy Bridge 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 Sandy Bridge 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.
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.
DisableIoMapper
  • 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 Sandy Bridge 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 Sandy Bridge 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 Sandy Bridge 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 Sandy Bridge 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 Sandy Bridge 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 Sandy Bridge 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 Sandy Bridge system includes:

UUIDKeyValueTypeNotes
7C436110-AB2A-4BBB-A880-FE41995C9F82boot-args
  • -v
  • 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.
alcid=xx
  • Sets Layout ID for AppleALC.
  • The xx represents the layout ID for your codec.

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.

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 Sandy Bridge 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 Sandy Bridge 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 Sandy Bridge 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 Sandy Bridge system, this section requires no modification and will remain untouched.

BIOS

Note:
For a Sandy Bridge system, this section requires no modification and will remain untouched.


Chassis

Note:
For a Sandy Bridge 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 Sandy Bridge 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 Sandy Bridge 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 Sandy Bridge system, this section requires no modification and will remain untouched.


Quirks
The required Quirks for a Sandy Bridge 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 Sandy Bridge 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:
How to create a config.plist for booting macOS on Intel Desktops [OpenCore]

Ivy Bridge


SupportCompatibility
macOSmacOS High Sierra and above
IGPU Support*Ivy Bridge IGPU is only supported upto macOS Big Sur officially.


Notes:
  • *Ivy Bridge IGPUs are only supported upto macOS Catalina officially. For using it on Mojave and later, use Chris111 work.

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 Ivy Bridge 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-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.
SSDT-IMEIYes
  • This SSDT enables missing IMEI device.
  • This SSDT is required for 6 series Motherboards.

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 Ivy Bridge system, it's necessary to drop the tables as XCPM is not supported on all Ivy Bridge Systems. A workaround is to drop the tables for installing and create a SSDT for CPU PM during Post-Install.

Table Signature*OemTableIdTableLengthCommentAllEnabledNotes
437075506d0000000Drop CpuPmYESYES
  • This patch drops Cpupm table. Mandatory for all Ivy Bridge Systems.
43707530497374000Drop Cpu0IstYESYES
  • This patch drops Cpu0Ist table. Mandatory for all Ivy Bridge Systems.


Note:
If you don't drop the tables, you can have a AppleIntelCPUPowerManagement panic when booting the installer.


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 Ivy Bridge 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.
DSDT4746583049475055Rename GFX0 to IGPU (Graphics)YES
  • Renames GFX0 to IGPU for a better power power management.
  • This rename is required for implementing IGPU Power Management.
  • Only use if you're using IGPU as a Graphics Device.
  • On few motherboards, this rename can lead to still waiting for device error. If you encounter such issue, disable this rename.
DSDT5045475047465830Rename PEGP to GFX0 (Graphics)YES
  • Renames PEGP to GFX0 for a better power management.
  • This rename is required for implementing discrete GPU Power Management.
  • Only use if you're using Discrete Graphics Card.
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 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 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 Ivy Bridge 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.
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.

The common Device properties for a Ivy Bridge system includes:

DevicesKeyValueTypeNotes
  • PciRoot(0x0)/Pci(0x2,0x0)
AAPL,ig-platform-id0A006601DATA
  • Enables IGPU Graphics acceleration and support.
device-id07006201DATA
  • Device ID for IGPU.

Note:
If you're using any Discrete GPU, it's recommended to disable the above property.


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 Ivy Bridge 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 System, this section requires no modification and will remain untouched.


Force

This section allows to force kexts from loading.

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


Patch
This section allows patching for Kernel and Kexts.

Note:
For an Ivy Bridge 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 a Ivy Bridge 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 Ivy Bridge 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.
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.
DisableIoMapper
  • 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 Ivy Bridge 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 Ivy Bridge 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 Ivy Bridge 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 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 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 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 Ivy Bridge system includes:

UUIDKeyValueTypeNotes
7C436110-AB2A-4BBB-A880-FE41995C9F82boot-args
  • -v
  • 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.
alcid=xx
  • Sets Layout ID for AppleALC.
  • The xx represents the layout ID for your codec.

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.

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 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 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 Ivy Bridge 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 System, this section requires no modification and will remain untouched.

BIOS

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


Chassis

Note:
For an Ivy Bridge 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 Ivy Bridge 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 Ivy Bridge 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 System, this section requires no modification and will remain untouched.


Quirks
The required Quirks for a Ivy Bridge 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 Sandy Bridge 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:
How to create a config.plist for booting macOS on Intel Desktops [OpenCore]

Haswell


SupportCompatibility
macOSmacOS High Sierra and above
IGPU SupportHaswell IGPU is supported upto macOS Catalina officially.


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 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-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 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 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.
DSDT4746583049475055Rename GFX0 to IGPU (Graphics)YES
  • Renames GFX0 to IGPU for a better power power management.
  • This rename is required for implementing IGPU Power Management.
  • Only use if you're using IGPU as a Graphics Device.
  • On few motherboards, this rename can lead to still waiting for device error. If you encounter such issue, disable this rename.
DSDT5045475047465830Rename PEGP to GFX0 (Graphics)YES
  • Renames PEGP to GFX0 for a better power management.
  • This rename is required for implementing discrete GPU Power Management.
  • Only use if you're using Discrete Graphics Card.
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.
  • 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 a Haswell 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 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 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.

The common Device properties for a Haswell system includes:

DevicesKeyValueTypeNotes
  • PciRoot(0x0)/Pci(0x2,0x0)
AAPL,ig-platform-id0300220DDATA
  • Enables IGPU Graphics acceleration and support.
device-id12040000DATA
  • Device ID for IGPU.

Note:
If you're using any Discrete GPU, it's recommended to disable the above property.


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 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 system, this section requires no modification and will remain untouched.


Force

This section allows to force kexts from loading.

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


Patch
This section allows patching for Kernel and Kexts.

Note:
For a Haswell 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 a Haswell 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 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.
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 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 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 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 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 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 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 system includes:

UUIDKeyValueTypeNotes
7C436110-AB2A-4BBB-A880-FE41995C9F82boot-args
  • -v
  • 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.
alcid=xx
  • Sets Layout ID for AppleALC.
  • The xx represents the layout ID for your codec.

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.

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 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 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 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 system, this section requires no modification and will remain untouched.

BIOS

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


Chassis

Note:
For a Haswell 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 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 system, this section requires no modification and will remain untouched.


Quirks
The required Quirks for a Haswell 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.
 
How to create a config.plist for booting macOS on Intel Desktops [OpenCore]

Broadwell


SupportCompatibility
macOSmacOS High Sierra and above
IGPU SupportBroadwell IGPU is supported upto macOS Big Sur officially.


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 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-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 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 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.
DSDT4746583049475055Rename GFX0 to IGPU (Graphics)YES
  • Renames GFX0 to IGPU for a better power power management.
  • This rename is required for implementing IGPU Power Management.
  • Only use if you're using IGPU as a Graphics Device.
  • On few motherboards, this rename can lead to still waiting for device error. If you encounter such issue, disable this rename.
DSDT5045475047465830Rename PEGP to GFX0 (Graphics)YES
  • Renames PEGP to GFX0 for a better power management.
  • This rename is required for implementing discrete GPU Power Management.
  • Only use if you're using Discrete Graphics Card.
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.
  • 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 a Broadwell 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 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 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.

The required Device properties for a Broadwell system includes:

DevicesKeyValueTypeNotes
  • PciRoot(0x0)/Pci(0x2,0x0)
AAPL,ig-platform-id0300220DDATA
  • Enables IGPU Graphics acceleration and support.
device-id12040000DATA
  • Device ID for IGPU.

Note:
If you're using any Discrete GPU, it's recommended to disable the above property.


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 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 system, this section requires no modification and will remain untouched.


Force

This section allows to force kexts from loading.

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


Patch
This section allows patching for Kernel and Kexts.

Note:
For a Broadwell 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 a Broadwell 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 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.
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 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 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 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 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 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 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 system includes:

UUIDKeyValueTypeNotes
7C436110-AB2A-4BBB-A880-FE41995C9F82boot-args
  • -v
  • 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.
alcid=xx
  • Sets Layout ID for AppleALC.
  • The xx represents the layout ID for your codec.

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.

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 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 Broadwell 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 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 system, this section requires no modification and will remain untouched.

BIOS

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


Chassis

Note:
For a Broadwell 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 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 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 system, this section requires no modification and will remain untouched.


Quirks
The required Quirks for a Broadwell 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.
 
How to create a config.plist for booting macOS on Intel Desktops [OpenCore]

Skylake


SupportCompatibilityNote
macOSmacOS High Sierra and above
IGPU SupportSkylake IGPU is supported upto macOS Big Sur officially.Sleep/Wake function on Skylake system is broken when using IGPU as a Graphics Device


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 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-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 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 system includes:

Table Signature*FindReplaceCommentEnabledNotes
DSDT4746583049475055Rename GFX0 to IGPU (Graphics)YES
  • Renames GFX0 to IGPU for a better power power management.
  • This rename is required for implementing IGPU Power Management.
  • Only use if you're using IGPU as a Graphics Device.
  • On few motherboards, this rename can lead to still waiting for device error. If you encounter such issue, disable this rename.
DSDT5045475047465830Rename PEGP to GFX0 (Graphics)YES
  • Renames PEGP to GFX0 for a better power management.
  • This rename is required for implementing discrete GPU Power Management.
  • Only use if you're using Discrete Graphics Card.
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:
  • If you're using Discrete Graphics Device, it's advised to disable IGPU for less hassle.
  • 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 Skylake 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 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 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.
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.

The required Device properties for a Skylake system includes:

DevicesKeyValueTypeNotes
  • PciRoot(0x0)/Pci(0x2,0x0)
AAPL,ig-platform-id00001219DATA
  • Enables IGPU Graphics acceleration and support.
device-id1B190000DATA
  • Device ID for IGPU.
  • Enables P530 Graphics which is natively not supported.
  • If you're having P530 Graphics, you'll need to add device-id.

Note:
If you're using any Discrete GPU, it's recommended to disable the above property.


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 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 system, this section requires no modification and will remain untouched.


Force

This section allows to force kexts from loading.

Note:
For a Skylake system, this section requires no modification and will remain untouched.


Patch
This section allows patching for Kernel and Kexts.

Note:
For a Skylake 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 a Skylake 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 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.
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 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 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 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 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 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 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 system includes:

UUIDKeyValueTypeNotes
7C436110-AB2A-4BBB-A880-FE41995C9F82boot-args
  • -v
  • 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.
alcid=xx
  • Sets Layout ID for AppleALC.
  • The xx represents the layout ID for your codec.

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.

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 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 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 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 system, this section requires no modification and will remain untouched.

BIOS

Note:
For a Skylake system, this section requires no modification and will remain untouched.


Chassis

Note:
For a Skylake 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 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 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 system, this section requires no modification and will remain untouched.


Quirks
The required Quirks for a Skylake system includes:


OptionsValueNotes
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 set this quirk to "Enabled."
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:
How to create a config.plist for booting macOS on Intel Desktops [OpenCore]

Kaby Lake


SupportCompatibilityNote
macOSmacOS Sierra and above
IGPU SupportKaby Lake IGPU is supported upto macOS Big Sur officially.Sleep/Wake function on Kaby Lake system is broken when using IGPU as a Graphics Device


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 Kaby Lake 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-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 Kaby Lake 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 Kaby Lake system includes:

Table Signature*FindReplaceCommentEnabledNotes
DSDT4746583049475055Rename GFX0 to IGPU (Graphics)YES
  • Renames GFX0 to IGPU for a better power power management.
  • This rename is required for implementing IGPU Power Management.
  • Only use if you're using IGPU as a Graphics Device.
  • On few motherboards, this rename can lead to still waiting for device error. If you encounter such issue, disable this rename.
DSDT5045475047465830Rename PEGP to GFX0 (Graphics)YES
  • Renames PEGP to GFX0 for a better power management.
  • This rename is required for implementing discrete GPU Power Management.
  • Only use if you're using Discrete Graphics Card.
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:
  • If you're using Discrete Graphics Device, it's advised to disable IGPU for less hassle.
  • 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 Kaby Lake 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 Kaby Lake 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 Kaby Lake 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.
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.

The required Device properties for a Kaby Lake system includes:

DevicesKeyValueTypeNotes
  • PciRoot(0x0)/Pci(0x2,0x0)
AAPL,ig-platform-id00001259DATA
  • Enables IGPU Graphics acceleration and support.
framebuffer-patch-enable01000000DATA
  • Enables Framebuffer patching using WhateverGreen.kext.
framebuffer-stolenmem00003001DATA
  • Sets min stolen memory to 19MB.
  • This is required by some branded systems or for systems where no option is available to set DVMT Pre-Alloc in BIOS.
  • If your BIOS has option to set DVMT Pre-Alloc, you don't need any framebuffer entry.
  • The DVMT Pre-Alloc must be set to 64MB. For 2K/UHD/QHD/4k monitors, you might need to increase the value.

Note:
If you're using any Discrete GPU, it's recommended to disable the above property.


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 Kaby Lake 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 Kaby Lake system, this section requires no modification and will remain untouched.


Force

This section allows to force kexts from loading.

Note:
For a Kaby Lake system, this section requires no modification and will remain untouched.


Patch
This section allows patching for Kernel and Kexts.

Note:
For a Kaby Lake 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 a Kaby Lake 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 Kaby Lake 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.
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 Kaby Lake 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 Kaby Lake 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 Kaby Lake 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 Kaby Lake 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 Kaby Lake 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 Kaby Lake 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 Kaby Lake system includes:

UUIDKeyValueTypeNotes
7C436110-AB2A-4BBB-A880-FE41995C9F82boot-args
  • -v
  • 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.
alcid=xx
  • Sets Layout ID for AppleALC.
  • The xx represents the layout ID for your codec.

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.

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 Kaby Lake 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 Kaby Lake 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 Kaby Lake 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 Kaby Lake system, this section requires no modification and will remain untouched.

BIOS

Note:
For a Kaby Lake system, this section requires no modification and will remain untouched.


Chassis

Note:
For a Kaby Lake 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 Kaby Lake 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 Kaby Lake 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 Kaby Lake system, this section requires no modification and will remain untouched.


Quirks
The required Quirks for a Kaby Lake system includes:


OptionsValueNotes
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 set this quirk to "Enabled."
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:
How to create a config.plist for booting macOS on Intel Desktops [OpenCore]

Coffee Lake and Coffee Lake-R


SupportCompatibilityNote
macOSmacOS Sierra and above
IGPU SupportCoffee Lake Lake IGPU is supported upto macOS Big Sur officially.Sleep/Wake function is broken on Coffee Lake Desktops when using IGPU as a Graphics Device.


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 Coffee Lake 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-AWACYES
  • This SSDT serves 300 series RTC patch.
  • This SSDT is required for all 400 series Motherboards.
  • This SSDT can also fix stuck at afps_module_start error while booting the installer.
SSDT-PMCYES
  • This SSDT is required for NVRAM support.
  • This SSDT is required for all 300 series motherboards except Z370.
  • This SSDT fixes NVRAM and can fix sleep/wake, restart/shut down issues.
  • This SSDT can also fix black screen after macOS finishes loading. This applies to IGPU, NVIDIA and AMD.
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 Coffee Lake 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 Coffee Lake system includes:

Table Signature*FindReplaceCommentEnabledNotes
DSDT4746583049475055Rename GFX0 to IGPU (Graphics)YES
  • Renames GFX0 to IGPU for a better power power management.
  • This rename is required for implementing IGPU Power Management.
  • Only use if you're using IGPU as a Graphics Device.
  • On few motherboards, this rename can lead to still waiting for device error. If you encounter such issue, disable this rename.
DSDT5045475047465830Rename PEGP to GFX0 (Graphics)YES
  • Renames PEGP to GFX0 for a better power management.
  • This rename is required for implementing discrete GPU Power Management.
  • Only use if you're using Discrete Graphics Card.
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 MEI 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:
  • If you're using Discrete Graphics Device, it's advised to disable IGPU for less hassle.
  • 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 Coffee Lake 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 Coffee Lake 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 Coffee Lake 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.
  • It's recommended to "enable" this quirk.
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.
ProvideCustomSlideYES
  • Provide custom KASLR slide on low memory.
  • This option forces macOS to use a pseudo random value among the available ones.
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.

The required Device properties for a Coffee Lake system includes:

DevicesKeyValueTypeNotes
  • PciRoot(0x0)/Pci(0x2,0x0)
AAPL,ig-platform-id
  • 07009B3E
  • 00009B3E
DATA
  • Sets ig-platform-id.
07009B3E
  • Recommended ig-platform-id for Coffee Lake.
00009B3E
  • Alternative ig-platform-id for Coffee Lake.
  • If the recommended ig-platform-id doesn't works, use the alternative ig-platform-id.
framebuffer-patch-enable01000000DATA
  • Enables Framebuffer patching using WhateverGreen.kext.
framebuffer-stolenmem00003001DATA
  • Sets min stolen memory to 19MB.
  • This is required by some branded systems or for systems where no option is available to set DVMT Pre-Alloc in BIOS.
  • If your BIOS has option to set DVMT Pre-Alloc, you don't need any framebuffer entry.
  • The DVMT Pre-Alloc must be set to 64MB. For 2K/UHD/QHD/4k monitors, you might need to increase the value.

Note:
If you're using any Discrete GPU, it's recommended to disable the above property.


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 Coffee Lake 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 Coffee Lake system, this section requires no modification and will remain untouched.


Force

This section allows to force kexts from loading.

Note:
For a Coffee Lake system, this section requires no modification and will remain untouched.


Patch
This section allows patching for Kernel and Kexts.

Note:
For a Coffee Lake 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 a Coffee Lake 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 Coffee Lake 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.
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 Coffee Lake 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 Coffee Lake 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 Coffee Lake 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 Coffee Lake 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 Coffee Lake 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 Coffee Lake 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 Coffee Lake system includes:

UUIDKeyValueTypeNotes
7C436110-AB2A-4BBB-A880-FE41995C9F82boot-args
  • -v
  • 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.
alcid=xx
  • Sets Layout ID for AppleALC.
  • The xx represents the layout ID for your codec.

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.

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 Coffee Lake 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 Coffee Lake 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 Coffee Lake 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 Coffee Lake system, this section requires no modification and will remain untouched.

BIOS

Note:
For a Coffee Lake system, this section requires no modification and will remain untouched.


Chassis

Note:
For a Coffee Lake 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 Coffee Lake 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 Coffee Lake 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 Coffee Lake system, this section requires no modification and will remain untouched.


Quirks
The required Quirks for a Coffee Lake system includes:


OptionsValueNotes
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 set this quirk to "Enabled."
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:
How to create a config.plist for booting macOS on Intel Desktops [OpenCore]

Comet Lake


SupportCompatibilityNote
macOSmacOS Sierra and above
IGPU SupportComet Lake Lake IGPU is supported upto macOS Big Sur officially.Sleep/Wake function is broken on Comet Lake Desktops when using IGPU as a Graphics Device.


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 Comet Lake 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-AWACYES
  • This SSDT serves 300 series RTC patch.
  • This SSDT is required for all 400 series Motherboards.
  • This SSDT can also fix stuck at afps_module_start 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 Comet Lake 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 Comet Lake system includes:

Table Signature*FindReplaceCommentEnabledNotes
DSDT4746583049475055Rename GFX0 to IGPU (Graphics)YES
  • Renames GFX0 to IGPU for a better power power management.
  • This rename is required for implementing IGPU Power Management.
  • Only use if you're using IGPU as a Graphics Device.
  • On few motherboards, this rename can lead to still waiting for device error. If you encounter such issue, disable this rename.
DSDT5045475047465830Rename PEGP to GFX0 (Graphics)YES
  • Renames PEGP to GFX0 for a better power management.
  • This rename is required for implementing discrete GPU Power Management.
  • Only use if you're using Discrete Graphics Card.
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 MEI 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:
  • If you're using Discrete Graphics Device, it's advised to disable IGPU for less hassle.
  • 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 Comet Lake 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 Comet Lake 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 Comet Lake 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.
  • It's recommended to "enable" this quirk.
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.
ProvideCustomSlideYES
  • Provide custom KASLR slide on low memory.
  • This option forces macOS to use a pseudo random value among the available ones.
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.

The required Device properties for a Comet Lake system includes:

DevicesKeyValueTypeNotes
  • PciRoot(0x0)/Pci(0x2,0x0)
AAPL,ig-platform-id
  • 07009B3E
  • 00009B3E
DATA
  • Sets ig-platform-id.
07009B3E
  • Recommended ig-platform-id for Comet Lake.
00009B3E
  • Alternative ig-platform-id for Comet Lake.
  • If the recommended ig-platform-id doesn't works, use the alternative ig-platform-id.
framebuffer-patch-enable01000000DATA
  • Enables Framebuffer patching using WhateverGreen.kext.
framebuffer-stolenmem00003001DATA
  • Sets min stolen memory to 19MB.
  • This is required by some branded systems or for systems where no option is available to set DVMT Pre-Alloc in BIOS.
  • If your BIOS has option to set DVMT Pre-Alloc, you don't need any framebuffer entry.
  • The DVMT Pre-Alloc must be set to 64MB. For 2K/UHD/QHD/4k monitors, you might need to increase the value.

Note:
If you're using any Discrete GPU, it's recommended to disable the above property.


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 Comet Lake 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 Comet Lake system, this section requires no modification and will remain untouched.


Force

This section allows to force kexts from loading.

Note:
For a Comet Lake system, this section requires no modification and will remain untouched.


Patch
This section allows patching for Kernel and Kexts.

Note:
For a Comet Lake 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 a Comet Lake 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 Comet Lake 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.
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 Comet Lake 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 Comet Lake 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 Comet Lake 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 Comet Lake 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 Comet Lake 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 Comet Lake 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 Comet Lake system includes:

UUIDKeyValueTypeNotes
7C436110-AB2A-4BBB-A880-FE41995C9F82boot-args
  • -v
  • 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.
alcid=xx
  • Sets Layout ID for AppleALC.
  • The xx represents the layout ID for your codec.

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.

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 Comet Lake 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 Comet Lake 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 Comet Lake 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 Comet Lake system, this section requires no modification and will remain untouched.

BIOS

Note:
For a Comet Lake system, this section requires no modification and will remain untouched.


Chassis

Note:
For a Comet Lake 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 Comet Lake 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 Comet Lake 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 Comet Lake system, this section requires no modification and will remain untouched.


Quirks
The required Quirks for a Comet Lake system includes:


OptionsValueNotes
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 set this quirk to "Enabled."
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:
How to create a config.plist for booting macOS on Intel Desktops [OpenCore]

Sandy Bridge-E


SupportCompatibilityNotes
macOSmacOS High Sierra and above
IGPU Support*No IGPU found on Intel Sandy 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 Sandy 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 a Sandy 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 a Sandy 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 a Sandy 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 a Sandy 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 a Sandy 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 a Sandy 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 a Sandy 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 a Sandy 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 a Sandy Bridge-E System, this section requires no modification and will remain untouched.


Force

This section allows to force kexts from loading.

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


Patch
This section allows patching for Kernel and Kexts.

Note:
For a Sandy 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 a Sandy 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 a Sandy 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 a Sandy 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 a Sandy 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 a Sandy 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 a Sandy 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 a Sandy 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 a Sandy 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 a Sandy 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 a Sandy 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 a Sandy 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 a Sandy 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 a Sandy Bridge-E System, this section requires no modification and will remain untouched.

BIOS

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


Chassis

Note:
For a Sandy 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 a Sandy 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 a Sandy 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 a Sandy Bridge-E System, this section requires no modification and will remain untouched.


Quirks
The required Quirks for a Sandy 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.
 

Forum statistics

Threads
1,479
Messages
14,007
Members
21,185
Latest member
Change4209