Using Alder Lake

Some prior hackintosh experience is recommended

OpenCore Alder Lake (12th-Gen Intel) Hackintosh Guidance

What can we learn from existing successful OpenCore Alder Lake desktop builds? I looked at almost every documented system on the major English and German hackintosh sites. In this article I will share the key points that I noticed when looking at these builds, documentation and configurations. This is just a very preliminary guide, since Dortania does not have an OpenCore Alder Lake Guide yet.
Essentially follow the Desktop Comet Lake | OpenCore Install Guide and incorporate the insights listed below. As always, do not just copy an EFI which you might find in other people's documentation. It may not work, is hard to maintain and is against the rules of r/hackintosh. Create your own EFI based on the guide.

Actual Hardware used:

Motherboards

Mostly Z690 and a few B660M and H610, but no Hackintosh seen yet with H670. Gigabyte and Asus have been used in the great majority of observed systems. macOS on Alder Lake laptops is not possible, due to the unsupported iGPU.
  • Gigabyte Z690i Aorus Ultra DDR4 - Mini-ITX
  • Gigabyte Z690 UD DDR4 - ATX
  • Gigabyte Z690 Aorus Elite DDR5 - ATX
  • Gigabyte Z690 Aorus Elite AX DDR4 - ATX
  • Gigabyte Z690 Aorus Pro DDR5 - ATX
  • Gigabyte Z690 AERO G DDR4 (plus Thunderbolt card) - ATX
  • Gigabyte Z690 Gaming X DDR4 - ATX
  • ASUS Z690 ProArt Creator WiFi (Thunderbolt 4) DDR5 - ATX
  • ASUS ROG STRIX Z690-A GAMING WIFI D4 DDR4 - ATX
  • ASUS ROG STRIX Z690-F GAMING WIFI DDR5 - ATX
  • ASUS PRIME Z690M-PLUS D4 DDR4 - microATX
  • ASUS PRIME Z690-P D4 LGA DDR4 - ATX
  • ASUS TUF GAMING Z690-PLUS D4 DDR4 - ATX
  • ASUS PRIME B660M-K D4 DDR4 - microATX
  • ASRock Z690 Pro RS DDR4 - ATX
  • ASRock Z690 Steel Legend WiFi 6E DDr4 - ATX
  • ASRock B660M-HDV DDR4 - microATX
  • MSI PRO Z690-A DDR5 - ATX
  • MSI PRO H610M-B DDR4 - microATX

CPUs actually used

  • i3-12100
  • i5-12400, i5-12400F, i5-12600K, i5 12600KF
  • i7-12700K, i7-12700KF
  • i9-12900K
All currently available Alder Lake Core-i-x-12xxx CPUs should work.

GPUs actually used

  • PowerColor Radeon RX 6600
  • Sapphire VGA Nitro+ RX 6600 XT
  • ASRock AMD Radeon RX 6600XT
  • MSI RX 6800 XT Gaming X Trio
  • Sapphire RX 6900 XT Special Edition
  • Yeston Radeon RX560 4GB GDDR5
  • AMD Radeon RX 570
  • Sapphire Pulse RX 580
Discrete GPUs are supported without any limitations including DRM and digital audio. (Vit, 22-01-09)
In the context of Alder Lake, I have seen primarily recommended: Polaris AMD RX 400 series & RX 500 series, as well as Navi RX 5000 series, RX 6800, RX 6800 XT, RX 6900 XT. AMD RX 6600 and 6600 XT are only supported in Monterey 12.1 and newer. (But the RX 6700 is currently not supported at all.)
The only two recommended SMBIOS on Alder Lake - MacPro7,1 and iMacPro1,1 - require a Polaris, Vega or Navi GPU to work properly. Also refer to the Dortania recommendations in GPU Support | OpenCore Install Guide and GPU Buyers Guide.

SSDs actually used

  • WD Black SN850 PCIe 4.0 NVMe SSD 1TB
  • WD Black SN750 SE NVMe SSD 1TB
  • WD Black SN750 NVMe SSD 500GB
  • WD Blue SN550 NVMe SSD 1TB
  • PNY CS1031 256GB
Some Samsung NVMe drives may still have problems: SSD boot time tests · dortania.

Wifi Cards actually used

  • Fenvi FV-T919 WiFi / Bluetooth Wireless Card
  • Fenvi M.2 NGFF BCM94360NG Wifi / Bluetooth 4.0 Network Card
The recommendations from the Wireless Buyers Guide continue to apply.

OS used

  • Monterey (mostly)
  • Big Sur
macOS Catalina 10.15.4 and above should work based on Comet Lake support in macOS.

Notes

  • Thermal management works. While Intel Power Gadget is rather buggy and not recommended in production, it mostly works, so do SuperIO and SMCProcessor. (Vit, 22-01-09)

Things that don't work

  • Sidecar requires either an iGPU or an Apple T2 chip for HEVC encoding/decoding so it does not work on this system (iGPU UHD 770 is not supported by macOS). Alternatives to Sidecar: Luna Display and Duet Display.
  • macOS treats all cores the same and does not schedule tasks optimally between P-cores and E-cores
  • Intel's Bluetooth 5.2 is not yet supported.
  • Various USB issues. These may not be specific to Alder Lake, but were reported on some motherboards.

BIOS:

All the BIOS configurations are essentially the same as used for Comet Lake, except for the CPU configuration.
  • CFG Lock may not be configurable in preferences on ASUS boards. This is an obvious BIOS bug, although it may not cause boot failures. We had to unlock it manually through the Shell method described in OpenCore Reference Manual. (Vit, 22-01-09)
  • XMP works at least with DDR5 we had at hand, but there were reports of no issues with DDR4 as well. While macOS does not name DDR5 as DDR5 in the profiler, this nuance is purely cosmetic. (Vit, 22-01-09)

CPU: P-cores and E-cores

Experiment with either of these configurations to see which works best for your workflow:
  • Option 1: All P-cores, all E-cores, and Hyper-Threading enabled. The Ring Clock frequency will be 3.6 GHz with a CPU performance impact of no more than 6%, due to lesser L3 and memory performance of the P-cores. Overall multi-threading performance will be better.
  • Option 2:: Only P-cores and Hyper-Threading enabled. The Ring Clock frequency will be 4.7 GHz. Overall multi-threading performance will be less.
  • Both options may be optimised by Alder Lake Overclocking. The Ring Clock and CPU clock are separate.
Therefore in BIOS > Advanced CPU Settings configure accordingly:
  • Option 1: All cores, all threads
    • Hyper Threading → Enabled
    • All P-Cores and E-Cores → Enabled
  • Option 2: Only P-cores and Hyper-Threads
    • Hyper Threading → Enabled
    • CPU Cores Enabling Mode → Selectable Mode
    • CPU Cores Enabling Mode → (Enable all P-Cores and Disable all E-Cores)

OpenCore Config.plist Configuration

Use the latest version of OpenCore, at least 0.8.2

ACPI -> Add

  • Most firmware dropped Processor-based CPU definition in ACPI and switched to Device-based definition, which is not recognised by macOS. To workaround this one needs to use the SSDT-PLUG-ALT ACPI table. (Vit, 22-01-09)

SSDTs

Very similar to Comet Lake, except for the additional SSDT-PLUG-ALT.aml
  • SSDT-PLUG-ALT.aml (required)
  • SSDT-AWAC.aml (required)
  • SSDT-EC-USBX.aml (required)
  • SSDT-SBUS.aml (optional)
  • SSDT-USBW.aml (optional) Works with USBWakeFixup.kext to enable proper wake from sleep.
  • SSDT-DMAC.aml (occasionally used) As on a real MacPro 7,1 : "the DMAC Direct Memory Access Controller provides an interface between the bus and the input-output devices , share the bus with the processor to make the data transfer, speedups the memory operations by bypassing the involvement of the CPU ".
  • SSDT-HPET.aml (occasionally used) - Patches out IRQ conflicts. Check: SSDTs: The easy way (SSDTTime > HPET).
  • SSDT-DTPG.aml (occasionally used) - Implements DTGP method that is needed by other SSDTs. Related to Thunderbolt.

ACPI -> Patch (optional)

I see many configurations with various ACPI patches. Some Alder Lake systems use none of these patches. - Apply as needed:
TableSignature OemTableId TableLength Find Replace Count Comment
44534454 0 4D435F5F 4D434843 0 Change MC__ to MCHC
53534454 4967667853736474 0 4D435F5F 4D434843 0 Change MC__ to MCHC
53534454 475357417070 0 4303141941444247 4303141958444247 1 Change ADBG to XDBG
  • Enable Change MC__ to MCHC and possibly Change ADBG to XDBG as shown above, if you encounter relevant ACPI Errors:
  • HPET _CRS to XCRS Rename, RTC IRQ 8 Patch, TIMR IRQ 0 Patch. Check: SSDTs: The easy way (SSDTTime > HPET).
  • Fix RTC _STA bug (seems to be an old fix previously used in Clover which should not be necessary in OpenCore). Try instead: SSDTs: The easy way (SSDTTime > AWAC)

Booter -> Quirks

ResizeAppleGpuBars -1 (or 0, if Re-Sizable BAR Support is enabled in BIOS)
  • We did not have PCIe 5.0 hardware to ensure optimal performance, but there were no issues with PCIe 4.0 and 3.0 including Resize Bar support handled by the ResizeAppleGpuBars quirk. (Vit, 22-01-09)

Kexts in Kernel -> Add

The kexts used are essentially the same as the ones used for Comet Lake:
  • Lilu.kext (required)
  • WhateverGreen.kext (required)
  • VirtualSMC.kext (required)
    • SMCProcessor.kext (optional - monitoring CPU temperature)
    • SMCSuperIO.kext (optional - monitoring fan speed)
  • AppleALC.kext (usually required - enable audio)
  • NVMeFix.kext (optional - for fixing power management and initialization on non-Apple NVMe)
Other common kexts used on Alder Lake:
  • RestrictEvents.kext - Lilu Kernel extension for blocking unwanted processes causing compatibility issues on different hardware. - Is needed when enabling E-cores due to large core count and makes showing the proper CPU name possible.
  • CPUFriend.kext - A Lilu plug-in for dynamic power management data injection. Used with CpuFriendDataProvider.kext which can be created according to the instructions here: CPUFriend/Instructions. It is important to add this as without is the GeekBench score will be far below the normal performance of the CPU.
  • An Ethernet kext. Commonly found on Z690:
  • USBWakeFixup is needed to fix keyboard wakeup support, but may cause compatibility issues with Bluetooth. Works with SSDT-USBW.
  • Kexts for USB mapping, depending on the use of USBMap or USBToolBox
See Kexts | OpenCore Install Guide for more details.

Kernel -> Emulate

This is required for Alder Lake. The configurations universally use these settings:
  • Emulate a Comet Lake CPU (0x0A0655)
  • As Alder Lake CPUs are not supported by macOS, the CPU ID has to be faked in the Config.plist
  • CPU ID is set to 0x0A0655 that is found in Comet Lake CPUs such as 10900, 10850, 10700, and 10400.
Cpuid1Data 55060A00000000000000000000000000`
Cpuid1Mask FFFFFFFF000000000000000000000000`
MinKernel 19.0.0

Kernel -> Quirks

ProvideCurrentCpuInfo Yes
  • More patches are required for XNU when using the efficiency cores, though handled automatically by the ProvideCurrentCpuInfo quirk starting with OpenCore 0.7.7. (Vit, 22-01-09)

NVRAM -> Add

7C436110-AB2A-4BBB-A880-FE41995C9F82 The boot-args follow the same pattern as described in OpenCore Install Guide - NVRAM. The only required additional argument is this:
  • -wegnoigpu to disable internal GPU, which is not supported.
  • A typical boot-args may look like this: -v keepsyms=1 debug=0x100 agdpmod=pikera -wegnoigpu alcid=1
  • agdpmod=pikera is used for disabling board ID checks on Navi GPUs (RX 5000 & 6000 series), without this you'll get a black screen. Don't use if you don't have Navi (ie. Polaris and Vega cards shouldn't use this).
  • In case the iGPU is needed for other operating systems, there are other ways to hide the iGPU described here: Disabling GPU | OpenCore Install Guide.
4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102
  • Optionally add your CPU name, for example:
revcpuname String 10-Core Intel i5-12600K
revcpu Number 1

PlatformInfo -> Generic

Use one of
  • MacPro7,1
  • iMacPro1,1
I have seen iMac20,1 used by some on Alder Lake, but this is the wrong choice, because the iGPU needs to be disabled, since Apple has not created any drivers for 12th Gen iGPUs. You must pay very close attention when selecting a SMBIOS, as macOS assumes the iGPU is present on every iMac SMBIOS. Features like Quick Look and such will be broken if macOS based on the the SMBIOS expects an iGPU.
MacPro7,1 and iMacPro1,1 are the only two SMBIOS that will allow for dGPU to handle all the workload including background rendering and other tasks that the iGPU would handle.
  • You'll likely need to fix power management as sleep may break: Fixing Power management.
  • Note that this requires a Polaris, Vega or Navi GPU to work properly.
MacPro7,1 is used in the majority of Alder Lake systems and appears to be the recommended choice. Read this for details: Choosing the right SMBIOS | OpenCore Install Guide.

UEFI -> Output

ProvideConsoleGop Yes
  • ASUS boards have a new aggregate GOP instance, which causes black screen during macOS first stage. This is addressed in the ProvideConsoleGop quirk starting with OpenCore 0.7.6. (Vit, 22-01-09)
  • This is enabled in OC > Sample.plist and should remain enabled, not just for ASUS boards.
Some of the configurations use Thunderbolt. Therefore these changes are only needed if the motherboard has Thunderbolt or an add-in card is used: AppleVTD allows certain Thunderbolt devices to connect and operate, such as Antelope Audio interfaces and Apple's own Thunderbolt-to-Gigabit Ethernet adapter. - Enabling AppleVTD requires the following:
  1. 1.
    Kernel --> Quirks --> DisableIoMapper --> No (affects macOS only)
  2. 2.
    ACPI --> Add --> SSDT-DMAR.aml --> Yes (affects all operating systems)
  3. 3.
    ACPI --> Delete --> DMAR --> Yes (affects all operating systems)
  4. 4.
    BIOS Setup --> VT-d --> Enabled

Successful BUILD LIST

I researched more in-depth about the specifics which might differ from a Comet Lake configuration by looking at many documented successful projects reported on r/hackintosh, TM, Github, hackintosh-forum-de and InsanelyMac.

r/Hackintosh

Golden and User Builds on TM

The Golden Builds are well documented and would help those who buy the same motherboard and CPU. - Yet, I am not satisfied just copying a configuration, since I might buy different hardware and I should be able to understand every part of the Config to maintain it longterm. Also you should use the tools recommended on r/hackintosh.

Github

hackintosh-forum.de

InsanelyMac

More Info

Except where otherwise noted, content on this site is licensed under the Creative Commons — Attribution-NonCommercial 4.0 International — CC BY-NC 4.0 license. Attribution by link to chriswayg · GitHub.