GUIDE How to Create a config.plist file for booting macOS on Intel Laptops [OpenCore]

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Motherboard
GIGABYTE Z370 AROUS GAMING 3
CPU
Intel Core i9 9900K
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. MacBook Pro
Mobile Phone
  1. Android
  2. iOS

How to Create a config.plist file for booting macOS on Intel Laptops [OpenCore]


An EliteMacx86 Exclusive Guide - This guide covers creation of config.plist for booting macOS on Intel Laptops 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 Desktop 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.4 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 and Kaby Lake-R
  • Coffee Lake and Coffee Lake-R
  • Canon Lake
  • Whiskey Lake
  • Amber Lake Y
  • Comet Lake
  • Ice Lake
  • Tiger Lake

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 and Kaby Lake-R
IntelCoffee Lake and Coffee Lake-R❎
IntelWhiskey Lake❎❎
IntelAmber Lake Y
IntelComet Lake❎❎❎
IntelIce Lake
IntelTiger Lake


= 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:

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Motherboard
GIGABYTE Z370 AROUS GAMING 3
CPU
Intel Core i9 9900K
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
How to create a config.plist for booting macOS on Intel Laptops [OpenCore]

Sandy Bridge


SupportCompatibilityNotes
macOSmacOS High Sierra and above
IGPU Support*Sandy Bridge IGPU is only supported upto macOS High Sierra officially.Sandy Bridge IGPUs are only supported upto macOS High Sierra officially. For using it on Mojave and later, use Chris111 work.
DGPU SupportDGPU isn't supported on Laptops when using OS X/macOS.DGPU can only work on Laptops if it meets the requirements listed below.
  • Compatible DGPU
  • Intel GPU must be factory disabled.
Legacy/UEFI**Most of the Sandy Bridge Laptops doesn't supports UEFIMost of the Sandy Bridge Motherboards doesn't supports UEFI. If you have Legacy BIOS, follow the guide here.


Notes:
*To use Mojave and later on Sandy Bridge Laptops, follow the guide below to fix your Intel HD Graphics 3000.


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 Laptop 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-IMEIYES
  • This SSDT enables missing IMEI device.
  • This SSDT is required for 7 series Laptops.
SSDT-PNLFYES
  • This SSDT provides Backlight support.
  • This SSDT is required for Brightness Control.

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 Laptop 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 IGPU 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.
DSDT50434930 5649445F50434930 49475055Rename PCI0.VID to IGPU #1 (Graphics, Thinkpad)*YES
  • Renames PCI0.VID for a better IGPU power management.
  • This rename is required for implementing IGPU Power Management.
  • On few Thinkpad and Lenovo Laptops, the Graphics address is PCI0.VID instead of GFX0.
  • This rename can lead to still waiting for device error. If you encounter such issue, disable this rename.
  • This rename is only for Thinkpad and Lenovo Laptops.
DSDT5649445F 085F4144 520C0000 020049475055 085F4144 520C0000 0200change PCI0.VID to IGPU #2 (Graphics, Thinkpad)*YES
  • Renames PCI0.VID for a better IGPU power management.
  • This rename is required for implementing IGPU Power Management.
  • On few Thinkpad and Lenovo Laptops, the Graphics address is PCI0.VID instead of GFX0.
  • This rename can lead to still waiting for device error. If you encounter such issue, disable this rename.
  • This rename is only for Thinkpad and Lenovo Laptops.
DSDT4844415348444546Rename HDAS to HDEF (Audio)YES
  • Renames HDAS to HDEF for Audio.
  • This rename is required for implementing Audio Function.
  • For Branded Systems, you may need to patch your DSDT. For more information on Audio implementation, read here.

Notes:
  • The EHC renames must be used in the conjunction to enable the proper USB renaming.
  • The PCI0.VID renames must be used in the conjunction to enable the proper IGPU 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 Laptop, 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 Laptop, 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 Laptop 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 Sandy Bridge Laptop includes:

DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)AAPL,snb-platform-id00000100DATA
  • Enables IGPU Graphics acceleration and support.
AAPL00,DualLink1NUMBER
  • Sets Dual Link into IGPU
  • This property is required for Laptops having 1600x900 or higher screen resolution.
hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on IGPU.
  • This property provides HDMI/DP function and can also fix crash issue when Hot plugging.
PciRoot(0)/Pci(0x1b,0)hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on HDEF.
  • This property provides HDMI/DP function and can also fix crash issue when Hot plugging.
layout-idxxNUMBER
  • Sets Layout ID for your Audio Codec.
  • Although, there's a new way to set Layout ID. However, few Laptops still require it.
no-controller-patch1NUMBER

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


Force

This section allows to force kexts from loading.

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


Patch
This section allows patching for Kernel and Kexts.

Note:
For a Sandy Bridge Laptop, 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 Laptop 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 Laptop 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 Laptop 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 Laptop 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 Laptop 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 Laptop, 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 Laptop, 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 Laptop, 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 Laptop includes:

UUIDKeyValueTypeNotes
7C436110-AB2A-4BBB-A880-FE41995C9F82boot-args
  • -v
  • -cdfon
  • alcid=xx
  • wegnoegpu
  • 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.
  • Once you're done with the installation and post installation, you can disable this boot arg.
-cdfon
  • Enables CoreDisplayFixup functionality via WhateverGreen.kext.
  • If your Laptop has a 4K/UHD/QHD panel, you'll need to use this boot arg.
alcid=xx
  • Sets Layout ID for AppleALC.
  • The xx represents the layout ID for your codec.
wegnoegpu
  • Disables discrete Graphics.
  • Disables discrete Graphics (NVIDIA or AMD), helpful in case of Dual GPU Laptops.
  • This boot arg is a temporary solution. It's recommended to patch your DSDT and related SSDTs to disable the discrete Graphics for a better power management and improved battery performance.
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.
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 Laptop, 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 Laptop, 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 Laptop 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 Laptop, this section requires no modification and will remain untouched.

BIOS

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


Chassis

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


Quirks
The required Quirks for a Sandy Bridge Laptop 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 Laptops.
ReleaseUsbOwnershipYES
  • Attempt to detach USB controller ownership from the firmware driver. While most types of firmware manage to do that properly, or at least have an option for this, some do not. As a result, the operating system may freeze upon boot.
  • It's recommended to enable this quirk.
RequestBootVarRootingYES
  • Redirects AptioMemoryFix from EFI_GLOBAL_VARIABLE_GUID to OC_VENDOR_VARIABLE_GUID.
  • This quirk is required for using the Startup Disk preference pane in firmwares that is not compatible with macOS boot entries.
  • It's recommended to enable this quirk on all systems.
UnblockFsConnectNO
  • Some types of firmware block partition handles by opening them in By Driver mode, resulting in being unable to install File System protocols.
  • If you're using an HP Motherboard, you'll need to enable this quirk.
DuplicateBootOrderYES
  • Remove duplicate entries in BootOrder variable in EFI_GLOBAL_VARIABLE_GUID.
  • This quirk fixes duplicate boot order in Boot Menu.

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

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Motherboard
GIGABYTE Z370 AROUS GAMING 3
CPU
Intel Core i9 9900K
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
How to create a config.plist for booting macOS on Intel Laptops [OpenCore]

Ivy Bridge


SupportCompatibilityNotes
macOSmacOS High Sierra and above
IGPU SupportIvy Bridge IGPU is only supported upto macOS Big Sur officially.
DGPU SupportDGPU isn't supported on Laptops when using OS X/macOS.DGPU can only work on Laptops if it meets the requirements listed below.
  • Compatible DGPU
  • Intel GPU must be factory disabled.


ACPI


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

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

The required SSDTs for an Ivy Bridge Laptop 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-IMEIYES
  • This SSDT enables missing IMEI device.
  • This SSDT is required for 6 series Laptops.
SSDT-PNLFYES
  • This SSDT provides Backlight support.
  • This SSDT is required for Brightness Control.

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 an 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 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 an Ivy Bridge Laptop 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 IGPU 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.
DSDT50434930 5649445F50434930 49475055Rename PCI0.VID to IGPU #1 (Graphics, Thinkpad)*YES
  • Renames PCI0.VID for a better IGPU power management.
  • This rename is required for implementing IGPU Power Management.
  • On few Thinkpad and Lenovo Laptops, the Graphics address is PCI0.VID instead of GFX0.
  • This rename can lead to still waiting for device error. If you encounter such issue, disable this rename.
  • This rename is only for Thinkpad and Lenovo Laptops.
DSDT5649445F 085F4144 520C0000 020049475055 085F4144 520C0000 0200change PCI0.VID to IGPU #2 (Graphics, Thinkpad)*YES
  • Renames PCI0.VID for a better IGPU power management.
  • This rename is required for implementing IGPU Power Management.
  • On few Thinkpad and Lenovo Laptops, the Graphics address is PCI0.VID instead of GFX0.
  • This rename can lead to still waiting for device error. If you encounter such issue, disable this rename.
  • This rename is only for Thinkpad and Lenovo Laptops.
DSDT4844415348444546Rename HDAS to HDEF (Audio)YES
  • Renames HDAS to HDEF for Audio.
  • This rename is required for implementing Audio Function.
  • For Branded Systems, you may need to patch your DSDT. For more information on Audio implementation, read here.

Notes:
  • The EHC renames must be used in the conjunction to enable the proper USB renaming.
  • The PCI0.VID renames must be used in the conjunction to enable the proper IGPU 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 Laptop, 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 Laptop, this section requires no modification and will remain untouched.


Quirks
This section allows to apply certain Booter quirks.

The required Booter Quirks for an Ivy Bridge Laptop 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 an Ivy Bridge Laptop includes:

For 1366x768 screen resolution


DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)AAPL,ig-platform-id03006601DATA
  • Enables IGPU Graphics acceleration and support.
framebuffer-con1-enable1NUMBER
framebuffer-con1-flags06000000DATA
framebuffer-con1-type00080000DATA
framebuffer-con2-enable1NUMBER
framebuffer-con2-flags06000000DATA
framebuffer-con2-type00080000DATA
framebuffer-con3-enable1NUMBER
framebuffer-con3-flags06000000DATA
framebuffer-con3-type00080000DATA
framebuffer-patch-enable1NUMBER
hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on IGPU.
  • This property provides HDMI/DP function and can also fix crash issue when Hot plugging.
PciRoot(0)/Pci(0x1b,0)hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on HDEF.
  • This property provides HDMI/DP function and can also fix crash issue when Hot plugging.
layout-idxxNUMBER
  • Sets Layout ID for your Audio Codec.
  • Although, there's a new way to set Layout ID. However, few Laptops still require it.
no-controller-patch1NUMBER


For 1600x900 or higher screen resolution

DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)AAPL,ig-platform-id04006601DATA
  • Enables IGPU Graphics acceleration and support.
framebuffer-con1-flags06000000DATA
framebuffer-con1-type00080000DATA
framebuffer-con2-enable1NUMBER
framebuffer-con2-flags06000000DATA
framebuffer-con2-type00080000DATA
framebuffer-con3-enable1NUMBER
framebuffer-con3-flags06000000DATA
framebuffer-con3-type00080000DATA
framebuffer-con1-alldata02050000 00040000 07040000 03040000 00040000 81000000 04060000 00040000 81000000DATA
framebuffer-con1-enable1NUMBER
framebuffer-memorycount2NUMBER
framebuffer-patch-enable1NUMBER
framebuffer-pipecount2NUMBER
framebuffer-portcount4NUMBER
framebuffer-stolenmem00000004DATA
hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on IGPU.
  • This property provides HDMI/DP function and can also fix crash issue when Hot plugging.
PciRoot(0)/Pci(0x1b,0)hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on HDEF.
  • This property provides HDMI/DP function and can also fix crash issue when Hot plugging.
layout-idxxNUMBER
  • Sets Layout ID for your Audio Codec.
  • Although, there's a new way to set Layout ID. However, few Laptops still require it.
no-controller-patch1NUMBER

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


Force

This section allows to force kexts from loading.

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


Patch
This section allows patching for Kernel and Kexts.

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


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

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

The required settings for an Ivy Bridge Laptop includes:

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

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

The required settings for an Ivy Bridge Laptop 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 an Ivy Bridge Laptop includes:

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

Debug
This section allows debug functions for boot.

The required settings for an Ivy Bridge Laptop includes:

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


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

The required settings for an Ivy Bridge Laptop 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 Laptop, 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 Laptop, 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 Laptop, this section requires no modification and will remain untouched.



NVRAM



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

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

The required NVRAM properties for an Ivy Bridge Laptop includes:

UUIDKeyValueTypeNotes
7C436110-AB2A-4BBB-A880-FE41995C9F82boot-args
  • -v
  • -cdfon
  • alcid=xx
  • wegnoegpu
  • 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.
  • Once you're done with the installation and post installation, you can disable this boot arg.
-cdfon
  • Enables CoreDisplayFixup functionality via WhateverGreen.kext.
  • If your Laptop has a 4K/UHD/QHD panel, you'll need to use this boot arg.
alcid=xx
  • Sets Layout ID for AppleALC.
  • The xx represents the layout ID for your codec.
wegnoegpu
  • Disables discrete Graphics.
  • Disables discrete Graphics (NVIDIA or AMD), helpful in case of Dual GPU Laptops.
  • This boot arg is a temporary solution. It's recommended to patch your DSDT and related SSDTs to disable the discrete Graphics for a better power management and improved battery performance.
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.
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 Laptop, 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 Laptop, this section requires no modification and will remain untouched.


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

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



PlatformInfo



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

DatHub - Generic - PlatformNVRAM

DataHub

OptionValueNotes
Add this section in config.plistYESAdds DataHub field

Generic

The required NVRAM properties for an Ivy Bridge Laptop 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 Laptop, this section requires no modification and will remain untouched.

BIOS

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


Chassis

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


Board



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


UEFI


This section is for adding UEFI drivers and related settings.

APFS
Provides APFS settings for APFS Driver.

The required settings for an Ivy Bridge Laptop includes:

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


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

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


Drivers
This section is for adding .efi drivers.

The required drivers for an Ivy Bridge Laptop 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 Laptop, this section requires no modification and will remain untouched.


Quirks
The required Quirks for an Ivy Bridge Laptop 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 Laptops.
ReleaseUsbOwnershipYES
  • Attempt to detach USB controller ownership from the firmware driver. While most types of firmware manage to do that properly, or at least have an option for this, some do not. As a result, the operating system may freeze upon boot.
  • It's recommended to enable this quirk.
RequestBootVarRootingYES
  • Redirects AptioMemoryFix from EFI_GLOBAL_VARIABLE_GUID to OC_VENDOR_VARIABLE_GUID.
  • This quirk is required for using the Startup Disk preference pane in firmwares that is not compatible with macOS boot entries.
  • It's recommended to enable this quirk on all systems.
UnblockFsConnectNO
  • Some types of firmware block partition handles by opening them in By Driver mode, resulting in being unable to install File System protocols.
  • If you're using an HP Motherboard, you'll need to enable this quirk.
DuplicateBootOrderYES
  • Remove duplicate entries in BootOrder variable in EFI_GLOBAL_VARIABLE_GUID.
  • This quirk fixes duplicate boot order in Boot Menu.

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

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Motherboard
GIGABYTE Z370 AROUS GAMING 3
CPU
Intel Core i9 9900K
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
How to create a config.plist for booting macOS on Intel Laptops [OpenCore]

Haswell


SupportCompatibilityNotes
macOSmacOS High Sierra and above
IGPU SupportHaswell IGPU is only supported upto macOS Big Sur officially.
DGPU SupportDGPU isn't supported on Laptops when using OS X/macOS.DGPU can only work on Laptops if it meets the requirements listed below.
  • Compatible DGPU
  • Intel GPU must be factory disabled.


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 Laptop 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.
SSDT-PNLFYES
  • This SSDT provides Backlight support.
  • This SSDT is required for Brightness Control.

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 Haswell Laptop, 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 Laptop 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 IGPU 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.
DSDT50434930 5649445F50434930 49475055Rename PCI0.VID to IGPU #1 (Graphics, Thinkpad)*YES
  • Renames PCI0.VID for a better IGPU power management.
  • This rename is required for implementing IGPU Power Management.
  • On few Thinkpad and Lenovo Laptops, the Graphics address is PCI0.VID instead of GFX0.
  • This rename can lead to still waiting for device error. If you encounter such issue, disable this rename.
  • This rename is only for Thinkpad and Lenovo Laptops.
DSDT5649445F 085F4144 520C0000 020049475055 085F4144 520C0000 0200change PCI0.VID to IGPU #2 (Graphics, Thinkpad)*YES
  • Renames PCI0.VID for a better IGPU power management.
  • This rename is required for implementing IGPU Power Management.
  • On few Thinkpad and Lenovo Laptops, the Graphics address is PCI0.VID instead of GFX0.
  • This rename can lead to still waiting for device error. If you encounter such issue, disable this rename.
  • This rename is only for Thinkpad and Lenovo Laptops.
DSDT4230443348444155Rename B0D3 to HDAU (HDMI/DP Audio)YES
  • Renames B0D3 to HDAU for HDMI/DP Audio
  • This rename is required for implementing HDMI/DP Audio.
DSDT4844415348444546Rename HDAS to HDEF (Audio)YES
  • Renames HDAS to HDEF for Audio.
  • This rename is required for implementing Audio Function.
  • For Branded Systems, you may need to patch your DSDT. For more information on Audio implementation, read here.

Notes:
  • The EHC renames must be used in the conjunction to enable the proper USB renaming.
  • The PCI0.VID renames must be used in the conjunction to enable the proper IGPU 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 Laptop, 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 Laptop, 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 Laptop 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 Haswell Laptop includes:

For HD4200, HD4400, and HD4600


DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)AAPL,ig-platform-id0600260ADATA
  • Enables IGPU Graphics acceleration and support.
device-id12040000DATA
framebuffer-con1-enable1NUMBER
framebuffer-con1-flags06000000DATA
#framebuffer-con1-pipe12000000DATA
#framebuffer-con1-type00080000NUMBER
#framebuffer-con2-alldata03060800 00040000 C7030000DATA
#framebuffer-con2-enable1DATA
#framebuffer-con2-flags06000000NUMBER
#framebuffer-con2-pipe12000000DATA
#framebuffer-con2-type00080000DATA
#framebuffer-con3-enable1NUMBER
#framebuffer-con3-flags06000000DATA
#framebuffer-con3-pipe12000000DATA
#framebuffer-con3-type00080000DATA
#framebuffer-patch0-enable1NUMBER
#framebuffer-patch0-find01000000 40000000 1E000000 05050901DATA
#framebuffer-patch0-replace01000000 40000000 0F000000 05050901DATA
#framebuffer-patch1-enable1NUMBER
#framebuffer-patch1-find01000000 40000000 1E020000 05050901DATA
#framebuffer-patch1-replace01000000 40000000 1F020000 05050901DATA
framebuffer-cursormem00009000DATA
framebuffer-patch-enable1NUMBER
hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on IGPU.
  • This property provides HDMI/DP function and can also fix crash issue when Hot plugging.
PciRoot(0)/Pci(0x03,0)hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on HDAU.
  • This property provides HDMI/DP function and can also fix crash issue when Hot plugging.
layout-idxxNUMBER
  • Sets Layout ID for your Audio Codec.
  • The xx represents the layout ID for your codec.
  • Although, there's a new way to set Layout ID. However, few Laptops still require it.
no-controller-patch1NUMBER
PciRoot(0)/Pci(0x1b,0)layout-idxxNUMBER
  • Sets Layout ID for your Audio Codec.
  • The xx represents the layout ID for your codec.
  • Although, there's a new way to set Layout ID. However, few Laptops still require it.


For HD5000, HD5100, and HD5200

DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)AAPL,ig-platform-id0600260ADATA
  • Enables IGPU Graphics acceleration and support.
framebuffer-con1-enable1NUMBER
framebuffer-con1-flags06000000DATA
#framebuffer-con1-pipe12000000DATA
#framebuffer-con1-type00080000NUMBER
#framebuffer-con2-enable1DATA
#framebuffer-con2-flags06000000NUMBER
#framebuffer-con2-pipe12000000DATA
#framebuffer-con2-type00080000DATA
#framebuffer-con3-enable1NUMBER
#framebuffer-con3-flags06000000DATA
#framebuffer-con3-pipe12000000DATA
#framebuffer-con3-type00080000DATA
#framebuffer-patch0-enable1NUMBER
#framebuffer-patch0-find01000000 40000000 1E000000 05050901DATA
#framebuffer-patch0-replace01000000 40000000 0F000000 05050901DATA
#framebuffer-patch1-enable1NUMBER
#framebuffer-patch1-find01000000 40000000 1E020000 05050901DATA
#framebuffer-patch1-replace01000000 40000000 1F020000 05050901DATA
framebuffer-cursormem00009000DATA
framebuffer-patch-enable1NUMBER
hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on IGPU.
  • This property provides HDMI/DP function and can also fix crash issue when Hot plugging.
PciRoot(0)/Pci(0x03,0)hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on HDAU.
  • This property provides HDMI/DP function and can also fix crash issue when Hot plugging.
layout-idxxNUMBER
  • Sets Layout ID for your Audio Codec.
  • The xx represents the layout ID for your codec.
  • Although, there's a new way to set Layout ID. However, few Laptops still require it.
no-controller-patch1NUMBER
PciRoot(0)/Pci(0x1b,0)layout-idxxNUMBER
  • Sets Layout ID for your Audio Codec.
  • The xx represents the layout ID for your codec.
  • Although, there's a new way to set Layout ID. However, few Laptops still require it.


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


Force

This section allows to force kexts from loading.

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


Patch
This section allows patching for Kernel and Kexts.

Note:
For a Haswell Laptop, 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 Laptop 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 Laptop 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 Haswell Laptop 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 Laptop 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 Laptop 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 Laptop, 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 Laptop, 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 Laptop, 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 Laptop includes:

UUIDKeyValueTypeNotes
7C436110-AB2A-4BBB-A880-FE41995C9F82boot-args
  • -v
  • -cdfon
  • alcid=xx
  • wegnoegpu
  • 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.
  • Once you're done with the installation and post installation, you can disable this boot arg.
-cdfon
  • Enables CoreDisplayFixup functionality via WhateverGreen.kext.
  • If your Laptop has a 4K/UHD/QHD panel, you'll need to use this boot arg.
alcid=xx
  • Sets Layout ID for AppleALC.
  • The xx represents the layout ID for your codec.
wegnoegpu
  • Disables discrete Graphics.
  • Disables discrete Graphics (NVIDIA or AMD), helpful in case of Dual GPU Laptops.
  • This boot arg is a temporary solution. It's recommended to patch your DSDT and related SSDTs to disable the discrete Graphics for a better power management and improved battery performance.
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.
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 Laptop, 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 Laptop, 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 Laptop 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 Laptop, this section requires no modification and will remain untouched.

BIOS

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


Chassis

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


Quirks
The required Quirks for a Haswell Laptop 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 Laptops.
ReleaseUsbOwnershipYES
  • Attempt to detach USB controller ownership from the firmware driver. While most types of firmware manage to do that properly, or at least have an option for this, some do not. As a result, the operating system may freeze upon boot.
  • It's recommended to enable this quirk.
RequestBootVarRootingYES
  • Redirects AptioMemoryFix from EFI_GLOBAL_VARIABLE_GUID to OC_VENDOR_VARIABLE_GUID.
  • This quirk is required for using the Startup Disk preference pane in firmwares that is not compatible with macOS boot entries.
  • It's recommended to enable this quirk on all systems.
UnblockFsConnectNO
  • Some types of firmware block partition handles by opening them in By Driver mode, resulting in being unable to install File System protocols.
  • If you're using an HP Motherboard, you'll need to enable this quirk.
DuplicateBootOrderYES
  • Remove duplicate entries in BootOrder variable in EFI_GLOBAL_VARIABLE_GUID.
  • This quirk fixes duplicate boot order in Boot Menu.

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

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Motherboard
GIGABYTE Z370 AROUS GAMING 3
CPU
Intel Core i9 9900K
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
How to create a config.plist for booting macOS on Intel Laptops [OpenCore]

Broadwell


SupportCompatibilityNotes
macOSmacOS High Sierra and above
IGPU SupportBroadwell IGPU is only supported upto macOS Big Sur officially.
DGPU SupportDGPU isn't supported on Laptops when using OS X/macOS.DGPU can only work on Laptops if it meets the requirements listed below.
  • Compatible DGPU
  • Intel GPU must be factory disabled.


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 Laptop 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.
SSDT-PNLFYES
  • This SSDT provides Backlight support.
  • This SSDT is required for Brightness Control.

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 Broadwell Laptop, 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 Laptop 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 IGPU 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.
DSDT50434930 5649445F50434930 49475055Rename PCI0.VID to IGPU #1 (Graphics, Thinkpad)*YES
  • Renames PCI0.VID for a better IGPU power management.
  • This rename is required for implementing IGPU Power Management.
  • On few Thinkpad and Lenovo Laptops, the Graphics address is PCI0.VID instead of GFX0.
  • This rename can lead to still waiting for device error. If you encounter such issue, disable this rename.
  • This rename is only for Thinkpad and Lenovo Laptops.
DSDT5649445F 085F4144 520C0000 020049475055 085F4144 520C0000 0200change PCI0.VID to IGPU #2 (Graphics, Thinkpad)*YES
  • Renames PCI0.VID for a better IGPU power management.
  • This rename is required for implementing IGPU Power Management.
  • On few Thinkpad and Lenovo Laptops, the Graphics address is PCI0.VID instead of GFX0.
  • This rename can lead to still waiting for device error. If you encounter such issue, disable this rename.
  • This rename is only for Thinkpad and Lenovo Laptops.
DSDT4230443348444155Rename B0D3 to HDAU (HDMI/DP Audio)YES
  • Renames B0D3 to HDAU for HDMI/DP Audio
  • This rename is required for implementing HDMI/DP Audio.
DSDT4844415348444546Rename HDAS to HDEF (Audio)YES
  • Renames HDAS to HDEF for Audio.
  • This rename is required for implementing Audio Function.
  • For Branded Systems, you may need to patch your DSDT. For more information on Audio implementation, read here.

Notes:
  • The EHC renames must be used in the conjunction to enable the proper USB renaming.
  • The PCI0.VID renames must be used in the conjunction to enable the proper IGPU 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 Laptop, 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 Laptop, 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 Laptop 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 Laptop includes:

For HD5300, HD5500, HD6000


DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)AAPL,ig-platform-id06002616DATA
  • Enables IGPU Graphics acceleration and support.
framebuffer-con1-enable1NUMBER
framebuffer-con1-flags82000000DATA
framebuffer-con1-pipe12000000DATA
framebuffer-con1-type00080000DATA
framebuffer-con2-enable1DATA
framebuffer-con2-flags82000000DATA
framebuffer-con2-pipe12000000DATA
framebuffer-con2-type00080000DATA
framebuffer-con3-enable1NUMBER
framebuffer-con3-flags82000000DATA
framebuffer-con3-pipe12000000DATA
framebuffer-con3-type00080000DATA
framebuffer-fbmem00009000DATA
framebuffer-patch-enable1NUMBER
framebuffer-stolenmem00003001DATA
hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on IGPU.
  • This property provides HDMI/DP function and can also fix crash issue when Hot plugging.
PciRoot(0)/Pci(0x03,0)hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on HDAU.
  • This property provides HDMI/DP function and can also fix crash issue when Hot plugging.
layout-idxxNUMBER
  • Sets Layout ID for your Audio Codec.
  • The xx represents the layout ID for your codec.
  • Although, there's a new way to set Layout ID. However, few Laptops still require it.
no-controller-patch1NUMBER
PciRoot(0)/Pci(0x1b,0)layout-idxxNUMBER
  • Sets Layout ID for your Audio Codec.
  • The xx represents the layout ID for your codec.
  • Although, there's a new way to set Layout ID. However, few Laptops still require it.


For HD5600

DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)AAPL,ig-platform-id06002616DATA
  • Enables IGPU Graphics acceleration and support.
device-id26160000DATA
framebuffer-con1-enable1NUMBER
framebuffer-con1-flags82000000DATA
framebuffer-con1-pipe12000000DATA
framebuffer-con1-type00080000DATA
framebuffer-con2-enable1DATA
framebuffer-con2-flags82000000DATA
framebuffer-con2-pipe12000000DATA
framebuffer-con2-type00080000DATA
framebuffer-con3-enable1NUMBER
framebuffer-con3-flags82000000DATA
framebuffer-con3-pipe12000000DATA
framebuffer-con3-type00080000DATA
framebuffer-fbmem00009000DATA
framebuffer-patch-enable1NUMBER
framebuffer-stolenmem00003001DATA
hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on IGPU.
  • This property provides HDMI/DP function and can also fix crash issue when Hot plugging.
PciRoot(0)/Pci(0x03,0)hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on HDAU.
  • This property provides HDMI/DP function and can also fix crash issue when Hot plugging.
layout-idxxNUMBER
  • Sets Layout ID for your Audio Codec.
  • The xx represents the layout ID for your codec.
  • Although, there's a new way to set Layout ID. However, few Laptops still require it.
no-controller-patch1NUMBER
PciRoot(0)/Pci(0x1b,0)layout-idxxNUMBER
  • Sets Layout ID for your Audio Codec.
  • The xx represents the layout ID for your codec.
  • Although, there's a new way to set Layout ID. However, few Laptops still require it.


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


Force

This section allows to force kexts from loading.

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


Patch
This section allows patching for Kernel and Kexts.

Note:
For a Broadwell Laptop, 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 Laptop 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 Laptop 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 Broadwell Laptop 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 Laptop 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 Laptop 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 Laptop, 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 Laptop, 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 Laptop, 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 Laptop includes:

UUIDKeyValueTypeNotes
7C436110-AB2A-4BBB-A880-FE41995C9F82boot-args
  • -v
  • -cdfon
  • alcid=xx
  • wegnoegpu
  • 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.
  • Once you're done with the installation and post installation, you can disable this boot arg.
-cdfon
  • Enables CoreDisplayFixup functionality via WhateverGreen.kext.
  • If your Laptop has a 4K/UHD/QHD panel, you'll need to use this boot arg.
alcid=xx
  • Sets Layout ID for AppleALC.
  • The xx represents the layout ID for your codec.
wegnoegpu
  • Disables discrete Graphics.
  • Disables discrete Graphics (NVIDIA or AMD), helpful in case of Dual GPU Laptops.
  • This boot arg is a temporary solution. It's recommended to patch your DSDT and related SSDTs to disable the discrete Graphics for a better power management and improved battery performance.
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.
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 Laptop, 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 Laptop, 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 Laptop 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 Laptop, this section requires no modification and will remain untouched.

BIOS

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


Chassis

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


Quirks
The required Quirks for a Broadwell Laptop 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 Laptops.
ReleaseUsbOwnershipYES
  • Attempt to detach USB controller ownership from the firmware driver. While most types of firmware manage to do that properly, or at least have an option for this, some do not. As a result, the operating system may freeze upon boot.
  • It's recommended to enable this quirk.
RequestBootVarRootingYES
  • Redirects AptioMemoryFix from EFI_GLOBAL_VARIABLE_GUID to OC_VENDOR_VARIABLE_GUID.
  • This quirk is required for using the Startup Disk preference pane in firmwares that is not compatible with macOS boot entries.
  • It's recommended to enable this quirk on all systems.
UnblockFsConnectNO
  • Some types of firmware block partition handles by opening them in By Driver mode, resulting in being unable to install File System protocols.
  • If you're using an HP Motherboard, you'll need to enable this quirk.
DuplicateBootOrderYES
  • Remove duplicate entries in BootOrder variable in EFI_GLOBAL_VARIABLE_GUID.
  • This quirk fixes duplicate boot order in Boot Menu.

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

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Motherboard
GIGABYTE Z370 AROUS GAMING 3
CPU
Intel Core i9 9900K
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
How to create a config.plist for booting macOS on Intel Laptops [OpenCore]

Skylake


SupportCompatibilityNotes
macOSmacOS High Sierra and above
IGPU SupportSkylake 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 Skylake Laptop 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.
SSDT-PNLFYES
  • This SSDT provides Backlight support.
  • This SSDT is required for Brightness Control.

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 Skylake Laptop, 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 Laptop includes:

Table Signature*FindReplaceCommentEnabledNotes
DSDT4746583049475055Rename GFX0 to IGPU (Graphics)YES
  • Renames GFX0 to IGPU for a better IGPU 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.
DSDT50434930 5649445F50434930 49475055Rename PCI0.VID to IGPU #1 (Graphics, Thinkpad)*YES
  • Renames PCI0.VID for a better IGPU power management.
  • This rename is required for implementing IGPU Power Management.
  • On few Thinkpad and Lenovo Laptops, the Graphics address is PCI0.VID instead of GFX0.
  • This rename can lead to still waiting for device error. If you encounter such issue, disable this rename.
  • This rename is only for Thinkpad and Lenovo Laptops.
DSDT5649445F 085F4144 520C0000 020049475055 085F4144 520C0000 0200change PCI0.VID to IGPU #2 (Graphics, Thinkpad)*YES
  • Renames PCI0.VID for a better IGPU power management.
  • This rename is required for implementing IGPU Power Management.
  • On few Thinkpad and Lenovo Laptops, the Graphics address is PCI0.VID instead of GFX0.
  • This rename can lead to still waiting for device error. If you encounter such issue, disable this rename.
  • This rename is only for Thinkpad and Lenovo Laptops.
DSDT48454349494D4549Rename HECI to IMEI (PAVP)*YES
  • Renames HECI to IMEI for PAVP services.
  • This rename is required for implementing PAVP services.
  • This rename fixes iTunes/App Store Content Access problems and also enables Content playback.
DSDT4D45495F494D4549Rename MEI to IMEI (PAVP)*YES
  • Renames HECI to IMEI for PAVP services.
  • This rename is required for implementing PAVP services.
  • This rename fixes iTunes/App Store Content Access problems and also enables Content playback.
DSDT4844415348444546Rename HDAS to HDEF (Audio)YES
  • Renames HDAS to HDEF for Audio.
  • This rename is required for implementing Audio Function.
  • For Branded Systems, you may need to patch your DSDT. For more information on Audio implementation, read here.

Notes:
  • The PCI0.VID renames must be used in the conjunction to enable the proper IGPU 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 Skylake Laptop, 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 Laptop, 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 Laptop 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.
SyncRuntimePermissionYES
  • 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 Laptop includes:

For HD510


DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)AAPL,ig-platform-id00001B19DATA
  • Enables IGPU Graphics acceleration and support.
device-id0219DATA
framebuffer-con0-enable1NUMBER
framebuffer-con0-type00040000DATA
#ramebuffer-con1-enable1NUMBER
framebuffer-con1-flags87010000DATA
framebuffer-con1-pipe12000000DATA
framebuffer-con1-type00080000DATA
framebuffer-con2-enable1NUMBER
framebuffer-con2-flags87010000DATA
framebuffer-con2-pipe12000000DATA
framebuffer-con2-type00080000DATA
framebuffer-con3-enable1NUMBER
framebuffer-con3-flags87010000DATA
framebuffer-con3-pipe12000000DATA
framebuffer-con3-type00080000DATA
framebuffer-patch0-enable1NUMBER
framebuffer-patch0-find0A130300 00000600 00000000 00000000DATA
framebuffer-patch0-replace0F130300 00000600 00000000 00000000DATA
framebuffer-patch1-enable1NUMBER
framebuffer-patch1-find0A0B0300 00070600 03000000 04000000DATA
framebuffer-patch1-replace0F0B0300 00070600 03000000 04000000DATA
RM,device-id02190000DATA
framebuffer-fbmem00009000DATA
framebuffer-patch-enable1NUMBER
framebuffer-stolenmem00003001DATA
hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on IGPU.
  • This property provides HDMI/DP function and can also fix crash issue when Hot plugging.
PciRoot(0)/Pci(0x1f,3)hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on HDEF.
  • This property provides HDMI/DP function and can also fix crash issue when Hot plugging.
layout-idxxNUMBER
  • Sets Layout ID for your Audio Codec.
  • The xx represents the layout ID for your codec.
  • Although, there's a new way to set Layout ID. However, few Laptops still require it.
no-controller-patch1NUMBER


For HD515, 520, 530 and 540

DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)AAPL,ig-platform-id00001B19DATA
  • Enables IGPU Graphics acceleration and support.
framebuffer-con0-enable1NUMBER
framebuffer-con0-type00040000DATA
#ramebuffer-con1-enable1NUMBER
framebuffer-con1-flags87010000DATA
framebuffer-con1-pipe12000000DATA
framebuffer-con1-type00080000DATA
framebuffer-con2-enable1NUMBER
framebuffer-con2-flags87010000DATA
framebuffer-con2-pipe12000000DATA
framebuffer-con2-type00080000DATA
framebuffer-con3-enable1NUMBER
framebuffer-con3-flags87010000DATA
framebuffer-con3-pipe12000000DATA
framebuffer-con3-type00080000DATA
framebuffer-patch0-enable1NUMBER
framebuffer-patch0-find0A130300 00000600 00000000 00000000DATA
framebuffer-patch0-replace0F130300 00000600 00000000 00000000DATA
framebuffer-patch1-enable1NUMBER
framebuffer-patch1-find0A0B0300 00070600 03000000 04000000DATA
framebuffer-patch1-replace0F0B0300 00070600 03000000 04000000DATA
framebuffer-fbmem00009000DATA
framebuffer-patch-enable1NUMBER
framebuffer-stolenmem00003001DATA
hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on IGPU.
  • This property provides HDMI/DP function and can also fix crash issue when Hot plugging.
PciRoot(0)/Pci(0x1f,3)hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on HDEF.
  • This property provides HDMI/DP function and can also fix crash issue when Hot plugging.
layout-idxxNUMBER
  • Sets Layout ID for your Audio Codec.
  • The xx represents the layout ID for your codec.
  • Although, there's a new way to set Layout ID. However, few Laptops still require it.
no-controller-patch1NUMBER

For HD550 and P530

DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)AAPL,ig-platform-id00002619DATA
  • Enables IGPU Graphics acceleration and support.
device-id26190000
framebuffer-con0-enable1NUMBER
framebuffer-con0-type00040000DATA
#ramebuffer-con1-enable1NUMBER
framebuffer-con1-flags87010000DATA
framebuffer-con1-pipe12000000DATA
framebuffer-con1-type00080000DATA
framebuffer-con2-enable1NUMBER
framebuffer-con2-flags87010000DATA
framebuffer-con2-pipe12000000DATA
framebuffer-con2-type00080000DATA
framebuffer-con3-enable1NUMBER
framebuffer-con3-flags87010000DATA
framebuffer-con3-pipe12000000DATA
framebuffer-con3-type00080000DATA
framebuffer-patch0-enable1NUMBER
framebuffer-patch0-find0A130300 00000600 00000000 00000000DATA
framebuffer-patch0-replace0F130300 00000600 00000000 00000000DATA
framebuffer-patch1-enable1NUMBER
framebuffer-patch1-find0A0B0300 00070600 03000000 04000000DATA
framebuffer-patch1-replace0F0B0300 00070600 03000000 04000000DATA
framebuffer-fbmem00009000DATA
framebuffer-patch-enable1NUMBER
framebuffer-stolenmem00003001DATA
hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on IGPU.
  • This property provides HDMI/DP function and can also fix crash issue when Hot plugging.
PciRoot(0)/Pci(0x1f,3)hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on HDEF.
  • This property provides HDMI/DP function and can also fix crash issue when Hot plugging.
layout-idxxNUMBER
  • Sets Layout ID for your Audio Codec.
  • The xx represents the layout ID for your codec.
  • Although, there's a new way to set Layout ID. However, few Laptops still require it.
no-controller-patch1NUMBER

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


Force

This section allows to force kexts from loading.

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


Patch
This section allows patching for Kernel and Kexts.

Note:
For a Skylake Laptop, 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 Laptop 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 Laptop 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 Laptop, 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 Laptop, 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 Laptop 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 Laptop 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 Laptop 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 Laptop, 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 Laptop, 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 Laptop, 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 Laptop includes:

UUIDKeyValueTypeNotes
7C436110-AB2A-4BBB-A880-FE41995C9F82boot-args
  • -v
  • -cdfon
  • alcid=xx
  • wegnoegpu
  • 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.
  • Once you're done with the installation and post installation, you can disable this boot arg.
-cdfon
  • Enables CoreDisplayFixup functionality via WhateverGreen.kext.
  • If your Laptop has a 4K/UHD/QHD panel, you'll need to use this boot arg.
alcid=xx
  • Sets Layout ID for AppleALC.
  • The xx represents the layout ID for your codec.
wegnoegpu
  • Disables discrete Graphics.
  • Disables discrete Graphics (NVIDIA or AMD), helpful in case of Dual GPU Laptops.
  • This boot arg is a temporary solution. It's recommended to patch your DSDT and related SSDTs to disable the discrete Graphics for a better power management and improved battery performance.
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.
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 Laptop, 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 Laptop, 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 Laptop 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 Laptop, this section requires no modification and will remain untouched.

BIOS

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


Chassis

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


Quirks
The required Quirks for a Skylake Laptop 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 enable this quirk.
RequestBootVarRootingYES
  • Redirects AptioMemoryFix from EFI_GLOBAL_VARIABLE_GUID to OC_VENDOR_VARIABLE_GUID.
  • This quirk is required for using the Startup Disk preference pane in firmwares that is not compatible with macOS boot entries.
  • It's recommended to enable this quirk on all systems.
UnblockFsConnectNO
  • Some types of firmware block partition handles by opening them in By Driver mode, resulting in being unable to install File System protocols.
  • If you're using an HP Motherboard, you'll need to enable this quirk.
DuplicateBootOrderYES
  • Remove duplicate entries in BootOrder variable in EFI_GLOBAL_VARIABLE_GUID.
  • This quirk fixes duplicate boot order in Boot Menu.

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

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Motherboard
GIGABYTE Z370 AROUS GAMING 3
CPU
Intel Core i9 9900K
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
How to create a config.plist for booting macOS on Intel Laptops [OpenCore]

Kaby Lake and Kaby Lake-R


SupportCompatibilityNotes
macOSmacOS High Sierra and above
IGPU SupportKaby Lake and Kaby Lake-R 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 Kaby Lake and Kaby Lake-R Laptop 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.
SSDT-PNLFYES
  • This SSDT provides Backlight support.
  • This SSDT is required for Brightness Control.

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 Kaby Lake and Kaby Lake-R Laptop, 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 and Kaby Lake-R Laptop includes:

Table Signature*FindReplaceCommentEnabledNotes
DSDT4746583049475055Rename GFX0 to IGPU (Graphics)YES
  • Renames GFX0 to IGPU for a better IGPU 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.
DSDT50434930 5649445F50434930 49475055Rename PCI0.VID to IGPU #1 (Graphics, Thinkpad)*YES
  • Renames PCI0.VID for a better IGPU power management.
  • This rename is required for implementing IGPU Power Management.
  • On few Thinkpad and Lenovo Laptops, the Graphics address is PCI0.VID instead of GFX0.
  • This rename can lead to still waiting for device error. If you encounter such issue, disable this rename.
  • This rename is only for Thinkpad and Lenovo Laptops.
DSDT5649445F 085F4144 520C0000 020049475055 085F4144 520C0000 0200change PCI0.VID to IGPU #2 (Graphics, Thinkpad)*YES
  • Renames PCI0.VID for a better IGPU power management.
  • This rename is required for implementing IGPU Power Management.
  • On few Thinkpad and Lenovo Laptops, the Graphics address is PCI0.VID instead of GFX0.
  • This rename can lead to still waiting for device error. If you encounter such issue, disable this rename.
  • This rename is only for Thinkpad and Lenovo Laptops.
DSDT48454349494D4549Rename HECI to IMEI (PAVP)*YES
  • Renames HECI to IMEI for PAVP services.
  • This rename is required for implementing PAVP services.
  • This rename fixes iTunes/App Store Content Access problems and also enables Content playback.
DSDT4D45495F494D4549Rename MEI to IMEI (PAVP)*YES
  • Renames HECI to IMEI for PAVP services.
  • This rename is required for implementing PAVP services.
  • This rename fixes iTunes/App Store Content Access problems and also enables Content playback.
DSDT4844415348444546Rename HDAS to HDEF (Audio)YES
  • Renames HDAS to HDEF for Audio.
  • This rename is required for implementing Audio Function.
  • For Branded Systems, you may need to patch your DSDT. For more information on Audio implementation, read here.

Notes:
  • The PCI0.VID renames must be used in the conjunction to enable the proper IGPU 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 Kaby Lake and Kaby Lake-R Laptop, 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 and Kaby Lake-R Laptop, 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 and Kaby Lake-R Laptop 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.
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.
SyncRuntimePermissionYES
  • 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 and Kaby Lake-R Laptop includes:

For Kaby Lake




DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)AAPL,ig-platform-id00001B59DATA
  • Enables IGPU Graphics acceleration and support.
1 framebuffer-con1-alldata01050A00 00080000 87010000 02040A00 00080000 87010000 FF000000 01000000 20000000DATA
1 framebuffer-con1-enable1NUMBER
2 framebuffer-con1-alldata01050A00 00080000 87010000 03060A00 00040000 87010000 FF000000 01000000 20000000DATA
2 framebuffer-con1-enable
1
NUMBER
3 framebuffer-con1-alldataFF000000 01000000 20000000 FF000000 01000000 20000000 FF000000 01000000 20000000DATA
3 framebuffer-con1-enable1NUMBER
framebuffer-con0-enable1NUMBER
framebuffer-con0-type00040000DATA
#ramebuffer-con1-enable1NUMBER
framebuffer-con1-flags87010000DATA
framebuffer-con1-pipe12000000DATA
framebuffer-con1-type00080000DATA
framebuffer-con2-enable1NUMBER
framebuffer-con2-flags87010000DATA
framebuffer-con2-pipe12000000DATA
framebuffer-con2-type00080000DATA
framebuffer-con3-enable1NUMBER
framebuffer-con3-flags87010000DATA
framebuffer-con3-pipe12000000DATA
framebuffer-con3-type00080000DATA
framebuffer-fbmem00009000DATA
framebuffer-patch-enable1NUMBER
framebuffer-stolenmem00003001DATA
hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on IGPU.
  • This property provides HDMI/DP function and can also fix crash issue when Hot plugging.
PciRoot(0)/Pci(0x1f,3)hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on HDEF.
  • This property provides HDMI/DP function and can also fix crash issue when Hot plugging.
layout-idxxNUMBER
  • Sets Layout ID for your Audio Codec.
  • The xx represents the layout ID for your codec.
  • Although, there's a new way to set Layout ID. However, few Laptops still require it.


For Kaby Lake-R



DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)AAPL,ig-platform-id00001B59DATA
  • Enables IGPU Graphics acceleration and support.
device-id16590000DATA
1 framebuffer-con1-alldata01050A00 00080000 87010000 02040A00 00080000 87010000 FF000000 01000000 20000000DATA
1 framebuffer-con1-enable1NUMBER
2 framebuffer-con1-alldata01050A00 00080000 87010000 03060A00 00040000 87010000 FF000000 01000000 20000000DATA
2 framebuffer-con1-enable
1
NUMBER
3 framebuffer-con1-alldataFF000000 01000000 20000000 FF000000 01000000 20000000 FF000000 01000000 20000000DATA
3 framebuffer-con1-enable1NUMBER
framebuffer-con0-enable1NUMBER
framebuffer-con0-type00040000DATA
#ramebuffer-con1-enable1NUMBER
framebuffer-con1-flags87010000DATA
framebuffer-con1-pipe12000000DATA
framebuffer-con1-type00080000DATA
framebuffer-con2-enable1NUMBER
framebuffer-con2-flags87010000DATA
framebuffer-con2-pipe12000000DATA
framebuffer-con2-type00080000DATA
framebuffer-con3-enable1NUMBER
framebuffer-con3-flags87010000DATA
framebuffer-con3-pipe12000000DATA
framebuffer-con3-type00080000DATA
framebuffer-fbmem00009000DATA
framebuffer-patch-enable1NUMBER
framebuffer-stolenmem00003001DATA
hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on IGPU.
  • This property provides HDMI/DP function and can also fix crash issue when Hot plugging.
PciRoot(0)/Pci(0x1f,3)hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on HDEF.
  • This property provides HDMI/DP function and can also fix crash issue when Hot plugging.
layout-idxxNUMBER
  • Sets Layout ID for your Audio Codec.
  • The xx represents the layout ID for your codec.
  • Although, there's a new way to set Layout ID. However, few Laptops still require it.

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


Force

This section allows to force kexts from loading.

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


Patch
This section allows patching for Kernel and Kexts.

Note:
For a Kaby Lake and Kaby Lake-R Laptop, 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 and Kaby Lake-R Laptop 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 and Kaby Lake-R Laptop 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 Laptop, 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 Laptop, 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 and Kaby Lake-R Laptop 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 and Kaby Lake-R Laptop 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 and Kaby Lake-R Laptop 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 and Kaby Lake-R Laptop, 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 and Kaby Lake-R Laptop, 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 and Kaby Lake-R Laptop, 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 and Kaby Lake-R Laptop includes:

UUIDKeyValueTypeNotes
7C436110-AB2A-4BBB-A880-FE41995C9F82boot-args
  • -v
  • -cdfon
  • alcid=xx
  • wegnoegpu
  • 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.
  • Once you're done with the installation and post installation, you can disable this boot arg.
-cdfon
  • Enables CoreDisplayFixup functionality via WhateverGreen.kext.
  • If your Laptop has a 4K/UHD/QHD panel, you'll need to use this boot arg.
alcid=xx
  • Sets Layout ID for AppleALC.
  • The xx represents the layout ID for your codec.
wegnoegpu
  • Disables discrete Graphics.
  • Disables discrete Graphics (NVIDIA or AMD), helpful in case of Dual GPU Laptops.
  • This boot arg is a temporary solution. It's recommended to patch your DSDT and related SSDTs to disable the discrete Graphics for a better power management and improved battery performance.
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.
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 and Kaby Lake-R Laptop, 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 and Kaby Lake-R Laptop, 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 and Kaby Lake-R Laptop 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 and Kaby Lake-R Laptop, this section requires no modification and will remain untouched.

BIOS

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


Chassis

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


Quirks
The required Quirks for a Kaby Lake and Kaby Lake-R Laptop 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 enable this quirk.
RequestBootVarRootingYES
  • Redirects AptioMemoryFix from EFI_GLOBAL_VARIABLE_GUID to OC_VENDOR_VARIABLE_GUID.
  • This quirk is required for using the Startup Disk preference pane in firmwares that is not compatible with macOS boot entries.
  • It's recommended to enable this quirk on all systems.
UnblockFsConnectNO
  • Some types of firmware block partition handles by opening them in By Driver mode, resulting in being unable to install File System protocols.
  • If you're using an HP Motherboard, you'll need to enable this quirk.
DuplicateBootOrderYES
  • Remove duplicate entries in BootOrder variable in EFI_GLOBAL_VARIABLE_GUID.
  • This quirk fixes duplicate boot order in Boot Menu.

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

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Motherboard
GIGABYTE Z370 AROUS GAMING 3
CPU
Intel Core i9 9900K
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
How to create a config.plist for booting macOS on Intel Laptops [OpenCore]

Coffee Lake and Coffee Lake-R


SupportCompatibilityNotes
macOSmacOS High Sierra and above
IGPU SupportCoffee Lake and Coffee Lake-R 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 Coffee Lake and Coffee Lake-R Laptop 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.
SSDT-PNLFCFLYES
  • This SSDT provides Backlight support.
  • This SSDT is required for Brightness Control.
  • This SSDT also fixes black screen for 3minutes after booting into macOS.

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 Coffee Lake and Coffee Lake-R Laptop, 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 and Coffee Lake-R Laptop includes:

Table Signature*FindReplaceCommentEnabledNotes
DSDT4746583049475055Rename GFX0 to IGPU (Graphics)YES
  • Renames GFX0 to IGPU for a better IGPU 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.
DSDT50434930 5649445F50434930 49475055Rename PCI0.VID to IGPU #1 (Graphics, Thinkpad)*YES
  • Renames PCI0.VID for a better IGPU power management.
  • This rename is required for implementing IGPU Power Management.
  • On few Thinkpad and Lenovo Laptops, the Graphics address is PCI0.VID instead of GFX0.
  • This rename can lead to still waiting for device error. If you encounter such issue, disable this rename.
  • This rename is only for Thinkpad and Lenovo Laptops.
DSDT5649445F 085F4144 520C0000 020049475055 085F4144 520C0000 0200change PCI0.VID to IGPU #2 (Graphics, Thinkpad)*YES
  • Renames PCI0.VID for a better IGPU power management.
  • This rename is required for implementing IGPU Power Management.
  • On few Thinkpad and Lenovo Laptops, the Graphics address is PCI0.VID instead of GFX0.
  • This rename can lead to still waiting for device error. If you encounter such issue, disable this rename.
  • This rename is only for Thinkpad and Lenovo Laptops.
DSDT48454349494D4549Rename HECI to IMEI (PAVP)*YES
  • Renames HECI to IMEI for PAVP services.
  • This rename is required for implementing PAVP services.
  • This rename fixes iTunes/App Store Content Access problems and also enables Content playback.
DSDT4D45495F494D4549Rename MEI to IMEI (PAVP)*YES
  • Renames HECI to IMEI for PAVP services.
  • This rename is required for implementing PAVP services.
  • This rename fixes iTunes/App Store Content Access problems and also enables Content playback.
DSDT4844415348444546Rename HDAS to HDEF (Audio)YES
  • Renames HDAS to HDEF for Audio.
  • This rename is required for implementing Audio Function.
  • For Branded Systems, you may need to patch your DSDT. For more information on Audio implementation, read here.

Notes:
  • The PCI0.VID renames must be used in the conjunction to enable the proper IGPU 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 Coffee Lake and Coffee Lake-R Laptop, 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 and Coffee Lake-R Laptop, 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 and Coffee Lake-R Laptop 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.
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.
SyncRuntimePermissionYES
  • 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 and Coffee Lake-R Laptop includes:

For Coffee Lake




DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)AAPL,ig-platform-id00009B3EDATA
  • Enables IGPU Graphics acceleration and support.
dpcd-max-link-rate
  • 06000000
  • 0A000000
  • 14000000
  • 1E000000
DATA
  • Sets link rate type.
All the possible values for link rate are listed below.

06000000
  • Required for Laptops having 1080p Display, (RBR)
0A000000
  • Required for Laptops having 1080p Display, (HBR)
14000000
  • Required for Laptops having 4K Display, (HBR2)
1E000000
  • Required in case if the Laptop has more refresh rate than 60Hz.
  • This can fix display glitch after sleep/wake (HBR3)

enable-cfl-backlight-fix
01000000DATA
  • Enables CFL backlight patch.
  • This property also fixes black screen for 3 minutes after booting into macOS.
  • Requires SSDT-PNLF-CFL in ACPI directory.
enable-dpcd-max-link-rate-fix01000000DATA
  • Fixes invalid maximum link rate
  • This property on IGPU can fix the invalid link rate otherwise a kernel panic can occur due to a division-by-zero.
  • Usually required by Laptops with Sharp Display and more refresh rate.
enable-lspcon-support01000000DATA
  • Enables LSPCPN driver support to enable DisplayPort to HDMI 2.0 output on IGPU.
  • Coffee Lake are typically quipped with a HDMI 2.0 port. This port could be either tied to IGPU or DGPU. Intel UHD Graphics, does not provide native HDMI 2.0 output, so in order to solve this issue, OEMs adds an additional hardware names LSPCOn on the motherboard to convert DisplayPort into HDMI 2.0
  • LSPCON works in either Level Shifter (LS) or Protocol Converter (PCON) mode. When the adapter works in LS mode, it is capable of producing HDMI 1.4 output via DisplayPort, while in PCON mode, it could provide HDMI 2.0 output. Some onboard LSPCON adapters have been configured in the firmware to work in LS mode by default, resulting a black screen on handling HDMI 2.0 connections.
  • WEG provides driver support for the onboard LSPCON by automatically configuring the adapter to run in PCON mode on new HDMI connections, which tends to solves the black screen issue.
  • LSPCON driver is only applicable for Laptops with HDMI 2.0 routed to IGPU.
  • If your HDMI 2.0 is routed to IGPU and is working properly right now, you don't need to enable this driver, as your onboard LSPCON might have been already configured in the firmware to work in PCON mode.
  • This property can also provide HDR signaling over HDMI.
#2 framebuffer-con2-alldata03060800 00040000 C7030000DATA
#2 framebuffer-con2-enable1NUMBER
#3 framebuffer-con1-alldataFF000000 01000000 20000000 FF000000 01000000 20000000DATA
#3 framebuffer-con1-enable
1
NUMBER
#framebuffer-con0-enable1DATA
#framebuffer-con0-type00040000NUMBER
#framebuffer-con1-enable1NUMBER
#framebuffer-con1-flags87010000DATA
#framebuffer-con1-pipe12000000NUMBER
#framebuffer-con1-type00080000DATA
#framebuffer-con2-enable1DATA
#framebuffer-con2-flags87010000DATA
#framebuffer-con2-pipe12000000NUMBER
#framebuffer-con2-type00080000DATA
#framebuffer-con3-enable1DATA
#framebuffer-con3-flags87010000DATA
#framebuffer-con3-pipe12000000NUMBER
#framebuffer-con3-type00080000DATA
framebuffer-fbmem00009000DATA
framebuffer-patch-enable1NUMBER
framebuffer-stolenmem00003001DATA
framebuffer-unifiedmem00000080DATA
  • Change the VRAM to 2048MB in About This Mac, Display Tab and in System Report>Graphics/Displays Tab.
  • This property doesn't have any affect with the actual VRAM and is purely cosmetic.
hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on IGPU.
  • This property provides HDMI/DP function and can also fix crash issue when Hot plugging.
PciRoot(0)/Pci(0x1f,3)hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on HDEF.
  • This property provides HDMI/DP function and can also fix crash issue when Hot plugging.
layout-idxxNUMBER
  • Sets Layout ID for your Audio Codec.
  • The xx represents the layout ID for your codec.
  • Although, there's a new way to set Layout ID. However, few Laptops still require it.


For Coffee Lake-R



DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)AAPL,ig-platform-id00009B3EDATA
  • Enables IGPU Graphics acceleration and support.
device-id9B3E0000DATA
  • Sets Device ID for Coffee Lake-R CPUs.
dpcd-max-link-rate
  • 06000000
  • 0A000000
  • 14000000
  • 1E000000
DATA
  • Sets link rate type.
All the possible values for link rate are listed below.

06000000
  • Required for Laptops having 1080p Display, (RBR)
0A000000
  • Required for Laptops having 1080p Display, (HBR)
14000000
  • Required for Laptops having 4K Display, (HBR2)
1E000000
  • Required for , (HBR3)
enable-cfl-backlight-fix01000000DATA
  • Enables CFL backlight patch.
  • This property also fixes black screen for 3 minutes after booting into macOS.
  • Requires SSDT-PNLF-CFL in ACPI directory.
enable-dpcd-max-link-rate-fix01000000DATA
  • Fixes invalid maximum link rate
  • This property on IGPU can fix the invalid link rate otherwise a kernel panic can occur due to a division-by-zero.
  • Usually required by Laptops with Sharp Display and more refresh rate.
enable-lspcon-support01000000DATA
  • Enables LSPCPN driver support to enable DisplayPort to HDMI 2.0 output on IGPU.
  • Coffee Lake are typically quipped with a HDMI 2.0 port. This port could be either tied to IGPU or DGPU. Intel UHD Graphics, does not provide native HDMI 2.0 output, so in order to solve this issue, OEMs adds an additional hardware names LSPCOn on the motherboard to convert DisplayPort into HDMI 2.0
  • LSPCON works in either Level Shifter (LS) or Protocol Converter (PCON) mode. When the adapter works in LS mode, it is capable of producing HDMI 1.4 output via DisplayPort, while in PCON mode, it could provide HDMI 2.0 output. Some onboard LSPCON adapters have been configured in the firmware to work in LS mode by default, resulting a black screen on handling HDMI 2.0 connections.
  • WEG provides driver support for the onboard LSPCON by automatically configuring the adapter to run in PCON mode on new HDMI connections, which tends to solves the black screen issue.
  • LSPCON driver is only applicable for Laptops with HDMI 2.0 routed to IGPU.
  • If your HDMI 2.0 is routed to IGPU and is working properly right now, you don't need to enable this driver, as your onboard LSPCON might have been already configured in the firmware to work in PCON mode.
  • This property can also provide HDR signaling over HDMI.
framebuffer-con1-alldata
01050900 00040000 87010000
DATA
framebuffer-con1-enable01000000DATA
framebuffer-con2-alldata02060900 00040000 87010000DATA
framebuffer-con2-enable01000000DATA
framebuffer-con3-alldata03040A00 00080000 87010000DATA
framebuffer-con3-enable01000000DATA
framebuffer-con3-has-lspcon01000000DATA
  • Adds framebufer-conX-has-lspcon property to IGPU.
  • Sets LSPCON to connector 3.
  • If your connector is different, you must set this property to the respective connector.
framebuffer-con3-preferred-lspcon-mode01000000DATA
  • Adds framebuffer-conX-preferred-lspcon-mode property to IGPU.
  • Specifies a mode for your onboard LSPCON adapter.
01000000
  • PCON, DP to HDMI 2.0
00000000
  • LS, DP to HDMI 1.4
  • If this property is not specified, the driver assumes that PCON mode is preferred.
  • If your connector is different, you must set this property to the respective connector.
framebuffer-patch-enable01000000DATAEnables Framebuffer patching
framebuffer-portcount04000000DATA
framebuffer-unifiedmem00000080DATA
  • Change the VRAM to 2048MB in About This Mac, Display Tab and in System Report>Graphics/Displays Tab.
  • This property doesn't have any affect with the actual VRAM and is purely cosmetic.
hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on IGPU.
  • This property provides HDMI/DP function and can also fix crash issue when Hot plugging.
PciRoot(0)/Pci(0x1f,3)hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on HDEF.
  • This property provides HDMI/DP function and can also fix crash issue when Hot plugging.
layout-idxxNUMBER
  • Sets Layout ID for your Audio Codec.
  • The xx represents the layout ID for your codec.
  • Although, there's a new way to set Layout ID. However, few Laptops still require it.


Note:
To find the corresponding connector index of your HDMI port, follow the guide below.


If you're having a 2K/4K monitor, you might need temporarily to enable the infinite loop fix (-igfxhdmidivs) before connecting a HDMI monitor to your build, otherwise the system will just hangs, or you won't be able to run the IORegistryExplorer and find the connector index.

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


Force

This section allows to force kexts from loading.

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


Patch
This section allows patching for Kernel and Kexts.

Note:
For a Coffee Lake and Coffee Lake-R Laptop, 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 and Coffee Lake-R Laptop 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 and Coffee Lake-R Laptop 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 Laptop, 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 Laptop, 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 and Coffee Lake-R Laptop 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 and Coffee Lake-R Laptop 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 and Coffee Lake-R Laptop 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 and Coffee Lake-R Laptop, 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 and Coffee Lake-R Laptop, 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 and Coffee Lake-R Laptop, 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 and Coffee Lake-R Laptop includes:

UUIDKeyValueTypeNotes
7C436110-AB2A-4BBB-A880-FE41995C9F82boot-args
  • -v
  • -cdfon
  • -igfxnohdmi
  • -igfxhdmidivs
  • agdpmod=vit9696
  • -wegnoegpu
  • 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.
  • Once you're done with the installation and post installation, you can disable this boot arg.
-cdfon
  • Enables CoreDisplayFixup functionality via WhateverGreen.kext.
  • Enables HDMI 2.0 patches.
  • This prevents black screen for HDMI in UHD resolution with 60FPS or more.
  • Usually relevant for 4K/UHD/QHD panels. If your Laptop has a 4K/UHD/QHD panel, you'll need to use this boot arg.
  • If you get "gIOScreenLockState3 error", you'll need to use this property.
-igfxnohdmi
  • Avoids auto HDMI patch.
  • Disables DP to HDMI conversion patches for digital sound.
-igfxhdmidivs
  • Fixes infinite loop in eastablishing Intel HDMI connections with a higher pixel clock.
  • For example connecting to a 2K/4K display with HDMI 1.4, otherwise the system just hangs and the built-in display will remain black when plugging the HDMI cable.
  • Use it only if you're having above issue.
agdpmod=vit9696
  • Disables Board ID check
  • Required for few SMBIOS which doesn't have an HDMI output and will be ignored by the macOS.
-wegnoegpu
  • Disables discrete Graphics.
  • Disables discrete Graphics (NVIDIA or AMD), helpful in case of Dual GPU Laptops.
  • This boot arg is a temporary solution. It's recommended to patch your DSDT and related SSDTs to disable the discrete Graphics for a better power management and improved battery performance.
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.
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 and Coffee Lake-R Laptop, 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 and Coffee Lake-R Laptop, 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 and Coffee Lake-R Laptop 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 and Coffee Lake-R Laptop, this section requires no modification and will remain untouched.

BIOS

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


Chassis

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


Quirks
The required Quirks for a Coffee Lake and Coffee Lake-R Laptop 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 enable this quirk.
RequestBootVarRootingYES
  • Redirects AptioMemoryFix from EFI_GLOBAL_VARIABLE_GUID to OC_VENDOR_VARIABLE_GUID.
  • This quirk is required for using the Startup Disk preference pane in firmwares that is not compatible with macOS boot entries.
  • It's recommended to enable this quirk on all systems.
UnblockFsConnectNO
  • Some types of firmware block partition handles by opening them in By Driver mode, resulting in being unable to install File System protocols.
  • If you're using an HP Motherboard, you'll need to enable this quirk.
DuplicateBootOrderYES
  • Remove duplicate entries in BootOrder variable in EFI_GLOBAL_VARIABLE_GUID.
  • This quirk fixes duplicate boot order in Boot Menu.

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

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Motherboard
GIGABYTE Z370 AROUS GAMING 3
CPU
Intel Core i9 9900K
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
How to create a config.plist for booting macOS on Intel Laptops [OpenCore]

Whiskey Lake


SupportCompatibilityNotes
macOSmacOS High Sierra and above
IGPU SupportWhiskey Lake and Coffee Lake-R 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 Whiskey Lake Laptop 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 Whiskey Lake Laptops
  • 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.
SSDT-PNLFCFLYES
  • This SSDT provides Backlight support.
  • This SSDT is required for Brightness Control.
  • This SSDT also fixes black screen for 3minutes after booting into macOS.

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 Whiskey Lake Laptop, 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 Whiskey Lake Laptop includes:

Table Signature*FindReplaceCommentEnabledNotes
DSDT4746583049475055Rename GFX0 to IGPU (Graphics)YES
  • Renames GFX0 to IGPU for a better IGPU 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.
DSDT50434930 5649445F50434930 49475055Rename PCI0.VID to IGPU #1 (Graphics, Thinkpad)*YES
  • Renames PCI0.VID for a better IGPU power management.
  • This rename is required for implementing IGPU Power Management.
  • On few Thinkpad and Lenovo Laptops, the Graphics address is PCI0.VID instead of GFX0.
  • This rename can lead to still waiting for device error. If you encounter such issue, disable this rename.
  • This rename is only for Thinkpad and Lenovo Laptops.
DSDT5649445F 085F4144 520C0000 020049475055 085F4144 520C0000 0200change PCI0.VID to IGPU #2 (Graphics, Thinkpad)*YES
  • Renames PCI0.VID for a better IGPU power management.
  • This rename is required for implementing IGPU Power Management.
  • On few Thinkpad and Lenovo Laptops, the Graphics address is PCI0.VID instead of GFX0.
  • This rename can lead to still waiting for device error. If you encounter such issue, disable this rename.
  • This rename is only for Thinkpad and Lenovo Laptops.
DSDT48454349494D4549Rename HECI to IMEI (PAVP)*YES
  • Renames HECI to IMEI for PAVP services.
  • This rename is required for implementing PAVP services.
  • This rename fixes iTunes/App Store Content Access problems and also enables Content playback.
DSDT4D45495F494D4549Rename MEI to IMEI (PAVP)*YES
  • Renames HECI to IMEI for PAVP services.
  • This rename is required for implementing PAVP services.
  • This rename fixes iTunes/App Store Content Access problems and also enables Content playback.
DSDT4844415348444546Rename HDAS to HDEF (Audio)YES
  • Renames HDAS to HDEF for Audio.
  • This rename is required for implementing Audio Function.
  • For Branded Systems, you may need to patch your DSDT. For more information on Audio implementation, read here.

Notes:
  • The PCI0.VID renames must be used in the conjunction to enable the proper IGPU 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 Whiskey Lake Laptop, 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 Whiskey Lake Laptop, this section requires no modification and will remain untouched.


Quirks
This section allows to apply certain Booter quirks.

The required Booter Quirks for a Whiskey Lake Laptop 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.
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.
SyncRuntimePermissionYES
  • 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 Whiskey Lake Laptop includes:

DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)AAPL,ig-platform-id0900A53EDATA
  • Specifies ig-platform-id which enables IGPU Graphics acceleration and support.
device-idA53E0000DATA
  • Sets Device ID for Whiskey Lake CPUs
dpcd-max-link-rate
  • 06000000
  • 0A000000
  • 14000000
  • 1E000000
DATA
  • Sets link rate type.
All the possible values for link rate are listed below.

06000000
  • Required for Laptops having 1080p Display, (RBR)
0A000000
  • Required for Laptops having 1080p Display, (HBR)
14000000
  • Required for Laptops having 4K Display, (HBR2)
1E000000
  • Required in case if the Laptop has more refresh rate than 60Hz.
  • This can fix display glitch after sleep/wake (HBR3)
enable-dpcd-max-link-rate-fix01000000DATA
  • Fixes invalid maximum link rate
  • This property on IGPU can fix the invalid link rate otherwise a kernel panic can occur due to a division-by-zero.
  • Usually required by Laptops with Sharp Display and more refresh rate.
enable-lspcon-support01000000DATA
  • Enables LSPCPN driver support to enable DisplayPort to HDMI 2.0 output on IGPU.
  • Coffee Lake are typically quipped with a HDMI 2.0 port. This port could be either tied to IGPU or DGPU. Intel UHD Graphics, does not provide native HDMI 2.0 output, so in order to solve this issue, OEMs adds an additional hardware names LSPCOn on the motherboard to convert DisplayPort into HDMI 2.0
  • LSPCON works in either Level Shifter (LS) or Protocol Converter (PCON) mode. When the adapter works in LS mode, it is capable of producing HDMI 1.4 output via DisplayPort, while in PCON mode, it could provide HDMI 2.0 output. Some onboard LSPCON adapters have been configured in the firmware to work in LS mode by default, resulting a black screen on handling HDMI 2.0 connections.
  • WEG provides driver support for the onboard LSPCON by automatically configuring the adapter to run in PCON mode on new HDMI connections, which tends to solves the black screen issue.
  • LSPCON driver is only applicable for Laptops with HDMI 2.0 routed to IGPU.
  • If your HDMI 2.0 is routed to IGPU and is working properly right now, you don't need to enable this driver, as your onboard LSPCON might have been already configured in the firmware to work in PCON mode.
  • This property can also provide HDR signaling over HDMI.
framebuffer-con1-busid01000000DATA
framebuffer-con1-enable01000000DATA
framebuffer-con1-type00080000DATA
  • Sets framebuffer connector 1 type as HDMI
framebuffer-con2-enable01000000DATA
  • Enables framebuffer connector 2.
  • For more information on connector types, check the reference linked below.
framebuffer-con2-indexFFFFFFFFDATA
framebuffer-fbmem00009000DATA
  • Specifies framebuffer memory size.
  • This is a memory which is reserved for the framebuffer.
00009000
  • Sets framebuffer memory size to 9MB
00000003
  • Sets framebuffer memory size to 48MB
framebuffer-patch-enable01000000DATA
  • Enables framebuffer patching.
framebuffer-portcount02000000DATA
  • Specifies number of framebuffer ports.
framebuffer-stolenmem
  • 00003001
  • 00002002
DATA
  • Specifies stolenmem.
  • This is a memory which is reserved for the IGPU.
  • Prevents kernel panic due to less DVMT size set in BIOS/UEFI.
00003001
  • Sets framebuffer stolenmem size to 19MB
  • Usually relevant for Laptops where the DVMT-prealloc cannot be set due to hidden settings under BIOS/UEFI.
00002002
  • Sets framebuffer stolenmem size to 34MB
  • Usually relevant for 4K/UHD/QHD panel where the DVMT cannot be set due to hidden settings under BIOS/UEFI and variables cannot be modified using UEFI shell method.
  • However, few 4K/UHD/QHD Laptops such as Lenovo Yoga, may require BIOS unlocking.
framebuffer-unifiedmem00000080
000000C0
DATA
  • Defines VRAM size.
00000080
  • Change the VRAM to 2048MB in About This Mac, Display Tab and in System Report>Graphics/Displays Tab.
000000C0
  • Change the VRAM to 3072MB in About This Mac, Display Tab and in System Report>Graphics/Displays Tab.
This property doesn't have any affect with the actual VRAM and is purely cosmetic.
hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on IGPU.
  • This property provides HDMI/DP function and can also fix crash issue when Hot plugging.
PciRoot(0)/Pci(0x1f,3)hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on HDEF.
  • This property provides HDMI/DP function and can also fix crash issue when Hot plugging.
layout-idxxNUMBER
  • Sets Layout ID for your Audio Codec.
  • The xx represents the layout ID for your codec.
  • Although, there's a new way to set Layout ID. However, few Laptops still require it.


Note:
To find the corresponding connector index of your HDMI port, follow the guide below.


If you're having a 2K/4K monitor, you might need temporarily to enable the infinite loop fix (-igfxhdmidivs) before connecting a HDMI monitor to your build, otherwise the system will just hangs, or you won't be able to run the IORegistryExplorer and find the connector index.

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


Force

This section allows to force kexts from loading.

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


Patch
This section allows patching for Kernel and Kexts.

Note:
For a Whiskey Lake Laptop, 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 Whiskey Lake Laptop 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 Whiskey Lake Laptop 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 Laptop, 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 Laptop, 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 Whiskey Lake Laptop 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 Whiskey Lake Laptop 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 Whiskey Lake Laptop 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 Whiskey Lake Laptop, 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 Whiskey Lake Laptop, 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 Whiskey Lake Laptop, 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 Whiskey Lake Laptop includes:

UUIDKeyValueTypeNotes
7C436110-AB2A-4BBB-A880-FE41995C9F82boot-args
  • -v
  • -cdfon
  • -igfxnohdmi
  • -igfxhdmidivs
  • agdpmod=vit9696
  • -wegnoegpu
  • 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.
  • Once you're done with the installation and post installation, you can disable this boot arg.
-cdfon
  • Enables CoreDisplayFixup functionality via WhateverGreen.kext.
  • Enables HDMI 2.0 patches.
  • This prevents black screen for HDMI in UHD resolution with 60FPS or more.
  • Usually relevant for 4K/UHD/QHD panels. If your Laptop has a 4K/UHD/QHD panel, you'll need to use this boot arg.
  • If you get "gIOScreenLockState3 error", you'll need to use this property.
-igfxnohdmi
  • Avoids auto HDMI patch.
  • Disables DP to HDMI conversion patches for digital sound.
-igfxhdmidivs
  • Fixes infinite loop in eastablishing Intel HDMI connections with a higher pixel clock.
  • For example connecting to a 2K/4K display with HDMI 1.4, otherwise the system just hangs and the built-in display will remain black when plugging the HDMI cable.
  • Use it only if you're having above issue.
agdpmod=vit9696
  • Disables Board ID check
  • Required for few SMBIOS which doesn't have an HDMI output and will be ignored by the macOS.
-wegnoegpu
  • Disables discrete Graphics.
  • Disables discrete Graphics (NVIDIA or AMD), helpful in case of Dual GPU Laptops.
  • This boot arg is a temporary solution. It's recommended to patch your DSDT and related SSDTs to disable the discrete Graphics for a better power management and improved battery performance.
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.
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 Whiskey Lake Laptop, 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 Whiskey Lake Laptop, 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 Whiskey Lake Laptop 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 Whiskey Lake Laptop, this section requires no modification and will remain untouched.

BIOS

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


Chassis

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


Quirks
The required Quirks for a Whiskey Lake Laptop 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 enable this quirk.
RequestBootVarRootingYES
  • Redirects AptioMemoryFix from EFI_GLOBAL_VARIABLE_GUID to OC_VENDOR_VARIABLE_GUID.
  • This quirk is required for using the Startup Disk preference pane in firmwares that is not compatible with macOS boot entries.
  • It's recommended to enable this quirk on all systems.
UnblockFsConnectNO
  • Some types of firmware block partition handles by opening them in By Driver mode, resulting in being unable to install File System protocols.
  • If you're using an HP Motherboard, you'll need to enable this quirk.
DuplicateBootOrderYES
  • Remove duplicate entries in BootOrder variable in EFI_GLOBAL_VARIABLE_GUID.
  • This quirk fixes duplicate boot order in Boot Menu.

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

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Motherboard
GIGABYTE Z370 AROUS GAMING 3
CPU
Intel Core i9 9900K
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
How to create a config.plist for booting macOS on Intel Laptops [OpenCore]

Amber Lake Y


SupportCompatibilityNotes
macOSmacOS High Sierra and above
IGPU SupportAmber Lake Y 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 an Amber Lake Y Laptop 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 Whiskey Lake Laptops
  • 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.
SSDT-PNLFCFLYES
  • This SSDT provides Backlight support.
  • This SSDT is required for Brightness Control.
  • This SSDT also fixes black screen for 3minutes after booting into macOS.

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


Delete

This section allows to block the ACPI tables from loading.

Note:
For an Amber Lake Y Laptop, this section requires no modification and will remain untouched.


Patch

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

The required renames for an Amber Lake Y Laptop includes:

Table Signature*FindReplaceCommentEnabledNotes
DSDT4746583049475055Rename GFX0 to IGPU (Graphics)YES
  • Renames GFX0 to IGPU for a better IGPU 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.
DSDT50434930 5649445F50434930 49475055Rename PCI0.VID to IGPU #1 (Graphics, Thinkpad)*YES
  • Renames PCI0.VID for a better IGPU power management.
  • This rename is required for implementing IGPU Power Management.
  • On few Thinkpad and Lenovo Laptops, the Graphics address is PCI0.VID instead of GFX0.
  • This rename can lead to still waiting for device error. If you encounter such issue, disable this rename.
  • This rename is only for Thinkpad and Lenovo Laptops.
DSDT5649445F 085F4144 520C0000 020049475055 085F4144 520C0000 0200change PCI0.VID to IGPU #2 (Graphics, Thinkpad)*YES
  • Renames PCI0.VID for a better IGPU power management.
  • This rename is required for implementing IGPU Power Management.
  • On few Thinkpad and Lenovo Laptops, the Graphics address is PCI0.VID instead of GFX0.
  • This rename can lead to still waiting for device error. If you encounter such issue, disable this rename.
  • This rename is only for Thinkpad and Lenovo Laptops.
DSDT48454349494D4549Rename HECI to IMEI (PAVP)*YES
  • Renames HECI to IMEI for PAVP services.
  • This rename is required for implementing PAVP services.
  • This rename fixes iTunes/App Store Content Access problems and also enables Content playback.
DSDT4D45495F494D4549Rename MEI to IMEI (PAVP)*YES
  • Renames HECI to IMEI for PAVP services.
  • This rename is required for implementing PAVP services.
  • This rename fixes iTunes/App Store Content Access problems and also enables Content playback.
DSDT4844415348444546Rename HDAS to HDEF (Audio)YES
  • Renames HDAS to HDEF for Audio.
  • This rename is required for implementing Audio Function.
  • For Branded Systems, you may need to patch your DSDT. For more information on Audio implementation, read here.

Notes:
  • The PCI0.VID renames must be used in the conjunction to enable the proper IGPU 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 Whiskey Lake Laptop, 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 Amber Lake Y Laptop, this section requires no modification and will remain untouched.


Quirks
This section allows to apply certain Booter quirks.

The required Booter Quirks for an Amber Lake Y Laptop 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.
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.
SyncRuntimePermissionYES
  • 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 an Amber Lake Y Laptop includes:

DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)AAPL,ig-platform-id0000C087DATA
  • Specifies ig-platform-id which enables IGPU Graphics acceleration and support.
1 framebuffer-con1-alldata01050A00 00080000 87010000 02040A00 00080000 87010000 FF000000 01000000 20000000
1 framebuffer-con1-enable1

2 framebuffer-con1-alldata
01050A00 00080000 87010000 03060A00 00040000 87010000 FF000000 01000000 20000000
2 framebuffer-con1-enable
1
3 framebuffer-con1-alldataFF000000 01000000 20000000 FF000000 01000000 20000000 FF000000 01000000 20000000
3 framebuffer-con1-enable
1
framebuffer-con0-enable1

framebuffer-con0-type

00040000
#framebuffer-con1-enable1
framebuffer-con1-flags87010000
framebuffer-con1-pipe12000000
framebuffer-con1-type00080000
framebuffer-con2-enable
1
framebuffer-con2-flags87010000
framebuffer-con2-pipe12000000
framebuffer-con2-type
00080000
framebuffer-con3-enable1
framebuffer-con3-flags87010000
framebuffer-con3-pipe12000000
framebuffer-con3-type00080000
framebuffer-fbmem00009000
framebuffer-patch-enable
1
framebuffer-stolenmem00003001
dpcd-max-link-rate
  • 06000000
  • 0A000000
  • 14000000
  • 1E000000
DATA
  • Sets link rate type.
All the possible values for link rate are listed below.

06000000
  • Required for Laptops having 1080p Display, (RBR)
0A000000
  • Required for Laptops having 1080p Display, (HBR)
14000000
  • Required for Laptops having 4K Display, (HBR2)
1E000000
  • Required in case if the Laptop has more refresh rate than 60Hz.
  • This can fix display glitch after sleep/wake (HBR3)

enable-cfl-backlight-fix
01000000DATA
  • Enables CFL backlight patch.
  • This property also fixes black screen for 3 minutes after booting into macOS.
  • Requires SSDT-PNLF-CFL in ACPI directory.
enable-dpcd-max-link-rate-fix01000000DATA
  • Fixes invalid maximum link rate
  • This property on IGPU can fix the invalid link rate otherwise a kernel panic can occur due to a division-by-zero.
  • Usually required by Laptops with Sharp Display and more refresh rate.
enable-lspcon-support01000000DATA
  • Enables LSPCPN driver support to enable DisplayPort to HDMI 2.0 output on IGPU.
  • Coffee Lake are typically quipped with a HDMI 2.0 port. This port could be either tied to IGPU or DGPU. Intel UHD Graphics, does not provide native HDMI 2.0 output, so in order to solve this issue, OEMs adds an additional hardware names LSPCOn on the motherboard to convert DisplayPort into HDMI 2.0
  • LSPCON works in either Level Shifter (LS) or Protocol Converter (PCON) mode. When the adapter works in LS mode, it is capable of producing HDMI 1.4 output via DisplayPort, while in PCON mode, it could provide HDMI 2.0 output. Some onboard LSPCON adapters have been configured in the firmware to work in LS mode by default, resulting a black screen on handling HDMI 2.0 connections.
  • WEG provides driver support for the onboard LSPCON by automatically configuring the adapter to run in PCON mode on new HDMI connections, which tends to solves the black screen issue.
  • LSPCON driver is only applicable for Laptops with HDMI 2.0 routed to IGPU.
  • If your HDMI 2.0 is routed to IGPU and is working properly right now, you don't need to enable this driver, as your onboard LSPCON might have been already configured in the firmware to work in PCON mode.
  • This property can also provide HDR signaling over HDMI.
framebuffer-con1-busid01000000DATA
framebuffer-con1-enable01000000DATA
framebuffer-con1-type00080000DATA
  • Sets framebuffer connector 1 type as HDMI
framebuffer-con2-enable01000000DATA
  • Enables framebuffer connector 2.
  • For more information on connector types, check the reference linked below.
framebuffer-con2-indexFFFFFFFFDATA
framebuffer-fbmem00009000DATA
  • Specifies framebuffer memory size.
  • This is a memory which is reserved for the framebuffer.
00009000
  • Sets framebuffer memory size to 9MB
00000003
  • Sets framebuffer memory size to 48MB
framebuffer-patch-enable01000000DATA
  • Enables framebuffer patching.
framebuffer-portcount02000000DATA
  • Specifies number of framebuffer ports.
framebuffer-stolenmem
  • 00003001
  • 00002002
DATA
  • Specifies stolenmem.
  • This is a memory which is reserved for the IGPU.
  • Prevents kernel panic due to less DVMT size set in BIOS/UEFI.
00003001
  • Sets framebuffer stolenmem size to 19MB
  • Usually relevant for Laptops where the DVMT-prealloc cannot be set due to hidden settings under BIOS/UEFI.
00002002
  • Sets framebuffer stolenmem size to 34MB
  • Usually relevant for 4K/UHD/QHD panel where the DVMT cannot be set due to hidden settings under BIOS/UEFI and variables cannot be modified using UEFI shell method.
  • However, few 4K/UHD/QHD Laptops such as Lenovo Yoga, may require BIOS unlocking.
framebuffer-unifiedmem
  • 00000080
  • 000000C0
DATA
  • Defines VRAM size.
00000080
  • Change the VRAM to 2048MB in About This Mac, Display Tab and in System Report>Graphics/Displays Tab.
000000C0
  • Change the VRAM to 3072MB in About This Mac, Display Tab and in System Report>Graphics/Displays Tab.
This property doesn't have any affect with the actual VRAM and is purely cosmetic.
hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on IGPU.
  • This property provides HDMI/DP function and can also fix crash issue when Hot plugging.
PciRoot(0)/Pci(0x1f,3)hda-gfxonboard-1STRING
  • Sets hda-gfx to onboard-1 on HDEF.
  • This property provides HDMI/DP function and can also fix crash issue when Hot plugging.
layout-idxxNUMBER
  • Sets Layout ID for your Audio Codec.
  • The xx represents the layout ID for your codec.
  • Although, there's a new way to set Layout ID. However, few Laptops still require it.


Note:
To find the corresponding connector index of your HDMI port, follow the guide below.


If you're having a 2K/4K monitor, you might need temporarily to enable the infinite loop fix (-igfxhdmidivs) before connecting a HDMI monitor to your build, otherwise the system will just hangs, or you won't be able to run the IORegistryExplorer and find the connector index.

Kernel



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

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

The required kexts for an Amber Lake Y Laptop 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 Amber Lake Y Laptop, this section requires no modification and will remain untouched.


Force

This section allows to force kexts from loading.

Note:
For an Amber Lake Y Laptop, this section requires no modification and will remain untouched.


Patch
This section allows patching for Kernel and Kexts.

Note:
For an Amber Lake Y Laptop, this section requires no modification and will remain untouched.


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

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

The required settings for an Amber Lake Y Laptop includes:

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

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

The required settings for an Amber Lake Y Laptop 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 Laptop, 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 Laptop, you'll need to enable this quirk.
PanicKNoextDumpYES
  • Prevent kernel from printing kext dump in the panic log preventing from observing panic details.
PowerTimeoutKernelPanicYES
  • Disables kernel panic on setPowerState timeout.
  • Fixes kernel panics related to power changes with Apple drivers in macOS Catalina, most notably with digital audio.
XhciPortLimitYES
  • Enables 15 port limit patch.
  • This quirk is a temporary solution and is advised to map your USB ports during post-installation.
DisableRtcChecksumNO
  • Prevents AppleRTC from writing to primary checksum (0x58-0x59). Required for users who receives safe mode or BIOS reset error after reboot/shutdown. Mainly required for ASUS Motherboards. Do NOT use this quirk is you don't have such encounters.
DisableLinkeditJettisonYES
  • Disables __LINKEDIT jettison code.
  • Provides more reliable performance without keepsyms=1
  • This quirk is required for macOS Big Sur.

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


Misc



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

Boot
This section mainly provide functions for OpenCore GUI.

The required settings for an Amber Lake Y Laptop includes:

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

Debug
This section allows debug functions for boot.

The required settings for an Amber Lake Y Laptop includes:

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


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

The required settings for an Amber Lake Y Laptop 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 Amber Lake Y Laptop, 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 Amber Lake Y Laptop, 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 Amber Lake Y Laptop, this section requires no modification and will remain untouched.



NVRAM



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

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

The required NVRAM properties for an Amber Lake Y Laptop includes:

UUIDKeyValueTypeNotes
7C436110-AB2A-4BBB-A880-FE41995C9F82boot-args
  • -v
  • -cdfon
  • -igfxnohdmi
  • -igfxhdmidivs
  • agdpmod=vit9696
  • -wegnoegpu
  • 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.
  • Once you're done with the installation and post installation, you can disable this boot arg.
-cdfon
  • Enables CoreDisplayFixup functionality via WhateverGreen.kext.
  • Enables HDMI 2.0 patches.
  • This prevents black screen for HDMI in UHD resolution with 60FPS or more.
  • Usually relevant for 4K/UHD/QHD panels. If your Laptop has a 4K/UHD/QHD panel, you'll need to use this boot arg.
  • If you get "gIOScreenLockState3 error", you'll need to use this property.
-igfxnohdmi
  • Avoids auto HDMI patch.
  • Disables DP to HDMI conversion patches for digital sound.
-igfxhdmidivs
  • Fixes infinite loop in eastablishing Intel HDMI connections with a higher pixel clock.
  • For example connecting to a 2K/4K display with HDMI 1.4, otherwise the system just hangs and the built-in display will remain black when plugging the HDMI cable.
  • Use it only if you're having above issue.
agdpmod=vit9696
  • Disables Board ID check
  • Required for few SMBIOS which doesn't have an HDMI output and will be ignored by the macOS.
-wegnoegpu
  • Disables discrete Graphics.
  • Disables discrete Graphics (NVIDIA or AMD), helpful in case of Dual GPU Laptops.
  • This boot arg is a temporary solution. It's recommended to patch your DSDT and related SSDTs to disable the discrete Graphics for a better power management and improved battery performance.
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.
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 Amber Lake Y Laptop, 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 Amber Lake Y Laptop, this section requires no modification and will remain untouched.


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

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



PlatformInfo



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

DatHub - Generic - PlatformNVRAM

DataHub

OptionValueNotes
Add this section in config.plistYESAdds DataHub field

Generic

The required NVRAM properties for an Amber Lake Y Laptop 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 Amber Lake Y Laptop, this section requires no modification and will remain untouched.

BIOS

Note:
For an Amber Lake Y Laptop, this section requires no modification and will remain untouched.


Chassis

Note:
For an Amber Lake Y Laptop, this section requires no modification and will remain untouched.


Board



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


UEFI


This section is for adding UEFI drivers and related settings.

APFS
Provides APFS settings for APFS Driver.

The required settings for an Amber Lake Y Laptop includes:

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


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

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


Drivers
This section is for adding .efi drivers.

The required drivers for an Amber Lake Y Laptop 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 Amber Lake Y Laptop, this section requires no modification and will remain untouched.


Quirks
The required Quirks for an Amber Lake Y Laptop 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 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: