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

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

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

Comet Lake


SupportCompatibilityNotes
macOSmacOS High Sierra and above
IGPU SupportComet Lake 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 Comet 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 Comet 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 Comet 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 Comet 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 Comet 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 Comet 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 Comet 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
DevirtualiseMmioYES
  • Remove runtime attribute from select MMIO regions.
  • This option reduces stolen memory footprint from the memory map by removing runtime bit for known memory regions.
EnableSafeModeSlideYES
  • Patch bootloader to have KASLR enabled in safe mode.
  • This quirk requires ProvideCustomSlide to be enabled.
  • This quirk can be helpful if you're unable to boot into safe mode.
ProvideCustomSlideYES
  • Provide custom KASLR slide on low memory.
  • This option forces macOS to use a pseudo random value among the available ones.
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 Comet Lake Laptop includes:

DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)AAPL,ig-platform-id00009B3EDATA
  • Specifies ig-platform-id which enables IGPU Graphics acceleration and support.
device-id9B3E0000DATA
  • Sets Device ID for Comet 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-alldata01050900 00040000 87010000
framebuffer-con1-enable01000000
  • Enables framebuffer connector 1.
  • For more information, refer to the connector type guide linked below.
framebuffer-con2-alldata02060900 00040000 87010000
framebuffer-con2-enable01000000
  • Enables framebuffer connector 2.
  • For more information, refer to the connector type guide linked below.
framebuffer-con3-alldata03040A00 00080000 87010000
framebuffer-con3-enable01000000
  • Enables framebuffer connector 3.
  • For more information, refer to the connector type guide linked below.
framebuffer-con3-has-lspcon*01000000
  • Adds framebufer-conX-has-lspcon property to IGPU.
framebuffer-con3-preferred-lspcon-mode*
  • 01000000
  • 00000000
  • 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-fbmem
  • 00009000
  • 00000003
DATA
  • 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-portcount
  • 02000000
  • 04000000
DATA
  • Specifies number of framebuffer ports.
02000000
  • Sets framebuffer memory size to 9MB
04000000
  • Sets framebuffer memory size to 48MB
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.

*Sets LSPCON to connector 3.

*If your connector is different, you must set this property to the respective connector.


Kernel


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

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

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


Force

This section allows to force kexts from loading.

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


Patch
This section allows patching for Kernel and Kexts.

Note:
For a Comet 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 Comet 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 Comet 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.
DisableIoMapperYES
  • Disables IOMapper support in XNU (VT-d), which may conflict with the firmware implementation.
  • This option is a preferred alternative to deleting DMAR ACPI table and disabling VT-d in firmware preferences, which does not break VT-d support in other systems in case they need it.
  • Enable this quirk if you cannot disable VT-d in BIOS/UEFI.
LapicKernelPanicNO
  • Disables kernel panic on AP core lapic interrupt.
  • Equivalent to Clover's Kernel LAPIC.
  • If you're using an HP 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 Comet 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 Comet 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 Comet 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 Comet 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 Comet 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 Comet 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 Comet Lake Laptop includes:

UUIDKeyValueTypeNotes
7C436110-AB2A-4BBB-A880-FE41995C9F82boot-args
  • -v
  • -cdfon
  • igfxfw=2
  • -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.
igfxfw=2
  • Force loading of Apple GuC firmware.
  • This can boost the performance of IGPU.
-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 Comet 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 Comet 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 Comet 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 Comet Lake Laptop, this section requires no modification and will remain untouched.

BIOS

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


Chassis

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


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

Ice Lake


SupportCompatibilityNotes
macOSmacOS High Sierra and above
IGPU SupportComet Lake 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 Ice 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 Ice 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 Ice 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 an Ice 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 Comet 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 Ice 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 an Ice 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
DevirtualiseMmioYES
  • Remove runtime attribute from select MMIO regions.
  • This option reduces stolen memory footprint from the memory map by removing runtime bit for known memory regions.
EnableSafeModeSlideYES
  • Patch bootloader to have KASLR enabled in safe mode.
  • This quirk requires ProvideCustomSlide to be enabled.
  • This quirk can be helpful if you're unable to boot into safe mode.
ProvideCustomSlideYES
  • Provide custom KASLR slide on low memory.
  • This option forces macOS to use a pseudo random value among the available ones.
RebuildAppleMemoryMapYES
  • Generates Memory Map which is compatible with macOS.
  • Since several types of firmware come with incorrect memory protection tables, this quirk often comes paired with SyncRuntimePermissions.
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 Ice Lake Laptop includes:

DevicesKeyValueTypeNotes
PciRoot(0x0)/Pci(0x2,0x0)AAPL,ig-platform-id0000528A DATA
  • Specifies ig-platform-id which enables IGPU Graphics acceleration and support.
enable-cdclk-frequency-fix01000000DATA
  • Adds enable-cdclk-frequency-fix property to IGPU to support all valid Core Display Clocl (CDCLK)
  • Prevents kernel panic due to an unsupported CD clock decimal frequency.
  • Apple's Graphics driver expects that the firmware has already set the clock frequency to either 652.8MHz or 648MHz (actual value depends on the hardware), but few laptops set it to a much lower value such as 172.8MHz, and a kernel panic can occur.
enable-cfl-backlight-fix01000000
enable-dvmt-calc-fix01000000DATA
  • Adds the enable-dvmt-cal-fix property to IGPU to fix the calculation of the amount of DVMT pre-allocated memory on Ice Lake Laptops.
  • Prevents kernel panic due to incorrect calculation of DVMT pre-allocated memory.
  • Apple's Graphics driver reads the DVMT value set in the BIOS or the firmware and uses a "magic" forumula to calculate the amount of memory in bytes. Unfortunately, the forumal only works for a pre-allocated memory size that is a multiple of 32MB. By default, on Ice Lake Laptops, the DVMT is set to 60MB where the framebuffer controller ends up with initializing the stolen memory manager with an incorrect amount of pre-allocated memory.
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-alldata01050900 00040000 87010000
framebuffer-con1-enable01000000
  • Enables framebuffer connector 1.
  • For more information, refer to the connector type guide linked below.
framebuffer-con2-alldata02060900 00040000 87010000
framebuffer-con2-enable01000000
  • Enables framebuffer connector 2.
  • For more information, refer to the connector type guide linked below.
framebuffer-con3-alldata03040A00 00080000 87010000
framebuffer-con3-enable01000000
  • Enables framebuffer connector 3.
  • For more information, refer to the connector type guide linked below.
framebuffer-con3-has-lspcon*01000000
  • Adds framebufer-conX-has-lspcon property to IGPU.
framebuffer-con3-preferred-lspcon-mode*
  • 01000000
  • 00000000
  • 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-fbmem
  • 00009000
  • 00000003
DATA
  • 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-portcount
  • 02000000
  • 04000000
DATA
  • Specifies number of framebuffer ports.
02000000
  • Sets framebuffer memory size to 9MB
04000000
  • Sets framebuffer memory size to 48MB
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.

*Sets LSPCON to connector 3.

*If your connector is different, you must set this property to the respective connector.


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


Force

This section allows to force kexts from loading.

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


Patch
This section allows patching for Kernel and Kexts.

Note:
For an Ice 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 an Ice 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 an Ice 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.
DisableIoMapperYES
  • Disables IOMapper support in XNU (VT-d), which may conflict with the firmware implementation.
  • This option is a preferred alternative to deleting DMAR ACPI table and disabling VT-d in firmware preferences, which does not break VT-d support in other systems in case they need it.
  • Enable this quirk if you cannot disable VT-d in BIOS/UEFI.
LapicKernelPanicNO
  • Disables kernel panic on AP core lapic interrupt.
  • Equivalent to Clover's Kernel LAPIC.
  • If you're using an HP 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 Ice 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 an Ice 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 an Ice 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 an Ice 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 an Ice 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 an Ice 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 an Ice Lake Laptop includes:

UUIDKeyValueTypeNotes
7C436110-AB2A-4BBB-A880-FE41995C9F82boot-args
  • -v
  • -cdfon
  • igfxfw=2
  • -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.
igfxfw=2
  • Force loading of Apple GuC firmware.
  • This can boost the performance of IGPU.
-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 Comet 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 an Ice 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 an Ice 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 an Ice Lake Laptop, this section requires no modification and will remain untouched.

BIOS

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


Chassis

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


Quirks
The required Quirks for an Ice 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:
fantastic work
 
  • Like
Reactions: EliteMacx86
The SSDTs are bundled with OpenCore package.
agree, but we have to put inside EFI the *.aml file

for example i need the SSDT-EC-USBX.aml , how to obtain this ?
should i copy the raw code from github to a new compilation an save it as ACPI file with the the name of the Acpi Sample?
 
for example i need the SSDT-EC-USBX.aml , how to obtain this ?
You'll find it in the release folder of OC. You'll need to compile it.
 
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.
at patching DSDT and SSDT, what does this mean : ”Table Signature*” ?

on config.plist for OC the PATCH has no DSDT table. Were to add this? under ACPI/PATCH as a Children or OpenCore ->ACPI -> New Blank Entry?

this patches will patch what ? the DSDT ? if yes, then DSDT wll remain unpatched via MacIASL?
Thank u
 
You'll find it in the release folder of OC. You'll need to compile it.
i have managed to compile thoes 3 SSDT's and put them to ACPI. managed to boot the installer .
stil i did not attached the DSDT to ACPI . allso did not applied any patches (hot patch) to ACPI , i do not know how to do that.
 

Forum statistics

Threads
1,920
Messages
17,879
Members
27,654
Latest member
Kopus_Neko