Contribute
Register

SUCCESS: Asus prime Z370-A MK II + i5-9600K + Sapphire RX 580 pulse

Joined
Jul 18, 2019
Messages
99
Motherboard
Asus prime Z370-A MK-ii
CPU
i5-9600K
Graphics
RX 580
Mac
MacBook Pro, Mac mini
Aldaro's Classic Workstation: Antec SX1030b Restoration

280256_antec_sx1030b.jpg



ASUS PRIME Z370-A Motherboard
Amazon | Newegg

Crucial Ballistix Sport LT (16GB) x2 for 32GB Total Memory
Amazon | Newegg

Intel Core i5-9600K Processor
Amazon | Newegg

Cool Master Hyper 212 EVO CPU Cooler
No link available

Sapphire RX 580 Pulse 8GB Graphics Card
Amazon | Newegg

Samsung 970 EVO 500GB x2 ssd
Amazon | Newegg

Seasonic Focus PX-750 80+ platinum 750w Power Supply
No link available

Antec SX1030b Computer Case
No link available - this case is very old

Introduction
For this build, the primary objectives were reasonable performance, and stability. When I put this build together, Z390 NVRAM had not been resolved, and I was really getting tired of emulating it. Now, Z390 board owners can fix this issue, and no longer need something like EmuVariables.

There are other reasons one may wish to remain on Z370, but at this point, it’s not worth the price gouge. If you have a Z370 board, you’ll be happy to know that setting up macOS will (for the most part) be relatively easy. In addition to detailing my personal experience with this particular setup, this post also aims to serve as a guide for others with this, or a very similar build. Right now, the guide section is mainly geared towards clover, but OC content is on its way.

What's working?
  • Core macOS functionality
  • Graphics acceleration for both the RX 580 and UHD 630
  • Apple services; including iCloud, iMessage, FaceTime, calls using iPhone, etc.
  • Air Drop, Continuity, HandOff
  • Sidecar w/ Apple Pencil support
  • Native Wi-Fi/bluetooh
  • Sleep/Wake
  • CPU power management
  • USB, including Fast charging, and USB 3.1 gen 2
  • and much more
What's not working?
  • As of 10.15.4, there appears to be issues with HDR displays upon waking from sleep. This seems to be an issue that effects regular Macs, as I'm experiencing the same problems on my MacBook Pro.
  • Some DRM content; however, this is definitely improving, and is much better than a few months ago.

Downloads
Here you will find all relevant files to my build. Please keep in mind that this is constantly updating; so, I encourage everyone to check back regularly to see what bugs have been reported, and fixed. A list of changes made to any of the attached files can be found below; however, if all you're interested in is downloading what I have attached to this thread, think of this blurb like a spoiler. Click the clover logo to download my current EFI folder, and click the OpenCore logo to download my OpenCore EFI folder. If you wish to continue using your EFI folder, click the kext icon to download some additional EFI drivers, as well as my configs, and USB map.

clover.png 612592975230271517.png kext-icon.png
Clover 5.0-r5119 OpenCore 0.5.8 Extras

The Build

Motherboard

I chose this motherboard primarily for its well established macOS compatibility. It has been extensively tested by the hackintosh community and makes a great choice, especially if you’re working on your first build.
  • The Good. This board does not throw any punches. its configuration is somewhat basic, boring , but very predictable. This will also represent a weak point for this board; however, the absence of “exotic components” means that almost all of the onboard I/O is macOS friendly. The ASMedia USB controller really comes in handy for USB audio devices, as sometimes those like to sit on their own controller. As for speed, this controller is capable of 3.1 gen 2 speeds, and does not seem to have any immediate compatibility issues with macOS.
  • The Bad. The onboard I/O, and more specifically the rear I/O, is very basic, and you may find yourself pressed for connectivity options. While you still get things like USB, and audio headers, it would’ve been great to see a little more options around the back. This board also does not handle overclocking too well. Now sure, it can do it; however, you won’t be setting any records here, and I wouldn’t try to overclock an i9 on this thing.
CPU
With the release of the early 2019 iMac, Apple added proper support for desktop coffee lake CPUs, and therefor, getting a reliable macOS install became much easier. This CPU works well for what I’m doing with this machine, and on top of that, this particular chip is found in one of the stock iMac 19,1 configurations.

Heatsink & Fans
Because I’m not really overclocking, the Cooler Master Hyper 212 EVO was a great choice. Considering the cost, it does a pretty decent job at keeping this i5 cooled in a case where air flow is a little sub par. For thermal paste, I decided to get some thermal grizzly, as I wanted the best results possible. The case fans are nothing special, but they suffice. One major drawback to this case is that smaller fans are needed for proper airflow, and therefor this thing is pretty loud.

Graphics Card
For a few years now, native support for the RX 580 has existed in macOS, and with the use of other Polaris GPUs on other Macs, these drivers seem to get a lot of attention from Apple. This results in a reasonably stable driver that just works with few issues to speak of, but it’s definitely not without flaw. As for the Sapphire Pulse itself, this particular RX 580 was used by Apple in one of their dev kits, and was also the basis in which the macOS RX 580 driver was built.

Power Supply
I’ve had the Focus PX-750 for a little while now and it is rock solid. It can pump out more than enough power for my build, and the 80+ platinum certification is a nice display of its capabilities.

Case
The Antec SX1030b is an old home server case and places a lot of emphasis on the HDD bays. Drives can easily be slid in, and out of the front drive bays, as to allow one to replace a bad drive on a moments notice. I went with this case, as it was something that I already had, and I couldn’t justify purchasing yet another PC case (especially since I’ve got some empty ones).

Wi-Fi/Bluetooth
In an effort to keep things simple, and ensure compatibility, I chose a BCM94630CD. This particular card is found in some Macs and can be installed in pretty much any modern PC with a simple PCIe x1 adapter. Features like Air Drop, continuity, handoff, and sidecar work as expected.

Ethernet
The idea of placing a gigabit Ethernet card in one of your PCIE slots seems absurd in 2020; however, for the sake of compatibility, that’s exactly what I did. The Intel i210 is natively supported in macOS, as this particular controller is found in some thunderbolt docks; one example would be the CalDigit TS3+. This card works exactly as you’d expect it to, and I can even use it in recovery for things like restoring from time machine backups.

Installation

Prerequisites

  • Access to a Mac to download and create the bootable USB installation drive
  • A USB flash drive with a capacity larger than 8GB. For the sake of simplicity, go with a 16GB, as to have plenty of room.
    • tip: using a separate USB drive for the bootloader will make the whole process a lot easier, as the macOS install drive does not need to be modified; however, this'll require you to copy a pre-existing UniBeast folder, or create a clover folder from scratch on the secondary drive's EFI partition.
  • Some macOS nohow goes a long way here. If you've worked with Macs and macOS in the past, this will be noticeably easier for you.
  • A solid chunk of free time. This is especially true for newcomers, as mistakes can easily be made, and you'll want to have enough time to troubleshoot, and debug your problem.
UEFI Settings
For this board, there aren't a whole lot of things that need adjustment; however, you want to make sure to check the following
  • Advanced
    • CPU options
      • Intel virtualization technology (VT-x) > Enabled
        • System agent configuration
          • VT-d > Leave this disabled in the beginning, but know that it can be enabled later on without problems.
          • Above 4G Decoding > Enabled
          • Primary display > PCIE - only applicable for those using DGPUs
          • GPU Multi Monitor > Enabled > This will enable the IGPU and allow for features like Intel QuickSync to function correctly.
          • DVMT Preallocated Memory > 64 MB should be more than enough
    • PCH Configuration
      • IOAPIC 24-119 entries > Enabled
      • USB configuration > USB Mouse and Keyboard simulator > Disabled - this should fix XHCI Handoff
  • Boot
    • Fast boot > Disabled
    • CSM compatibility module > This can be enabled or disabled. On my system, I have CSM support turned off; however, that may not work for you depending on your hardware.
    • Secure boot > Disabled (as always)
    • OS Type > Other OS - NOTE: There are some instances in which running macOS in "Windows 10 mode" could provide some benefit, but for this case, we'll keep it simple.
Creating Bootable Media
For this section, I will demonstrate two methods; so, pick whichever you feel most comfortable with, as both of these are perfectly viable.

Method #1 - single drive
Grab the USB drive you designated for this project, and follow the unibeast instructions. For a hardware specific setup, I have included my EFI folder as an attachment to this post, and using it is pretty simple.
To get started, open disk utility, and select "Show all devices" under "View"

Screen Shot 2020-04-15 at 3.06.05 PM.png


You should now see your flash drive and its associated partitions. Select the drive, select erase, and make sure the format is set to "Mac OS Extended (Journaled)". Keep the default name of Untitled, as that'll be used in the sample command later on.

Screen Shot 2020-04-15 at 3.07.31 PM.png

NOTE: If you're going to use unibeast, you can ignore a lot of this, as it'll take care of pretty much everything for you.
Once the drive has been formatted, open up a Finder window, navigate to /Applications, and make sure you have "Install macOS Catalina". If you don't see it, try downloading it again from the App Store. Right click on the app, select "Show package contents", and navigate to Contents > Resources. In this folder, you'll see a command line executable named "createinstallmedia". Open the terminal, and drag, and drop the createinstallmedia executable onto the terminal window to auto-fill its path. All that's left to do, is to append --volume /Volumes/Untitled to the command, and it should be good to go. The final command should look something like this:

Bash:
sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/Untitled
The quality of your USB drive will SIGNIFICANTLY impact the amount of time it takes to create the installer. Assuming all goes well, you should now have a standard macOS installation drive. Next, mount the EFI partition of your USB drive via terminal, or a graphical application that can mount said partition. Download the attached EFI and copy it over to your installation drive. The EFI folder attached should not require any modification to get macOS booting, but in the event changes do need to be made, follow the same steps that you'd use when editing any other hackintosh EFI folder.

Now we can boot our system from the macOS USB drive and jump straight into the installation process. If this is your first time performing a macOS installation, or if you wish to review, the previously linked UniBeast guide will cover this process in good detail.

Method #2 - Separate drive
There are some nice perks that come with confining the bootloader to its own drive; most notably, you do not have to create another macOS install drive for standard Macs. NEVER BOOT CLOVER ON A REAL MAC AS IT WILL BRICK IT. Many steps from method #1 are still applicable, but there are some key differences that need to be taken into account.
  1. Disk utility drive preparation
    1. Open disk utility
    2. In the top left hand corner, just below the close, minimize, and maximize buttons, you should see a button labeled view; click it, and make sure "show all devices" is selected.
    3. Once you see your flash drive, select it from the left hand menu, and click erase to reformat the drive. I recommend using FAT32, labeled as MS-DOS (FAT) in Disk Utility, as EXFAT has some major corruption issues, and FAT32, having been around a long time, is generally considered to be good when it comes to compatibility. If you're using a larger drive, be aware that FAT32 can only store files that are smaller than ~4 GB. The name of the drive is completely arbitrary and is entirely up to you to decide. I recommend not using something super generic, as names like "untitled" are often the default when nothing is entered, and having multiple volumes called "untitled" can potentially result in some applications (especially the macOS installation create media tool) to overwrite the wrong drive when reformatting.
    4. Once the drive has finished formatting, the main volume should be mounted by default. Before running the clover package, make sure that an EFI partition was created on your USB drive. This may seem obvious; however, there are cases in which older drives seem to have trouble writing said partition during formatting. If this is the case for your drive, find a different one to use.
  2. Install clover
    1. If you are going to use the clover installation package, you do not need to mount your USB drive's EFI partition, as the package can take care of that. For safety, unmount all EFI partitions that are not relevant to this process.
    2. Grab the clover package. There are two main sources that you can use; the first would be the installers found on the CloverHackyColor GitHub page, and the second would be the installer found within the Multibeast app itself. Right click Multibeast > Show package contents > Resources > Clover_r5118-UEFI.pkg. As of writing this, both packages will work; however, you may require features found in a freshly released clover revision. If you are going to use the stock packages found on the clover Github page, it's usually a good idea to download the newest version; however, it is highly recommended that you check the bug tracker first. From this point onward, this guide will assume that you chose the stock clover installer.
    3. Open the clover installer and proceed up to the prompt that gives you the option to customize your installation.
    4. Click Change Install Location, select your USB drive, and click continue.
    5. Because the stock clover package's default options aren't ideal for today's hacks, click customize, and select the following options
      • Clover for UEFI booting only
      • Install Clover in the ESP
      • Drivers off (optional)
      • expand UEFI Drivers
      • Uncheck Recommended drives
        • expand File System drivers
          • ApfsDriverLoader
          • VBoxHfs (alternative, Apple's HFSPlus EFI driver can be used, but it is not included)
        • expand Memory fix drivers
          • AptioMemoryFix (do not select this if you are planning on using OpenRuntime + OcQuirks).
      • Alternative screenshot view
        Screen Shot 2020-05-06 at 11.04.45 AM.png
    6. That's it ... you don't need much at all; click install, and the whole thing shouldn't take longer than 2 minutes.
  3. Installing clover (continued)- this is very important, as the installer does not come bundled with any of the necessary kexts, ACPI files, and some additional, but recommended EFI drivers; so, lets get them.
    • Kexts
      • Lilu.kext - Provides a platform that allows for arbitrary kext, library, and framework patching.
      • VirtualSMC.kext - Emulates AppleSMC (this replaced FakeSMC).
      • WhateverGreen.kext - Lilu plugin that provides GPU patches for a fair number of GPUs.
      • AppleALC.kext - Lilu plugin that enables native HD audio on codecs not officially supported by Apple.
      • IntelMausi.kext - Enables support for some Intel ethernet controllers (not required if you're using an i210).
    • ACPI files
      • SSDT-EC.aml - This provides macOS Catalina with the necessary EC device in order to boot. Do NOT USE other common alternatives, such as SSDT-EC-USBX.aml, or other variations of SSDT-EC; they will not work. The file I provided ensures that this motherboard's EC0 device does not get initialized by macOS. If EC0 is detected by macOS, an incompatible driver will attach itself to this device that can cause all kinds of weirdness with your build. While on this topic, I want to reiterate the following point; do NOT RENAME EC0 TO EC. While this file is included in my EFI folders, I felt it was important to directly link it for those who will not be using any of the attached EFIs.
      • SSDT-USBX.aml - Defines USB power properties to enable fast charging for iPhones, iPads, and other devices that support it. Some USB devices that require a little extra power will not function without this file. If you plan on using my USBPorts.kext, you do not need SSDT-USBX.aml, as the power properties are already defined in the kext.
    • Additional EFI drivers (optional)
      • VirtualSMC.efi - serves a similar purpose to SMCHelper previously used for FakeSMC
      • OpenRuntime + OcQuirks - This is a work in progress implementation of what you'd find in OpenCore.
  4. Replace the stock config.plist with the one included in my EFI folder, or another config file that you know works with your hardware. Even if you're using a lot of the same components that are listed in this build, minor differences can have an impact on your config. That being said, the included config.plist should work for most who are using this board, or even Z370 in general.
At this point, you should be good to go; simply reboot your system, and select the clover USB drive from the boot menu, and not the unmodified Install macOS drive. Assuming all goes well, the macOS installation process should be uneventful, and should be nearly identical to what you'd expect on a real Mac. Once the installation finishes, you should be presented with the usual initial macOS setup prompts. Go through them as your normally would, but DO NOT attempt to login to your AppleID; it will fail, and on top of that, you'll have some additional cleaning up to do afterward.

Post Installation
You should now be on a normal macOS desktop. Take a few minutes to get a feel for how your system is running. If you used my EFI folder, things should be relatively close to what you can expect after completing the usual post installation steps.

At this point, your system will not be able to boot without your Installation drive, or dedicated clover drive for those who went with method #2. For those who went with method #1 + Unibeast, you'll want to run Multibeast to get things up and running. For newcomers, please review the Multibeast guide before proceeding. For those who went with method #2, or method #1 with my EFI folder on the installation drive, simply copy over the EFI folder from your USB drive to your internal SSD (please tell me you're booting from an SSD). If you didn't copy something like clover configurator, hackintool, or any other graphical application that can mount EFI partitions, you'll have to do so from the command line (see the instructions below).

Open Terminal and issue the following command:
Code:
diskutil list
This will provide a list of all disks that macOS can see. Hopefully, you left a copy of the EFI folder on the standard partition of the USB drive, as that'll eliminate an extra step. From the list provided, you'll need to determine the path of the disk. If you need to retrieve the EFI folder from the USB drive's EFI partition, unmount said partition immediately after you're done copying the folder to your home directory, as having two volumes mounted named EFI can sometimes cause problems. Of course, you can copy the EFI folder from your home directory to the EFI partition of your internal drive if that's what you needed to do.

Screen Shot 2020-04-15 at 4.07.47 PM.png

As indicated by the screen shot above, the disk in which I have installed macOS is labeled /dev/disk2, and its EFI partition is disk2s1. To mount it, enter the following command:
Code:
sudo diskutil mount /dev/disk2s1
Of course, replace disk2s1 with what's appropriate for your system. Once you've copied over the EFI folder, you can reboot your system to see if it works.

Whether you used appropriate options in MultiBeast for Z370, or went with the attached EFI folder, you should now have a fully functional system; however, we're not finished yet, as there are additional optimizations that need to be made. Because I don't want this thread to become any longer than it already is, I cannot detail every step for said optimizations, but I wanted to at least point them out, as well as other useful things.

Section I. - config.plist
XHCI device renames - deprecated, but still included in config previous.plist: These are optional, and may only be needed for some users. Because of this, I have included them here. Alternatively, they can be found in config previous.plist.
XML:
               <dict>
                    <key>Comment</key>
                    <string>change XHCI to XHC</string>
                    <key>Disabled</key>
                    <true/>
                    <key>Find</key>
                    <data>WEhDSQ==</data>
                    <key>Replace</key>
                    <data>WEhDXw==</data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>change XHC1 to XHC</string>
                    <key>Disabled</key>
                    <true/>
                    <key>Find</key>
                    <data>WEhDMQ==</data>
                    <key>Replace</key>
                    <data>WEhDXw==</data>
                </dict>
macOS Catalina USB port limit removal patch - included in config.plist:
This should ONLY be used temporarily for port mapping, as it can cause USB devices to pop up out of the expected memory locations that macOS uses for USB. This will inevitably lead to instability at some point down the line, especially with external drives; so, don't use it for any longer than what's needed. You have been warned!
XML:
           <dict>
                <key>Comment</key>
                <string>USB Port limit patch #1/2 10.15.x (credit DalianSky)</string>
                <key>Disabled</key>
                <true/>
                <key>Find</key>
                <data>g/sPDw==</data>
                <key>InfoPlistPatch</key>
                <false/>
                <key>MatchOS</key>
                <string>10.15.x</string>
                <key>Name</key>
                <string>com.apple.iokit.IOUSBHostFamily</string>
                <key>Replace</key>
                <data>g/s/Dw==</data>
            </dict>
            <dict>
                <key>Comment</key>
                <string>USB Port limit patch #2/2 10.15.x (credit DalianSky)</string>
                <key>Disabled</key>
                <true/>
                <key>Find</key>
                <data>g/kPDw==</data>
                <key>InfoPlistPatch</key>
                <false/>
                <key>MatchOS</key>
                <string>10.15.x</string>
                <key>Name</key>
                <string>com.apple.driver.usb.AppleUSBXHCI</string>
                <key>Replace</key>
                <data>g/k/Dw==</data>
            </dict>
Devices > properties table
XML:
       <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x1F,0x3)</key>
            <dict>
                <key>layout-id</key>
                <data>BwAAAA==</data>
            </dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>AwCYPg==</data>
            </dict>
        </dict>
This is the correct location for defining attributes about PCI devices, and is also used by WEG for IGPU configuration. The IGPU properties in my config.plist should be reasonably compatible for those who are using a dedicated GPU, and a 9th gen cannon lake CPU. 8th gen CPU users MUST use a different platform ID in order for your IGPU to function correctly. The raw XML uses base 64; so, entering something like 0x3E980003 is not correct if you're editing this file with a standard text editor, which is generally not recommended. If you're using clover configurator, these values MUST be entered hex swapped. Here is a small comparison of the main platform IDs you may end up using:
Code:
//coffee lake 9th gen IGPU (headless)
0x3E980003 - standard hex
0300983E - hex swapped
AwCYPg== - base64 swapped

//coffee lake 8th gen IGPU (headless)
0x3E920003 - hex
0300923E - hex swapped
AwCSPg== - base64 swapped

//coffee lake IGPU is primary graphics device
0x3E9B0007 - Hex
07009B3E - Hex swapped
BwCbPg== - base64 swapped
If you're using the IGPU as the primary GPU, there are additional steps you'll probably have to take in order to get everything working correctly; a good example would be defining your motherboard's GPU connector types. Failing to do this often results in erratic behavior, and ports that just flat out don't work. At the end of this thread, I have a link to the hackintool release thread, which provides a good starting point for correctly patching your IGPU framebuffer.

Section II. - SMBIOS:
As mentioned above, the serial number in the prebuilt EFI WILL NOT work, and is only in the config to satisfy a requirement. At the bottom of this thread, I have provided a link to the idiot's guide to iMessage, which should be more than sufficient to get your Apple services working. Spoiler ahead; because this motherboard has working NVRAM, you do not need to go through the extra steps in the iMessage guide to see if the SMUUIDs you generate are useable, they are (you're welcome). For simplicity, both clover, and hackintool can generate S/Ns; however, it is not recommended that you use clover configurator for this purpose, as nobody exactly knows how it does the generation.

Section III. - USB mapping:
The USBPorts.kext found in my EFI folder will ONLY work for those using the iMac19,1 SMBIOS, and even then, there's a good chance that you have your internal headers hooked up to your case differently. If the port map works for you, that's pretty cool, but be prepared for there to be potential problems. Please refer to the beginner's USB port mapping guide found at the end of this thread. If you do need to redo the USB map, I included a copy of USBInjectall in /EFI/CLOVER/kexts/off that was patched by another forum member to support iMac19,1, as well as other SMBIOS's that were defined after November 2018.

IMPORTANT USB UPDATE 5/10/20
I noticed people were experiencing some issues with the provided USBPorts.kext, and upon switching to OC, I noticed some strange issues myself; so, I decided to take a closer look, and made the following changes.
  • Added values found in SSDT-USBX.aml directly to this extension. As such, SSDT-USBX has been disabled in both EFI folders; however, you can easily copy it back to its appropriate folder to use it again.
  • Cleaned up info.plist a little bit
  • added IOPciMatch attribute to each controller defined in this kext. This is important, as the ACPI name PXSX is generic, and appears multiple times in this motherboard's DSDT. Previously, the PCI ID was not defined in the kext, which may've resulted in some of the problems people were having with this map. In the clover folder, the old map can still be found in kexts/off just in case it was working well for you.
  • BONUS: USBInjectall SSDT - For those who still wish to use USBInjectall + SSDT-UIAC, I added them to a separate archive attached to this thread.
OC EFI folder
May 28th, 2020 - OC 0.5.8

OC has been updated to release version 0.5.8, and as such all relevant changes to OC are also reflected in this version of the folder. If you have any problems, please refer to the OC vanilla guide for more information. Here is a list of changes that were made.
  • Removed ApfsDriverLoader.efi - This efi driver is no longer needed, as it is now built in to OpenCore itself.
  • Removed NdkBootPicker.efi - While an excellent graphical boot picker, I wanted to stick with stock OC files.
  • Added OpenCanopy.efi - This is the official graphical boot picker included with OC, and more closely resembles Apple's stock boot picker.
  • Updated kexts to latest version
NOTE: Please be sure to run SSDTTime to improve stability, power management, and other quality of life aspects of your build. The clover ACPI fixes are not represented in the same way in OpenCore, and as such, the best way to get them back is via SSDTTime.

May 14th, 2020 - OC 0.5.7
This is the first finished version of my OC folder for this particular build. Please keep in mind that I'm still relatively new to this bootloader, and how it works; so, please keep this in mind. Feedback is greatly appreciated. From RC2,
  • Added NdkBootPicker.efi - this will present a graphical boot picker instead of builtin text-only one.
  • Disabled SSDT-USBX.aml - this SSDT is redundant, as USBPorts.kext contains power values. It may; however, be re enabled for those who wish to redo port mapping.
The clover IRQ fixes are not present in OC's config, and as such, they need to be applied differently. Please follow the instructions for patching out IRQ conflicts using SSDTTime. For more general information, please refer to the OpenCore vanilla guide.

Clover EFI folder r5119
  • ACPI files
    • SSDT-EC.aml > This provides an appropriate EC device for Catalina and ensures that EC0 does not get initialized in macOS.
    • SSDT-USBX.aml > This provides power properties for USB, as to allow for devices that require extra power to function correctly, and fast charging for iPhones, iPads, and other supported devices // THIS IS NOW DISABLED
  • Kexts
    • Other
      • VirtualSMC.kext > This serves as the primary SMC emulator. I have also included appropriate sensor plugins.
      • Lilu.kext > Extension that provides a platform for patching, and is required for almost every other kext in this folder to work correctly.
      • WhateverGreen.kext > A must have for graphics. This kext has a lot of important functionality, and I recommend that you refer to the Lilu introduction thread for more information.
      • AppleALC.kext > Enables onboard audio
      • SATA-unsupported.kext > Codeless extension that allows macOS to properly identify the 200 series SATA controller. Without it, the controller is given the "generic SATA controller" label.
      • IntelMaussie.kext > Enables the onboard intel NIC
      • USBPorts.kext > a codeless kext that defines a USB port map for this motherboard. It is compliant with the 15 port limit, and negates the need for a port limit patch.
    • off
      • FakeSMC.kext > older SMC emulator. Use this if you're experiencing issues with VirtualSMC
      • USBInjectall.kext (v0.7.5) > Allows for the injection of all possible USB ports. This kext should only be used for port mapping
      • USBPower.kext > Alternative method for defining USB power properties. Some may prefer this over using SSDT-USBX
  • config.plist setup
    • ACPI
      • FixIPIC, FixHPET, FixRTC, and FixTMR for the resolution of IRQ conflicts.
      • plugintype generation for CPU power management.
    • Boot
      • keepsyms=1 debug=0x100 -v predefined
    • Devices
      • Properties table
        • Defined IGPU platform ID 0x3E980003 > This platform ID is for headless configurations only. If you're relying on the IGPU for your main display, please remove this entry.
        • Defined AppleALC layout ID 7 > The previous "Inject" property under Audio is considered to be deprecated and will likely break soon.
    • GUI
      • Enabled 'tool' for better detection of other volumes by clover.
      • defined the theme "clovy" to be used by default
    • Kernel and Kext patches
      • disabled KernelPm and AppleIntelCPUPM. Please make sure that CFG lock is disabled in UEFI!
      • Kext patch for AHCI drive icons is present, but disabled by default. If you have your SATA drives set to hot swappable in UEFI, you'll have to enable this patch in order to fix the drive icons.
      • macOS Catalina USB port limit removal patches (known to work on all versions of 10.15). These two patches are disabled by default.
    • RT Variables
      • SIP disabled
      • ROM and MLB specified
    • SMBIOS
      • iMac19,1 definition is used by default
      • S/N is ONLY a placeholder and will not work for iMessage, or other Apple services.
  • System perimeters
    • Kext injection is globally enabled
    • Inject system ID is enabled

Additional resources
There's only so much I can cover in this one post, and I strongly urge everyone to go through at least some of these resources
An idiot's guide to Lilu and its plugins
The New Beginner's Guide to USB port Configuration
An Idiot's Guide to iMessage
Hackintool release thread
Official Clover GitHub repository

Conclusion
As far as I can tell, everything that'd you'd see on a hackintosh stability, and functionality checklist works perfectly on this setup. Overall, this is a very stable build, and makes for a good first hackintosh for those who are just getting started. As stated above, there are a lot of resources out there that really make this whole process a lot easier.

Screen Shot 2020-04-15 at 4.31.06 PM.png

Screen Shot 2020-05-09 at 3.40.37 PM.png
 

Attachments

Last edited:
Joined
Apr 30, 2020
Messages
15
Motherboard
Asus Prime Z370-A
CPU
i7 9700K
Graphics
Sapphire RX 580 4G
Thanks for the build Aldaro! I'm in the process of doing something very similar: Z370 A Prime (not MKII), i7-9700K and RX 580 Pulse. I was wondering if you knew if your EFI folder could work. That would save me some time!

Also, I've seen you're using SMBIOS 19,1 for the i5-9600K, do you think it would be applicable as well to my i7? I've seen mixed reports about it.
 
Joined
Jul 18, 2019
Messages
99
Motherboard
Asus prime Z370-A MK-ii
CPU
i5-9600K
Graphics
RX 580
Mac
MacBook Pro, Mac mini
You're welcome, and my EFI folder should yield good results for your build. Looking at Apple's site, I think iMac 19,1 is the way to go. While an i7 9700k is not a configurable option, the presence of an i5 9600k, and i9 9900k indicates that this CPU should work well for this particular SMBIOS. iMac 19,2 can work for CPUs with locked multipliers, but even then, there aren't any 9th gen options available for this specific Mac. Moreover, the Radeon pro 580X found in one of the stock configurations of iMac 19,1 is nearly identical to the RX 580 (even going as far as to share the same shortened PCI device ID). In addition to this, it shares the same framebuffer identifier with the RX 580, ATY,Orinoco. I gathered this information from the system information app on a real iMac 19,1, and for my reference, exported some of the file's contents.
 
Joined
Apr 30, 2020
Messages
15
Motherboard
Asus Prime Z370-A
CPU
i7 9700K
Graphics
Sapphire RX 580 4G
Thanx so much Aldaro, it all seems very promising! I'm considering to move to a RX5700, because my RX580 Pulse literally just stop working properly (hardware problem with the fan controller), but now you praised the RX580 so much, I might be considered an used RX580... Time will tell!
 
Joined
Jul 18, 2019
Messages
99
Motherboard
Asus prime Z370-A MK-ii
CPU
i5-9600K
Graphics
RX 580
Mac
MacBook Pro, Mac mini
If you need better performance out of your GPU, I'd step things up to the 5700 XT. That being said, on my 2019 MacBook Pro, the navi drivers are a nightmare.
 
Joined
Apr 30, 2020
Messages
15
Motherboard
Asus Prime Z370-A
CPU
i7 9700K
Graphics
Sapphire RX 580 4G
That's exactly my dilemma for these last few days (luxury problems, mind you). I don't need more GPU perf, I guess the most demanding games I'll be playing in 2020 are Wasteland 3 and Anno 1800, so not that much power hungry, though I need to display them on a 2560x1440 (working setup has 2 of these). I was just stepping up to the 5700 series to have a lasting GPU, i didn't want to buy a 580 now and change it in 2 years because macos doesn't support it anymore... And to be honest people seem to be 50/50 divided on the subject subject, some have a perfectly functioning 5700 (lilu+weg), and for others, it is not the case at all.
Would you care to extend a little bit on the nightmare aspects of the navi drivers on your macbook ?
 
Joined
Nov 18, 2011
Messages
80
Motherboard
Asus Prime z370 A II
CPU
i5-9600K
Graphics
RX 580
Mac
iMac, MacBook Pro, Mac Pro
Classic Mac
Apple, Plus
Mobile Phone
Android
It's been a few years since my last hackintosh, so it's time for me to build a new one and update to Catalina. Your components were similar to the ones I have decided upon, with the exception of the Prime board instead of yours.

Has the other poster found this to be successful while using your instructions?

Where in the BIOS menu is the CFG lock? There seems to be a good deal of confusion from other threads in locating it.

Also, curious about the i5 vs i7. And your RAM is no longer available but had been updated-will this still work in your opinion?

Thanks for a concise, well written guide.
 
Last edited:
Joined
Apr 30, 2020
Messages
15
Motherboard
Asus Prime Z370-A
CPU
i7 9700K
Graphics
Sapphire RX 580 4G
Hey brimcan, I've not installed anything yet ! I'm planning to have a go at it during the week, i'll make sure to let you know. What RAM are you thinking of ?
 
Joined
Nov 18, 2011
Messages
80
Motherboard
Asus Prime z370 A II
CPU
i5-9600K
Graphics
RX 580
Mac
iMac, MacBook Pro, Mac Pro
Classic Mac
Apple, Plus
Mobile Phone
Android
This was the RAM suggested by Amazon as a new version/replacement for the link in the original poster's spec list:

Crucial Ballistix 2666 MHz DDR4 DRAM Desktop Gaming Memory Kit 16GB (8GBx2) CL16 BL2K8G26C16U4B (Black)


Thanks for letting me know, and good luck on your install.
 
Joined
Nov 18, 2011
Messages
80
Motherboard
Asus Prime z370 A II
CPU
i5-9600K
Graphics
RX 580
Mac
iMac, MacBook Pro, Mac Pro
Classic Mac
Apple, Plus
Mobile Phone
Android
Also, any concerns about this? I found it when putting the build together on PCPartsPicker:

Warning!Some Intel Z370 chipset motherboards may need a BIOS update prior to using Coffee Lake Refresh CPUs. Upgrading the BIOS may require a different CPU that is supported by older BIOS revisions.
 
Top