- Joined
- Nov 24, 2021
- Messages
- 49
- Motherboard
- ASRock Z690 Steel Legend
- CPU
- i9-12900K
- Graphics
- RX 6600 XT
- Mac
- Mobile Phone
The motherboard has 5 PCIe slots. ASRock Z690 Steel Legend (without WiFi) should also work as the difference is just the M.2 WiFi card and antennas.
Wireless Module
I have replaced the Intel AX210NGW WiFi/BT module with macOS-compatible Broadcom BCM94360NG. The E key M.2 socket on the motherboard supports non CNVi modules. BCM94360NG works OOB with the M.2 socket.
CPU Emulation
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.
Components
- Motherboard: ASRock Z690 Steel Legend WiFi 6E
- CPU: Intel 13900KF (12900K and 12700K are also tested to work)
- M.2 wireless module: Broadcom BCM94360NG
- GPU: Radeon RX 6600 XT
- Memory: Corsair DDR4 3200MHz 16GB x 4
- M.2 SSD: WD_BLACK 1TB SN770 NVMe SSD
- CPU cooler: Noctua NH-U12S chromax.black
- Power supply: SilverStone SST-ST85F-GS-V2 (850W)
The current UEFI version is 9.0.3. The UEFI with this version or newer is required to boot Raptor Lake-S CPUs. It works with all the default BIOS settings, i.e. it works OOB. I have optionally changed following settings from their default value.
- OC Tweaker > DRAM Configuration > Load XMP Setting > XMP 2.0 Profile 1
- Advanced > USB Configuration > XHCI Hand-off > Enabled
- Boot > Bootup Num-Lock > off
- Advanced > CPU Configuration > CFG Lock > Disabled (default)
- Advanced > Chipset Configuration > Above 4G Decoding > Enabled (default)
EFI System Partition (ESP) Files
The attached EFI (ESP files) is configured with OpenCore 0.9.1, and will successfully boot macOS 13 and 12. The EFI is based on the EFI provided by @etorix.
SSDTs used in the EFI are:
- SSDT-AWAC.aml
- SSDT-EC-USBX.aml
- SSDT-SBUS.aml
- SSDT-PLUG-ALT.aml
- Lilu.kext
- VirtualSMC.kext
- WhateverGreen.kext
- SMCProcessor.kext
- SMCSuperIO.kext
- AppleALC.kext (layout-id is 12)
- LucyRTL8125Ethernet.kext
- NVMeFix.kext
- USBPorts.kext
Recommended SystemProcudtName for Raptor/Alder Lake-S is iMacPro1,1 or MacPro7,1. In the attached EFI, iMacPro1,1 is used because performance tuning is simpler. In case of using MacPro7,1, CPUFriend and related kexts are additionally required for optimal performance. However, there is no specific difference between the two products, you can use one you prefer.
Graphics Processing Unit (GPU)
A discrete GPU is required because the iGPU (UHD 770) is not supported in macOS. Compatible GPUs to the recent versions of macOS are:
- AMD Vega 56, Vega 64, Radeon VII (OOB)
- AMD RX 400 series, RX 500 series (OOB)
- AMD RX 5000 series (with "agdpmod=pikera")
- AMD RX 6600 XT, RX 6800, RX 6800 XT, RX 6900 XT (with "agdpmod=pikera")
USB
This motherboard has 6 physical USB ports on the back panel. They are assigned as follows:
Besides the back panel ports, I found that:
- HS14 is assigned to the Bluetooth pins at the M.2 E key socket (M2_WIFI),
- HS01 and SS01 are assigned to the Type-C connector on the motherboard (F_USB32_TC_1),
- HS08 and SS08 are assigned to a USB hub chip ASM107x that is used by two internal USB 3 connectors (i.e. USB3_5_6 and USB3_7_8),
- HS09, 10, 11, 12 are assigned to two internal USB 2 connectors (USB_1_2 and USB_3_4), and
- HS13 is used by ASRock LED Controller for motherboard illumination.
The list of available 22 USB ports is as follows:
- HS01: On-board (internal) USB Type-C (F_USB32_TC_1)
- HS02: Back-panel Type-A below the Ethernet (USB3_3_4)
- HS03: Back-panel Type-A below & below the Ethernet (USB3_3_4)
- HS04: Back-panel Type-A below & below the PS/2 (USB3_1_2)
- HS05: Back-panel Type-A below the PS/2 (USB3_1_2)
- HS06: Back-panel Type-C (USB31_TC_1)
- HS07: Back-panel Type-A over the Type-C (USB31_TA_1)
- HS08: On-board (internal) USB hub (ASM107x) (for USB3_5_6, USB3_7_8)
- HS09: On-board (internal) USB2.0 (outer side of USB_3_4)
- HS10: On-board (internal) USB2.0 (inner side of USB_3_4)
- HS11: On board (internal) USB2.0 (outer side of USB_1_2)
- HS12: On board (internal) USB2.0 (inner side of USB_1_2)
- HS13: On board (internal) ASRock LED Controller
- HS14: On board (internal) M.2 E key (BCM94360NG uses for BT)
- SS01: On board (internal) USB Type-C (F_USB32_TC_1)
- SS02: Back-panel Type-A below & below the Ethernet (USB3_3_4)
- SS03: Back-panel Type-A just below the Ethernet (USB3_3_4)
- SS04: Back-panel Type-A below & below the PS/2 (USB3_1_2)
- SS05: Back-panel Type-A just below the PS/2 (USB3_1_2)
- SS06: Back-panel Type-C (USB31_TC_1)
- SS07: Back-panel Type-A over the Type-C (USB31_TA_1)
- SS08: On board (internal) USB hub (ASM107x) (for USB3_5_6, USB3_7_8)
Ports SS05, SS04, HS05, and HS04 could be also deactivated. These USB ports (USB3_1_2) are less useful than others, because they do not support ACPI wake-up function, while other USB ports do. They do not supply voltage (i.e. DC 5 volt) when the computer is turned off. This means that a keyboard or pointing-device connected to USB3_1_2 cannot be used to awake the computer from sleep. The motherboard manual says:
You can also deactivate some of the internal USB ports on the mother board, depending your use case. I have made a USBPorts.kext using Hackintool, which deactivate USB3_1_2, LED controller, and two of the internal USB 2.0 connectors. It is included in the EFI files attached to this comment.
You can customize your USB usage map by editing the Contents/Info.plist file inside the USBPorts.kext. For example, in case you want to use a compatible FV-T919 WiFi BT card:
instead of M.2 BCM94360NG card, you will want to disable HS14 and to enable one of the on-board USB 2.0 such as HS9, HS10, HS11 or HS12. In that case, you can rewrite the HS14 dictionary part:
XML:
<key>HS14</key>
<dict>
<key>Comment</key>
<string>M.2 E key for Bluetooth</string>
<key>UsbConnector</key>
<integer>255</integer>
<key>name</key>
<string>HS14</string>
<key>port</key>
<data>
DgAAAA==
</data>
</dict>
to HS10 (for example).
XML:
<key>HS10</key>
<dict>
<key>Comment</key>
<string>PCIe card for Bluetooth</string>
<key>UsbConnector</key>
<integer>255</integer>
<key>name</key>
<string>HS10</string>
<key>port</key>
<data>
CgAAAA==
</data>
</dict>
Sleep and Wake
In the Energy Saver setting, "Wake for network access" should be disabled in my environment, otherwise the computer wakes up very frequently. "Enable Power Nap" may be enabled, in that case, it wakes about once an hour to execute background jobs.
Then, my machine sleeps and wakes normally in macOS Monterey 12.2.1 and newer. It sleeps fine and wakes from a USB or Bluetooth connected keyboard. If your machine has no sleep issues, just ignore the following part of this section.
Before Monterey 12.2.1, my machine had instant wake issue. When a USB keyboard or USB flash devices were connected to some of USB Type-A connectors at the back-panel, the computer waked up about 1 minute after starting sleep. When no devices were connected to Type-A, it successfully slept, stoped the CPU fan, and waked up when Bluetooth input device was operated.
The instant wake issue caused by USB devices may or may not happen depending on USB configuration of each machine (see #73). In case your machine has this kind of instant sleep issue caused by USB devices, one of the following two methods will help.
(1) Method 1: to disable all USB devices while sleep
See the post #14. Use SSDT-GPRW.aml and GPRW patch to ACPI. As a result, it wakes only by pressing the power switch, not from a USB devices including Apple Magic Keyboards.
(2) Method 2: to assign Type-A connectors as "internal"
See the post #15. Map all the USB Type-A connectors with "internal" (UsbConnector = 255) instead of with USB 2 (0) or USB 3 (3). As for USB Type-C connectors, sleep behavior is normal with actual mapping of TypeC+Sw (9). By re-writing the Info.plist file in USBPorts.kext this way, the kext maps USB connectors will be as follows:
Drawback of this method is that the computer will not wake by operating a keyboard plugged to one of the USB Type-A connector. It can be waken only by either of input devices connected to Bluetooth or USB Type-C, or by the power switch. If you mainly use Apple's BT input devices, this drawback will not matter.
Benchmarks (12900K)
Using 12900K, 24 cores (8 P-cores, 8 hyper-threads, and 8 E-cores) are activated. (screen shot with Activity Monitor.app)
A benchmark result by Geekbench 5 w/o over-clocking (stock freq.) is as follows:
The result is 13 to 23 % better than M1 Max score found in the Geekbench browser site. Alder Lake scores in the following graph are averaged over 5 benchmark trials.
(Geekbench CPU scores.)
Following is the GPU Geekbench 5 comparison to M1 Max iGPU.
(Geekbench GPU scores.)
Benchmarks (13900KF)
As Raptor Lake-S processors are highly compatible to the previous generation, they work with exactly the same configurations (BIOS and OpenCore) for Alder Lake-S processors. Just by replacing the cpu chip, it works. By using 13900KF with above mentioned configuration, 32 cores (8 P-cores, 8 hyper-threads, and 16 E-cores) are activated.
A benchmark result by Geekbench 5 is as follows:
A benchmark result by Cinebench R23 is as follows.
The benchmark score of the build is 50 % better than Mac Studio M1 Ultra score found in https://www.check-mac.com/en/benchmark-cinebench_r23-10. Raptor Lake scores in the following graph are averaged over 3 benchmark trials.
Improve the Single Score by CpuTopologyRebuild kext (13900KF)
MacOS recognizes the 13900K and KF as a 32 physical core processor (32C32T) with OpenCore default setting. This can be re-configured to 24C32T or 8C32T by using CpuTopologyRebuild.kext. Using the kext and setting 8C32T, single core score by Cinebench R23 can be improved by 6%. Results as follows:
13900KF scores are averaged over 3 benchmark trials. To enable 8C32T configuration, place the kext in the EFI, enable it in the config.plist, and add "-ctrsmt" to the boot arg.
What Works
- Stable operation as a main computer over 6 months
- Shutdown, restart
- Ethernet port (onboard 2.5GbE, Realtek RTL8125BG)
- M.2 WiFi, Bluetooth (using Broadcom BCM94360NG)
- Audio (ALC897, layout-id=12)
- Quick Look, Preview
- Messages, FaceTime
- iCloud, App Store, Apple TV
- Universal clipboard, Continuity, AirDrop
- Amazon Prime Video in Safari
- AirPlay Receiver (plays DRM contents)
- Sleep (CPU and case fans stop.)
- Wake from sleep by Bluetooth KBDs, USB-connected KBDs, or power switch. (Except for KBDs connected to USB3_1_2 that does not support ACPI wake-up function.)
- Universal Control (macOS 12.3 and later)
- Sidecar (due to the lack of supported iGPU. See the FAQs. )
- Continuous mounting of a USB-connected SATA SSD throughout sleep ("Do Not Ejected properly" message appears on wake from a sleep. Meanwhile, USB thumb drives work fine without the message.)
@etorix and @CaseySJ who shared excellent Z690 guide.
Updates:
- Audio worked with AppleALC.kext 1.6.7
- Confirmed sleep without USB devices
- Confirmed DRM video playback
- Confirmed Apple ID related functions
- Updated for OC0.7.6 based on https://www.tonymacx86.com/threads/z690-chipset-and-alder-lake-cpus.316618/page-153#post-2294767
- Unwanted wake from sleep by USB devices is disabled
- USB Type-A connectors are mapped with "internal" to avoid instant wake
- Updated for OC0.7.8. All cores and hyper-threads work.
- Removed the USB mapping tip. From 12.2.1, no instant-wake happens.
- Updated for OC0.8.0. (05/04/2022)
- Updated the USB assignment information. (05/04/2022)
- Updated to macOS 12.4. (05/18/2022)
- Updated the USB tips. (05/22/2022)
- Updated about wake from sleep by USB connected keyboards. (05/23/2022)
- Updated for OC0.8.1. (06/15/2022)
- Updated for OC0.8.2 and UEFU BIOS 8.01. THX @HeyItsMeYaBoyyyy and @bikinifarm (07/06/2022)
- Updated for startup chime. Enable UEFI: Drivers:Item 4:AudioDxe.efi and UEFI:Audio:AudioSupport in the config.plist to activate the startup chime. THX @bikinifarm (07/09/2022)
- Updated for OC0.8.3. (08/07/2022)
- Updated the instant wake issue. THX @bikinifarm (08/15/2022)
- Updated to OC0.8.5, macOS Ventura. Confirmed 13900KF works as well. (10/31/2022)
- Added CpuTopologyRebuild.kext to improve single Cinebench score. (11/06/2022)
- Updated to OC0.8.7. (12/27/2022)
- Updated to OC0.9.1 and macOS 13.3.1. (4/11/2023)
- Updated to OC0.9.2 and macOS 13.4. (6/1/2023)
Attachments
Last edited: