This is a golden build featuring macOS Catalina 10.15.2 on an ASUS Prfime Z390-A motherboard paired with a i5-8600k and Sapphire Nitro+ 5700 XT 8GB. I was able to get everything working with a little bit of patience and now sharing my EFI for download along with my ASUS Prime Z390-A config.plist and USB-SSDT.aml with a step-by-step guide.
The ASUS Z390 Hackintosh Build
CPU – Intel Core i5-9600K 6-Core
Motherboard – ASUS PRIME Z390-A ATX
RAM – CORSAIR Vengeance RGB PRO 16GB
Graphics Card – SAPPHIRE Nitro+ RX 5700 XT 8GB
Cooler – be quiet! 250W TDP Dark Rock Pro 3/4
Storage – SAMSUNG 970 EVO NVME SSD
Power Supply – CORSAIR RMX 850W
Case – Phanteks P600s Antracite Gray
ASUS Prime Z390-A Hackintosh Overview
I’ve taken the time to make sure everything works and I’ll be updating this guide pretty regularly with more stuff and information as its pretty barebones right now, if you have any questions leave a comment below the Step-by-Step guide at the bottom.
ASUS z390 Hackintosh Configuration Notes:
- Used EC0 to EC patch as my workaround of AppleACPIEC.kext consider spoofing EC post-install.
- Changed audio layout ID to 7 from 1 to fix audio distortion of my computer case front audio jack.
- NVRAM support enabled with EmuVariableUEFI.efi and RTC scripts post install.
- FwRuntimeServices.efi + OcQuirks.efi used as memory driver.
- I used Hackintool to fix the HDMI port displaying a black screen and dual-display support over Intel Graphics. The fix is located in the config.plist under Devices -> Properties -> PciRoot(0x0)/Pci(0x2,0x0)
- slide=0 added as a bootflag to prevent/fix random freezing in macOS on the Z390 platform.
- Intel integrated graphics lags for a couple seconds on boot on boot but can be “fixed” by disabling WhateverGreen.kext patching and removing the <Graphics> section of config.plist not advisable for those using HDMI over integrated graphics as a WEG patching is needed to match the BUS ID’s of each port corrrectly.
- RX 5700 XT enabled by adding agdpmod=pikera as a bootflag with WhateverGreen.kext 1.3.6; also weirdly requires a <Graphics> section of config.plist to exist with injects set to <false> or will hang on lock screen. If you go with the Sapphire Nitro+ place it in performance mode as it comes with a BIOS switch, use an adequate power supply like the RM850x and also make sure to install RC scripts post-install so that sleep works perfectly.
- Sleep/Wake will work on both the iGPU and with the RX 5700 XT and or other compatible AMD graphics cards. If you are using a monitor without speaker outport HDMI audio should be disabled as currently Catalina may cause a IntelHDMI kernel Panic on wake when it can’t find a HDMI audio output.
Enabling USB3 Speeds & Detection on Z390 Ports
To get USB3 speeds working on a motherboard the USB ports must be mapped correctly with an SSDT-USB.aml file placed in/Volumes/EFI/EFI/CLOVER/APCI/patched/
The USB port limit in macOS in 14 ports. There are a total of 14 ports on the backside of the motherboard IO (USB3 ports count as 2 per port because they also support USB2). The case I’m using has 3 front ports 2 USB3 and 1 Type-C port bringing the total number of ports to 20 well over the macOS port limit. To enable all ports a USB port-limit patch is also included in my config.plist for 10.15 under Kernel Kext & Patches. If you would like to remove the port limit patch you will need to play around with my SSDT-USB.aml and remove the ports you don’t mind having disabled, but that will require you to know on how to edit a USB SSDT with magiASL.
Only use this SSDT-USB.aml if you have a ASUS Prime Z390-A any other motherboard is going to have a different rear IO layout and will mess up which ports work when you try booting macOS.
- ASUS Prime Z390-A SSDT-UIAC-All.aml
- All USB ports enabled requires a working port-limit patch in config.plist
ASUS Z390 BIOS Settings
I didn’t bother updating the BIOS when I got the motherboard and everything has been working golden since.
Before running the macOS installer change these settings.
Restart your computer and press the DEL key to enter BIOS upon your computer posting.
Change the following settings for the install:
- Exit → Load Optimized Defaults : Yes
- Advanced \ CPU Configuration → Intel Virtualizaiton Technology: Enabled
- Advanced \ System Agent (SA) Configuration → Vt-d: Disabled
- Advanced \ PCH Configuration → IOAPIC 24-119 Entries: Enabled
- Advanced \ Onboard Devices Configuration → RGB LED Lighting → When system is in sleep, hibernate or soft off states: OFF
- Advanced \ AMP Configuration → Power On By PCI-E/PCI: Enabled
- Advanced \ Network Stack Configuration → Network Stack: Disabled
- Advanced \ USB Configuration -> Legacy USB Support: Auto
- Boot → Fast Boot : Disabled
- Boot → Secure Boot → OS Type : Other OS
Using a dedicated graphics card:
- Advanced \ System Agent (SA) Configuration \ Graphics Configuration → Primary Display: PEG
Using Intel iGPU:
- Advanced \ System Agent (SA) Configuration \ Graphics Configuration → Primary Display: IGFX
(Optional) Hardware Acceleration
iGPU Multi-Monitor: Enabled will cause Primary Display to be set to IGFX. If you are using a dedicated graphics card change it back to PEG
- Advanced \ System Agent (SA) Configuration\Graphics Configuration → iGPU Multi-Monitor: Enabled
For DVMT Pre-Allocated to show in BIOS you may need to save & reenter BIOS after setting iGPU Multi-Monitor: Enabled
- Advanced \ System Agent (SA) Configuration\Graphics Configuration → DVMT Pre-Allocated: 128MB/192MB
ASUS Z390 Catalina/Mojave Hackintosh Step-by-Step Guide
I’ve tested this hackintosh on both Catalina and Mojave, however NAVI GPU’s like the AMD RX 5700 XT only have support in Catalina 10.15.1 or later.
- Download a compatible version of macOS from the Mac App Store
- Create the macOS flash drive Installer
- macOS needs to be installed on a 16GB+ flash drive and plugged into a USB 2 port for maximum compatibility. If you happen to have a Prime Z390-A motherboard and want to install with a USB3 port and speeds you can do so as long as you include the SSDT-UIAC.aml into your EFI.
- Catalina: How to make a macOS 10.15 Catalina flash drive installer
- Mojave: How to make a macOS 10.14 Mojave flash drive installer
- Adding my EFI Drop Files:
- Download Hackintosher-Catalina-10.15-EFI
- Mount EFI Partition
- Copy+Paste/Move the EFI folder over to the EFI Partition of your flash drive and then open /Volumes/EFI/EFI/Clover/
- Add EmuVariableUEFI.efi for NVRAM support
- Copy EmuVariableUEFI.efi from: /Volumes/EFI/EFI/Clover/drivers/off
- Paste EmuVariableUEFI.efi into: /Volumes/EFI/EFI/Clover/drivers/UEFI
- Downloads for ASUS Prime Z390-A only:
- ASUS-PRIME-Z390-A-config.plist– configured for ASUS Z390-A contains a display patch that will map the internal HDMI and DisplayPort correctly so that Intel graphics HDMI port works along with dual monitors on boot and sleep/wake.
- ASUS Prime Z390-A SSDT-UIAC-All.aml – Maps all the USB ports on a ASUS-z390-A for USB3 speeds place in/Volumes/EFI/EFI/CLOVER/APCI/patched/.
- Using a different ASUS Z390 Motherboard?
- Open config.plist with Clover Configurator
- Add slide=0 as a bootflag under Boot > Arguments
- Enable EC0 to EC patch under Acpi > Fixes
- Those without a Prime Z390-A board may need to create their own display patch with Hackintool after macOS is installed for HDMI to work over integrated graphics. Therefore its recommended to install macOS with either a DisplayPort cable or with a macOS compatible dedicated graphics card.
- Verify RTC BIOS patch exists in Acpi > Fixes under the list of patches to prevent a verbose error/hang.
- If using a AMD Navi GPU like the RX 5700 XT add agdpmod=pikera as a bootflag by opening config.plist with Clover Configurator and adding it under Boot -> Arguments
- Configure BIOS Settings for Hackintosh Compatibility
- Post Install
- If you are using a dedicated graphics card like the RX 5700 XT change AAPL,ig-platform-id to 0300923E under Devices -> Properties Tab -> PciRoot(0x0)/Pci(0x2,0x0) for headless mode.
- Either install RC scripts in Clover to complete emulated NVRAM support with EmuVariableUEFI.efi or add native NVRAM with an SSDT here.
- If the display monitor doesn’t have built in speakers and you are using integrated graphics you may need to disable HDMI audio to prevent kernel panics on wake. I have it set to disabled in my config.plist under PciRoot(0x0)/Pci(0x1f,0x3) since my Dell Monitor doesn’t have speakers