Contribute
Register

[Success] ASUS Prime Z370-A+i9-9900k Pro Audio Build

NorthAmTransAm

Moderator
Joined
Jul 26, 2018
Messages
1,228
Motherboard
Asus Z370-A Prime II
CPU
i9-9900K
Graphics
RX 580
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS


NorthAmTransAm’s Pro Tools Machine:
ASUS Prime Z370-A | i9-9900K | RX 580

Note 1: Please do not simply grab the EFI and carry on. You need to read through all of this first. Get an understanding and set yourself up for success.

Note 2: I've saved us from repetition here. Please visit Dortania and read EVERYTHING.

Note 3: Have fun. This is supposed to be fun.


Note 4: I'm not exactly sure why but OC 065 isn't playing well with my Catalina drive--SMBIOS isn't showing up correctly and Airport won't load. Be back soon with a clean install. After a clean install all is well.

Note 5: I've added a Clover EFI for those of you who are partial to Clover. You'll noticed it's slimmed down a little bit. Please remember that to boot Big Sur from Clover you need to select Preboot instead of macOS Big Sur. Don't forget to add your own serial.

Note 6: Thanks @Bustycat for pointing out that we can set SetApfsTrimTimeout to 999. For this build it drastically improved boot times.

UPGRADE: I bought a delidded 9900K. Normally I wouldn't buy something in that condition as there's no way to tell if the previous owner was capable or careful. However, I did some research and came out the other side with a 250 dollar 9900K.

This board was redesigned around allowing the 9900K to work on the Prime Z370-A platform and to my surprise a one click option came up for 5G Overclock in BIOS. I turned it on, reset my BIOS settings (they changed when enabling 5G OC), and BAM!, all cores running at 5GHz. I'll be running using the machine at stock settings but that's still impressive.


1613693059605.jpeg


To clarify, this build is about stability, longevity, and effortless functionality.

Components

ASUS Prime Z370A-II
https://www.amazon.com/dp/B07HMGYTVW
https://www.newegg.com/p/N82E16813119163

Intel i7-8700 Processor
https://www.amazon.com/dp/B07598HLB4
https://www.newegg.com/p/N82E16819117826

Be Quiet! Dark Pro 4 Slim CPU Cooler
https://www.amazon.com/dp/B07R5TQQMR
https://www.newegg.com/p/13C-001F-00030

Sapphire Pulse RX 580 8GB Graphics Card
https://www.amazon.com/dp/B071CQ5LRV
https://www.newegg.com/p/N82E16814202278

XPG Z1 (ADATA) 32GB (2x16GB) 3000MHz Memory
https://www.amazon.com/dp/B07TN4GZC5
https://www.newegg.com/p/0RN-00KG-000P2

Asus ThunderboltEX3 PCIe Card
https://www.amazon.com/dp/B08926P9PV
https://www.newegg.com/p/17Z-007W-00234

Samsung X5 M.2 NVMe 1TB SSD (Taken from an external drive) (OS)
https://www.amazon.com/dp/B07GBWZJFG

Intel 660p 512GB M.2 NVMe SSD (Storage)
https://www.amazon.com/dp/B07GBKQ9ST
https://www.newegg.com/p/N82E16820167460


Comments

The Build
The idea here is to aim for reliable and simple. Looking at the @Aldaro guide, you can see he chose this board for the same reasons. It plays very well with macOS, even with Big Sur. Which is what we're installing.

The tools I think you need

Dortania Builds (All OpenCore downloads are here)

ESP Mounter Pro (My preferred way of mounting EFI)
https://mac.softpedia.com/get/Utilities/ESP-Mounter-Pro.shtml

Hackintool (A very useful tool)

Plist Edit Pro (My favorite plist editor)

Propertree (Dortania suggested)

IOJones (For viewing your registry)

MacAISL (For viewing and editing SSDTs)

Thoughts on OpenCore Configurator

They explicitly tell you not to use this and for good reason. It can easily corrupt your Config...But it does have some tempting features. Especially for quickly enabling/disabling options or adding device properties via drop down menu. If you're going to use this, I'd suggest using it about 2 weeks after a new version of OpenCore is released along with an update to the Configurator itself. I don't think it's a bad product and I think is undeserving of the knee jerk reactions to it. However, the flaw is that OpenCore changes monthly so the app needs to do the same. These developers are not working together so it only makes sense to have errors from time to time. Don't @ me on this one, just use discretion.



Installation

There are countless post on here about how to download and create an installer for any macOS. So I'm going to save us a lot of trouble and tell you to use gibMacOS and the Dortania guide. It's incredibly easy. Link below.


Ok, I lied...there's an easier way, and there's no shame in using it.

Head over to DosDude1's website here and download his Catalina Patcher. Typically, this is used to patch an OS to run on an incompatible Mac. It doesn't apply the patches until after install and gives you the option to disable that. This leaves us with a super simple method to create macOS Installer. Unfortunately, no Big Sur from this yet.

Just open the app, select the option to download the installer, uncheck apply patches, select your flash drive. Fin.

Basic BIOS Settings (Copied from the Dortania Guide)


Disable​

  • Fast Boot
  • Secure Boot
  • Serial/COM Port
  • Parallel Port
  • VT-d (can be enabled if you set DisableIoMapper to YES)
  • CSM
  • Thunderbolt (If using Thunderbolt please see Thunderbolt Bios Settings below in Spoiler)
  • Intel SGX
  • Intel Platform Trust
  • CFG Lock (MSR 0xE2 write protection)(This mustbe off, if you can't find the option then enable AppleXcpmCfgLock under Kernel -> Quirks. Your hack will not boot with CFG-Lock enabled)

Enable​

  • VT-x
  • Above 4G decoding
  • Hyper-Threading
  • Execute Disable Bit
  • EHCI/XHCI Hand-off
  • OS type: Windows 8.1/10 UEFI Mode (Mine is set to Other)
  • DVMT Pre-Allocated(iGPU Memory): 64MB
  • SATA Mode: AHCI
Thunderbolt Bios Settings

Thunderbolt(TM) OS select — Windows 10 Thunderbolt Support — Disabled
Thunderbolt USB Support — Enabled
TBT Vt-d base security — Disabled
Thunderbolt Boot Support — Boot Once
Titan Ridge Workaround for OSUP — Enabled
Wake From Thunderbolt(tm) Devices — On
Thunderbolt(tm) Cache-line Size — 128
GPI0 Force Pwr — On
Wait Time in ms after applying Force Pwr — 200
Skip PCI Enumeration — Disabled
Skip PCI Option Rom — Disabled
Skip PCI Interrupt Assignment — Disabled
ACPI Removal Object Support — Disabled
Security Level — No Security
Call pre boot Sci Handler — Disabled
Reserve mem per phy slot — 32
Reserve P mem per phy slot — 32
Reserve I0 per phy slot — 4
SW SMI on TBT hot-plug — Disabled
GPI0 Filter — Enabled
ACPI Notify on TBT Hot-plug — Enabled
MSI enabled in FADT — Disabled
Enable CLK REQ — Enabled
Enable ASPM — Disabled
Enabled LTR — Enabled
AIC Location Group — SB PCIE Slot
AIC Location — PCIEx16_3
TBT Host Router — Two port
Extra Bus Reserved — 106
Reserved Memory — 737
Memory Alignment — 26
Reserved Memory — 1184
PMemory Alignment — 28
Reserved I/O — 32
Alpine Ridge Workaround Select — WA Rev 1
Thunderbolt delay before BOOT_ON Command in PEI phase — 500
Thunderbolt delay before USB_ON Command in PEI phase — 0
Thunderbolt delay before SX_EXIT Command in PEI phase — 500

So, going down the config!

ACPI

These four SSDT's are your basic OpenCore SSDTs. I used SSDTTime (https://github.com/corpnewt/SSDTTime) for creating SSDT-EC and SSDT-PLUG. I used Hackintool for creating SSDT-USBX, and I simply grabbed SSDT-SBUS-MCHC from the Dortania guide. Please read here to get an understanding.

https://dortania.github.io/Getting-Started-With-ACPI/ssdt-methods/ssdt-methods.html

This arrangement felt correct to me.

SSDT-EC
SSDT-PLUG
SSDT-USBX
SSDT-SBUS-MCHC

Note:
You can combine SSDT-EC and SSDT-USBX into one if you'd like but for arbitrary reasons I kept them parted out.

Below are my custom SSDTs and honestly they can be a bit superfluous. But hey, it’s my machine. Back off.


SSDT-SSD - iMac 19,1 refers to it’s NVMe drives as SSD0 and SSD1. So I removed the PXSX device at RP09 and RP17 and replaced it with SSD0 and SSD1. Purely cosmetic and has no advantages that I can think of. If you’d like to slim down then just remove from your config.


SSDT-RP05-XHC2 - Similar to the last one. The USB 3.1 ports (the green ones!) are separate from the other USB ports. I wanted my USBPorts.kext to reference XHC busses only so I removed RP05 PXSX which adversely creates XHCI. I then replaced XHCI with XHC2. The ports are then defined by my USBports.kext.


SSDT-TB3-HackinDROM - This is the simplest method to getting Thunderbolt working in ICM mode. In most case you would never know that its not working at its fullest form.


SSDT-TbtOnPch-Asus-Z370-A-Prime-II - This is the full Thunderbolt SSDT. No flashing required because Alpine Ridge is a bit less complicated than its successors. Note: This SSDT depends on a handful of ACPI patches, and I am unsure if using different SMBIOS has an effect on that. Anyhow, they are in the config and disabled.


Device Properties


The only property we have currently is our iGPU so that we can set our platform ID. It is set in a way so that it is not driving a monitor. Here's a graph from the Dortania Guide for Coffee Lake (our CPU type) on board graphics (iGPU) platform ID's.


View attachment 505698

As you can see in our Config, we are using 0300913E.

Screen Shot 2021-01-20 at 1.00.43 PM.png


Note: If you are not using a GPU and would like to use your onboard iGPU then make sure you change your platform ID accordingly in the config (07009B3E or 00009B3E).

Note: If you are using a CPU without a GPU such as a 9900KF then please delete the device property as a whole.



KEXTS

Make sure before updating to another version of OpenCore or a supplemental macOS update that you check for Kext updates first.

Personally I like to visit the Dortania Builds Page and download each Kext from there. It's super easy and you really only need to do it when upgrading OpenCore or macOS.

AirportBrcmFixup - For the BRCM4360 I use.

AppleALC - Patches your audio

ASMedia - IMPORTANT. Big Sur leaves off the right driver for our USB 3.1 Gen 2 ports. This means every other restart you will be missing your ports and then after that it will actually fail to restart. This took awhile to track down. But thankfully I found that (drawing a blank, sil1a?? Something like that. Please help if you know who I'm talking about) found us a work around.

CtlnaAHCIPort - Honestly not completely necessary on this motherboard but for a lot of people SATA was broken with Big Sur and this was the fix. The old SataUnsupported.kext does a great job as well. I'll attach it in case you'd like to try something else.

Note: Renaming SAT0 to SATA caused my drives to behave erratically. I'd suggest leaving it be.

IntelMausi - On board Intel Ethernet.

Lilu - Ferda

NVMeFix - NVMe power management

USBMap - Please see the USB section further down!

VirtualSMC - Lets us boot, baby!

Whatevergreen - Graphics catch all


SMBIOS

This EFI will work with 19,1, 19,2, or iMac Pro 1,1. Maybe even others! However it is set to 19,1 and doesn't have a serial number. Follow this super easy guide using the GenSMBIOS app to get a new serial number and don't forget to check the serial number validity as mentioned in the guide. It's so important.

Note: If you are using an SMBIOS that is not 19,1 then you must disable the USBMap.kext. Ping me for help in how to adjust.



NVRAM Boot Args

keepsyms=1 alcid=7 -v

alcid=7 is telling the AppleALC.kext which audio codec to use. This means we don't have to add it to device properties unless of course you want to.

-v is for Verbose mode at boot. You can remove if that's not your thing. I'd suggest removing it after you feel good about your EFI. I'd re-enable it if you're making changes.



DRIVERS

OpenCanopy
OpenRuntime
OpenHfsPlus.efi

Note: There aren't any issues on this board with the newly added OpenHfsPlus but I noticed others having trouble.

This is all we need here. Keep it very simple.

TOOLS

CleanNvram
- Redundant considering theres a quirk but I like the tool as it doesn’t require a restart.
OpenShell
ResetSystem

Note:
You can delete these from the config and Tools folder if you'd like.


USB

I'll link below to how I set mine up but first I'd like to tempt you to try it a different way. Since we have the same board and a very useful manual I think it be easier this way.

In the EFI's Config I've enabled XHCIPort Limit. This is sort of like having USBInjectall. In other words It enables every USB port and lifts the limit of a 15 port maximum. It's a good way to get started. I've also included and enabled a USBMap.kext that has every possible port that's on this board listed and sorted.

Let's check this out from the manual. It literally tells you what port is what. See, not as hard as we ever thought.

Lets start with the onboard USB ports. It has two USB 3.1 Gen 2 ports. One of them is Type A and one is Type C. We don't need to map these out. They're taken care of already.

Pro tip: 3.1 Gen 2 Type A ports are green. If its a USB Type C port it is probably 3.1 Gen 2 as well.

Rear IO USB.png



Ignoring item #1 and #5 (3.1 Gen 2 Type A and Type C..colored green) check out #3 and #8. Holy hell, they've got the port numbers for you.

#3 has USB 2.0 ports (colored black) and are 13 and 14. We see these as HS13 and HS14.

High Speed Port 13
High Speed Port 14


#8 has UB3.1 Gen 1 ports (colored blue and sometimes just referred to as USB 3.0) and are 5 and 6. We see these as SS05 and SS06.

Super Speed Port 05
Super Speed Port 06


But...it would be silly and wasteful for USB 3.1 Gen 1 ports to not allow 2.0 devices. So each 3.1 Gen 1 port also doubles as a 2.0 port.

High Speed Port 05
High Speed Port 06



So, if we were to be making a list of our ports we'd know this much right off the bat:

HS05
HS06
HS13
HS14
SS05
SS06


So we know where and what those ports are but most of computer cases come with Front IO. Mine has two 3.0 ports (blue baby!) on the front. Luckily the manual has you covered here too. Take a look at the diagram of the motherboard below. It shows us where the USB 3.0 headers are and what their port numbers are.

My front ports are plugged into the 3.0 header at the bottom: So I know this about the front panel USB:

HS03
HS04
SS03
SS04

USB 3.0 Headers.png


And of course there are two USB 2.0 headers inside. This where you would connect the Bluetooth portion of your wireless card. Since I used the first 2.0 header, now I add this to my list:

HS09
HS10

USB 2.0 Headers.png


You can map this whole thing using your eyeballs and the manual. I just did mine from memory. For example here's mine totaled up.

HS03
HS04
HS05
HS06
HS09
HS10
HS13
HS14
SS03
SS04
SS05
SS06

Make your list. I've already created a USBMap.kext with all the possible ports listed and their speeds set for this motherboard and iMac 19,1 SMBIOS. We can change the SMBIOS if you're using something different. Ping me and I'll help.

So, let's edit my USBMap.kext. Go to the Kext, right click, select Show Package Contents. Open the Contents folder, then open the info.plist with a plist editor.

Expand Info.plist like this.

Screen Shot 2021-01-18 at 7.24.38 PM.png


Lets start by deleting the ones that aren't in use. You cannot have more than 15 ports (excluding the 3.1 Gen 2 stuff. We'll get there later).

Note: There are ways to expand the 15 port limit but its generally discouraged

Let's expand HS01. You'll see a few things. We're looking at the value of USBConnector. We select 3 because HS01 is part of SS01. 3=USB 3.0 (or 3.1 Gen 1 I know annoying I know). I've even left a Comment on each port to let you know where on the board that header is. When you're all mapped out you can actually change the comment to something more relatable like "Front USB Port."

Screen Shot 2021-01-19 at 9.06.31 AM.png



Now do you have a bluetooth module? Yeah you do. Open up IOJones and travel down to your USB ports and find which one it is connecting to it like so.

Screen Shot 2021-01-18 at 7.35.46 PM.png


Clearly my Bluetooth Module from my Airport Card is connected to HS10. So looking back at the USBMap.kext/Info.plist we can see that I've already changed the USBConnector to 255 which means internal. Now, if this header was plugged into a port on your case you'd change it to 0 or 3.

Note: I use 3 for the 2.0 ports. It's fine!

A quick list of USBConnector Types from Dortania.


Screen Shot 2021-01-20 at 1.38.05 PM.png


Screen Shot 2021-01-19 at 9.09.08 AM.png




Again, the idea is get these ports to 15 or less. So, find the ones you and your case are using and delete the rest. When you've got it squared away open your Config file, go to Kernel > Quirks and disable XHCIPort Limit. Reboot and check IOJones for your XHC ports. The ports listed under XHC in IOJones should reflect the ones in our USBMap.kext/info.plist.

You'll also notice in our USBMap.kext/info.plist that we have XHC2. This isn't necessary but I personally like it. Whats wrong with being a little extra? These ports are for the two USB 3.1 Gen 2 ports at the top of the IO (The green ports. Use the image from earlier for reference). On this motherboard they're located at RP05.PXSX but using my SSDT-XHC2.aml (explained in the ACPI section of the guide) and this USBMap we have what appears to be a proper XHC2 bus. You do not need to change anything here. You can, if you'd like to, remove SSDT-XHC2 and the XHC2 portion of the USBMap.kext but you absolutely need to keep the ASMedia.kext for these ports to behave correctly in macOS Bid Sur.

Back in the USBMap.kext/info.plist you will also see XHC3. This is for the USB port of the EX3 Card. The SSDT for Thunderbolt actually handles this but when making the kext it it got pulled in. Leave or delete, your choice. I personally like it!

Thunderbolt...the big bad scary. Er, not so much on this build thanks to some kind people.

Thanks to a lot of hard work buy @CaseySJ and @Elias64Fr last year the community gained a much needed understanding of Thunderbolt. There's now an easy way to come up with a functional-enough SSDT for for most boards or cards. Head over to the HackinDROM site below and select your card or motherboard from the drop down. You'll need to edit which Root Port your card is on. For example, ours is RP21. If you're on a PEG port you'll need to also change the controller. You're welcome to leave a comment if you need help there. But we don't need this. Read on.


Those SSDT's will give us Thunderbolt working in ICM mode. This is a mostly functional way to use it and for most of us any missing features will go unnoticed. You will notice that Thunderbolt in System Report will say no drivers loaded. For ICM mode, this is normal.

For most cards you need to flash a patched version of the cards firmware onto it using an external flasher. If this is your deal then head over to the repo on @CaseySJ's z390 Build. For us however we don't need to do that for a fully functional Thunderbolt setup using the ASUS THUNDERBOLTEX3 (Alpine Ridge only) card.

You'll need a number of things.

1. Method DTGP. You can add SSDT-DTPG to your ACPI folder but if you're using this build/guide then you already have SSDT-SBUS-MCHC and it contains that method.

2. SSDT-TbtOnPch-Asus-Z370-A-Prime-II.aml. This is our Thunderbolt SSDT.

3. ACPI Patch - Null GPE.TINI (In Catalina this fixed a slow boot caused by the TB setup. In Big Sur TB is broken without it. This once felt like an extra step but now I'm glad it worked it out)

4. ACPI Patch - _L6F to XL6F (_L6F is the GPE power event for RP21. Our SSDT uses L6F and XL6F but doesn't need L6F to exist in our DSDT)

4. ACPI patch - RP21._INI to RP21.XINI

All of this is in the config for both OC and Clover. You might need to enable them so double check. Please don't copy from Clover to EFI or vice versa as the two boot loaders handle patch lengths differently. In OC the length of a REPLACE needs to be the safe length so I filled the blanks with 2020202 etc...
 

Attachments

  • Screen Shot 2021-01-25 at 10.13.56 PM.png
    Screen Shot 2021-01-25 at 10.13.56 PM.png
    57.3 KB · Views: 130
  • EFI Clover 5129 Big Sur 11.2.1.zip
    4 MB · Views: 180
  • OC 069.zip
    2.3 MB · Views: 128
Last edited:

NorthAmTransAm

Moderator
Joined
Jul 26, 2018
Messages
1,228
Motherboard
Asus Z370-A Prime II
CPU
i9-9900K
Graphics
RX 580
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
Does your optical out audio port work?

It shows up in Audio Settings but I haven't actually tested it. Im going to assume it does however.

I used a Device Property I got from Hackintool but otherwise you could just use ID Layout 7.

Years later: Yes it does! Very well.
 
Last edited:
Joined
Jun 27, 2019
Messages
3
Motherboard
ASUS Prime Z370-A II
CPU
i5 8600K
Graphics
RX 580
Mac
  1. iMac
  2. MacBook Pro
Hi there, I've got almost the same set up, I've been banging my head against the wall for days trying to boot into Mojave from my SSD after install via UniBeast.

Is there anyway you can upload your EFI folder?


Just to be sure my setup is:
Mobo: ASUS Prime Z370-A II
CPU: Intel i5-8600K
AMD RX580 8GB
SAMSUNG 970 Evo Plus (Updated firmware so it's compatible)
Corsair Vengeance 32GB 2666mhz
 

NorthAmTransAm

Moderator
Joined
Jul 26, 2018
Messages
1,228
Motherboard
Asus Z370-A Prime II
CPU
i9-9900K
Graphics
RX 580
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
Hi there, I've got almost the same set up, I've been banging my head against the wall for days trying to boot into Mojave from my SSD after install via UniBeast.

Is there anyway you can upload your EFI folder?


Just to be sure my setup is:
Mobo: ASUS Prime Z370-A II
CPU: Intel i5-8600K
AMD RX580 8GB
SAMSUNG 970 Evo Plus (Updated firmware so it's compatible)
Corsair Vengeance 32GB 2666mhz

Do you still have the flash drive with Clover installed on it connected? If not then that's likely your problem. I'm on the road right now and can't get the EFI to you. You should be able to boot with the drive plugged in then copy the EFI from the flash drive to your local EFI. I can find you a guide if you need it.

Edit: looks like its in the original post.
 
Joined
Jul 21, 2019
Messages
4
Motherboard
Asus Prime Z390-A
CPU
i5-9600K
Thank you for your really good UserBuild Report!!
Love your list of Guides. That will help me a lot.

Can you explane why you use PCIID.kext? (i rarely seen it until now)

Does Shutdown and restart work?
 

NorthAmTransAm

Moderator
Joined
Jul 26, 2018
Messages
1,228
Motherboard
Asus Z370-A Prime II
CPU
i9-9900K
Graphics
RX 580
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
Thank you for your really good UserBuild Report!!
Love your list of Guides. That will help me a lot.

Can you explane why you use PCIID.kext? (i rarely seen it until now)

Does Shutdown and restart work?

I've since removed the PCIID.kext and I can't really remember why I landed on it in the first place. Shutdown and Restart have been working out the gate for me on all builds.
 
Joined
Mar 15, 2012
Messages
29
Motherboard
Gigabyte Z390 Designare
CPU
i7-8700K
Graphics
RX 580
Nice guide and build! I'm looking to buy almost the same hardware, i7-8700K, RX 580 Nitro 4GB, and same motherboard. I'm gonna be using it with TB3 and audio cards. I see you have a WiFi card, but no Bluetooth? Wondering about airdrop and hand-off, does it work on your hackintosh?
 
Top