This repository provides the basic EFI folder to run macOS Catalina on an ASRock Phantom Gaming ITX/TB3 motherboard. The default provided currently using a Ryzen 9 3900X 12 Core CPU and a Radeon RX 5500 XT. For a short guide to using different CPUs and GPUs see below (all kexts specific to those are named explicitely). This is intended as a reference and to share improvements for similar build, not as an out of the box EFI to download. It is highly recommended to start with a vanilla OpenCore and following OpenCore Vanilla Guide first.
Prozessor: AMD Ryzen 9 3900X
Cooler: Custom Water Cooling
Motherboard: AsRock X570 Phantom Gaming ITX/TB3 (BIOS 2.60)
WIFI/BT: Broadcom BCM94360NG
Memory: Kingston HyperX Predator (2x 32GB) DDR4-3600
Storage: Corsair MP600 (1000GB) M.2 NVMe PCIe 4.0
Video Card: XFX Radeon VII 16GB
Power Supply: Corsair SF600 Platinum
Case: Phanteks Enthoo Evolv Shift (Mini-ITX)
I've heavily modded the case to fit the Radeon VII with 3 120mm radiators in it. Also I've replaced the integrated Intel AX200 module with a BCM94360NG that is natively supported by macOS.
BIOS: 2.00 / 2.30 / 2.60
macOS: 10.15 / 11.0 Beta
The following SSDT files are for setting up HPET and EC.
The following SSDT files are for USB Power and properly name USB controllers and ports. Note: to fix sleep issues the internal HS10 port connected to bluetooth is not configured as internal.
The following SSDT files fixing SMBUS support. Choose on depending on the BIOS version either 2.00 or 2.30+. Note: Using this SSDT prevents the Machine from entering sleep.
Besides the default kexts the following are noteworthy:
For enabling the integrated Intel Bluetooth/Wifi you can use the kexts from OpenIntelWireless. Though Bluetooth is working mostly perfect, some things like audio input (Bluetooth Mic from AirPods for example) do not work.
The SMCAMDProcessor.kext is used to provide CPU temperature and frequency information, the AMD Power Gadget can be downloaded from https://github.com/trulyspinach/SMCAMDProcessor/releases. Other monitoring tools can also access and display this information. AMDRyzenCPUPowerManagement-ES.kext is a custom compiled version with a few minor differences: Upon boot low power state (P2) is enabled and Core Performance Boost is desabled by default. Additionally the adjustment has been tuned down a little to not immediately go to the highest power state and go down again faster. This with the intent to not have the CPU going full power for just minor loads like opening an empty browser tab. Only use this kext if you know what you are doing as it requires P2 to work correctly on your CPU.
The VoodooTSCSyncAMD kext is used to sync the cores and required the correct number of threads (cores * 2). Either update the Info.plist of the kext or create a new one with the VoodooTSCSync configurator.
The AGPMInjector kext is used to inject proper power management and can be created with Pavo-IM's generator.
The AMD-USB-Map kext is depending on the SMBIOS and can be created with the Hackintool. I've modified it according to Aleksandar's guide to use
IOKitPersonalities_x86_64 instead of
IOKitPersonalities generated by the Hackintool.
This seems to improve USB behavior in general (USB thumb drives are more responsive, loading and unmounting is noticably faster).
Everything is tested with ASRocks latest BIOS v2.00 and v2.30/v2.60:
Note: ASRock did a wide cleanup of BIOS options in v2.30, several options were removed like advanced PCIe settings and possibility to disable USB controllers...
The front USB ports on the internal USB 3 header are SS5/HS5 and SS6/HS6. The port of the internal USB header is mapped to HS9, the internal Bluetooth module to HS10. In case the XHC0 controller is disabled, the ports 3/4 on the back I/O are USB 2 only.
|XHC0 -> XHCI|
|PRT4||HS9||internal USB 2|
|XHC1 -> XHC|
|PRT4||SS10||USB Type C|
|XHC0 -> XHC2|
Thunderbolt controller is not detected by MacOS unless device is already connected during boot. SSDT-TB3.aml file improves TB support (Thanks to XinJiangCN for that).
The integrated Intel Wifi is supported by itlwmx though missing support for AirDrop etc.
Microphone is not yet working through integrated audio codec.
Sleep can be a difficult topic with little things breaking either entering or leaving sleep. Certain USB devices can break transition into sleep (resulting in a kernel panic after 3 minutes).
And make sure boot flag
-hbfx-disable-patch-pci is set to avoid black screens on wakeup.
The following settings seem to work for consistent sleep:
$ pmset -g System-wide power settings: Currently in use: hibernatemode 0 autorestart 0 powernap 0 disksleep 10 sleep 10 Sleep On Power Button 1 ttyskeepawake 0 hibernatefile /var/vm/sleepimage tcpkeepalive 0 gpuswitch 2 displaysleep 10
If it does not entering sleep properly there are some things to be tried:
Use at your own risk.
Cedits and links: