Contribute
Register

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

Joined
Jul 18, 2019
Messages
100
Motherboard
Asus prime Z370-A MK-ii
CPU
i5-9600K
Graphics
RX 580
Mac
  1. MacBook Pro
  2. 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
This build, for all intents, and purposes, represents a near spec for spec match to the 2019, 27 inch iMac. More specifically, the non custom configuration which uses the 9600k, and Radeon pro 580. The primary objective for this build, is to have a system which strikes a solid balance between reliability, cost, and performance. For the first two points, I'd say this build definitely meets expectations, and for performance, it actually pulls ahead of the iMac which I used as a reference. With Z370 having been released back in 2017, I don't think it is worth trying to find this board for two obvious reasons.
  • Finding this, and other Z370 boards has been quite difficult for some time now, and is only going to get actively worse.
  • Z390 no longer poses the same headaches that were present early on in the platform's lifecycle. As of writing this, coffee lake has been replaced by comet lake; so, if you're looking at a coffee lake build, I don't think there's a lot of time left before the only parts left are overpriced.
Because of the hardware I chose, I was very critical when it came to assessing just how well macOS ran, and overall, the end result is a pretty nice hack that, for the most part, hasn't left me with a sense that something is missing.

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 & Bluetooth
  • 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.
  • As an extension of the previous, the use of codeless kexts to fix the color profile will cause some displays to not work on a different connector type than the one which was used when you generated said codeless kext.
  • Some DRM content; however, this is definitely improving, and is much better than a few months ago.
  • USB 3.1 gen 2 often gets misreported as only functioning at 5 Gbps (rest assured that it is running at full speed).

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 clover EFI folder, the OC logo to download my OC EFI folder, and the kext icon if you only need things like my configs, port map, or other files of importance.

clover.png 612592975230271517.png kext-icon.png
Clover 5.0-r5122 OpenCore 0.6.1 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; it sticks to the essentials, and therefor, setting up macOS is very easy. The addition of a dedicated ASMedia USB 3.1 gen 2 controller provides much more breathing room when it comes to that pesky 15 port per controller limit. On top of that, I've found that having two separate controllers is very helpful for devices like USB mics, audio interfaces, DACs, and even some external SSDs. Being a standard ATX board, there is plenty of expansion slots available to you.
  • 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 BCM94360CD. 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. To top it off, this card doesn't require the use of any fixup kext to get its features working correctly.

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. This card can be somewhat overpriced at times, and I think for most, the onboard LAN will work just fine. That being said, if you need ethernet connectivity, and have concerns about kext injection randomly breaking, the i210 will definitely provide some peace of mind.

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.
Section I - 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.
Section II - Creating Bootable Media
There are many ways one can go about creating a macOS installation drive; however, Unibeast is by far the easiest way to go about it (especially for newcomers). You can click here to view the official Unibeast guide. The instructions in this success thread are a bit more manual, and will cover both Clover, and OpenCore setups. For those who don't mind spoilers, you will find my EFI folders linked to this thread.

All methods - primary install macOS USB drive setup
To get started, you'll want to format the USB drive you intend to use for the bootable macOS installer. 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)". If you have multiple SSDs in your build, please do NOT use the default name of "Untitled" (especially if one of those SSDs contains a Windows installation). While macOS will enumerate the Volume name, as to avoid having drives with the same name, that enumeration will not be visibly obvious in finder, and running the below command with "Untitled" set as the target volume can potentially blank out your Windows drive. You either need to check the enumeration, or just choose a different name to prevent this from happening.

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

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/"YOUR VOLUME NAME HERE" 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/volumename

The quality of your USB drive will dictate how long it takes to create the bootable installer. Assuming all goes well, you should now have a standard macOS installation drive.

Section III - setting up the bootloader
Here is where you'll spend a significant portion of your time. It is absolutely vital that you configure your bootloader correctly, as failing to do so will result in a system that won't be able to boot. In the past, I kept the scope of this thread limited to clover; however, OpenCore's relevance cannot be ignored, and as such, it needs to be covered.

Required files for both bootloaders- I realize this may seem out of context, but regardless which bootloader you choose, these files are still going to be needed; so, let's address 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.
    • SSDT-PLUG.aml (OpenCore only) - This is the equivilent to clover's generate PluginType option, and as such, will provide proper CPU power management. This can be used in clover as well if you wish to omit the generate PluginType option from config.plist.

Option - creating a separate bootloader 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.
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.
Section IIIa - setting up and configuring clover
These instructions are applicable for the latest version of Catalina (10.15.6) as well as older versions of macOS. Because of major changes made in clover r5120, I'll be using r5119 for this example. That said, I have attached my r5122 EFI to the thread along side r5119 (for those who are interested).
  1. Grab the clover installation package. This is a direct link to the stock r5119 installer found on the CloverHackyColor GitHub page.
  2. Unmount any EFI partitions you may have currently mounted. The clover installation package will automatically mount the EFI partition of the target drive upon completion.
  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.
  7. Add the required kexts to EFI/CLOVER/kexts/Other and the aml files to EFI/CLOVER/ACPI/patched. Optionally, you can add the VirtualSMC EFI driver to drivers/UEFI if you wish to have something similar to SMCHelper.

config.plist setup and optimizations - If you wish to skip the details, 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. Now that you have everything in place, it's time to reboot, and give your installer a shot. Weather you opted to keep everything on a single USB drive, or isolate the bootloader to its own drive, the macOS installation process should be pretty uneventful assuming all goes well.

Section IIIb - setting up and configuring OpenCore
So, you’re looking to be on the cutting edge eh? OpenCore, while more difficult to setup than clover is, without a doubt, the future of running macOS on non-Apple hardware. Since 2012, clover has served us well, but its shortcomings are becoming increasingly more noticeable, and a successor is needed; that successor is OpenCore.

Why OpenCore?
OpenCore offers a multitude of benefits over clover, and while I cannot go into all of them here, I just wanted to briefly touch on the two biggest points that stand out to me.
  • OpenCore behaves much more like a real Mac’s firmware, and as such, you’ll enjoy things like faster boot times, improved stability, and better utilization of macOS’s NVRAM variables (e.g startup disk).
  • OpenCore’s kext injection is vastly superior to clover’s as of this writing. Without going into great detail, OpenCore performs its injection during the linking phase of the boot process. This is the point at which you see the loading bar appear beneath the Apple logo. The prelinked kernel has already been initialized, and at this point, macOS begins “linking” other extensions to the prelinked kernel. This allows OpenCore’s injected kexts to become a part of kextcache, and by extension, these kexts will show up in the designated portions of memory designated by macOS for extensions. Because OC’s kexts are injected this way, SIP does NOT need to be disabled in order for kext injection to function; which, for the most part, makes our hacks more secure.
By comparison, clover performs its kext injection during the “rooting” phase of the boot process. This is the point at which enough extensions have loaded to allow macOS to “root” itself on the default / BSD mount point. It is here where clover disables SIP, places your kexts TEMPORARILY in S/L/E, attempts to re-enable SIP, which often fails, and cary on with the remainder of the boot process. Clover’s kext injection was never designed to replace installing extensions; instead, clover’s injection was designed to allow for the injection of unsigned kexts while macOS is in recovery mode.

While I strongly urge you to read the OpenCore vanilla guide, we will be using a tool called OC-Gen-X to make the setup process easier. While far from being a substitute for reviewing the OC guide, and performing an extensive manual setup, this tool significantly reduces the potential for human error, and increases the likelihood of having a working OC setup the first time round. Because I feel it is required, here is the obligatory disclaimer of “I am not associated with this project and cannot guarantee its stability”. This setup process will follow similar logic to installation method #2; so, please have a look at that before continuing onward. Of course, you don’t need to pay attention to the clover specific details, but become comfortable with the idea of compartmentalizing your boot loader away from your macOS installation USB drive. Click the OC-Gen-X logo bellow to download the application.
ocgenx.png
System Type
Upon opening the application, you’ll be presented with a section in which you must specify a platform type. For this build, you want to select coffee lake.
Screen Shot 2020-08-31 at 1.50.06 PM.png

kext
In the “kext” tab, you’ll see multiple sub tabs in which you can select any number of kernel extensions you may need for your system. The extensions you’ll find throughout these tabs are among the most common, and should be perfectly sufficient for getting your build up, and running.

Essential
Starting with essential, Lilu and VirtualSMC are already selected by default. There’s a reason this tab is called essential, as without these extensions, we wouldn’t be able to get anywhere; so, leave them selected.​
Screen Shot 2020-08-31 at 1.50.36 PM.png
VirtualSMC Plugins
For VirtualSMC plugins, desktop users only need SMCProcessor, and SMCSuperIO. The remaining two plugins are exclusive to laptops, and can therefor be ignored.​
Screen Shot 2020-08-31 at 1.50.51 PM.png
Graphics
WhateverGreen is the only extension you’ll find under graphics, and while it’s not technically required, it’ll save you a lot of headaches, especially when it comes to the hybrid dGPU + IGPU combo used in this build. In real iMacs, Apple makes use of both the onboard Intel UHD graphics, and a dedicated GPU to squeeze out some extra performance, as well as improve the overall user experience. After WhateverGreen is checked, you can specify some additional boot arguments. In this example, I added “igfxframe=0x3E980003” to properly define the IGPU platform ID. This can be used to replace a device property entry; however, you shouldn’t use the boot arg long term.​
Screen Shot 2020-08-31 at 1.51.46 PM.png
Audio
The audio tab is nearly identical to graphics; the only extension here is AppleALC, and it is required if you want your onboard audio working in macOS. Once selected, you can specify additional boot args. Just like before, we can pass in an argument (alcid=7) that temporarily allows us to skip over adding a PCI device property entry. Your layout ID will likely be different if you are using a different motherboard, but if you’re using the PRIME Z370-A, layout 7 is what you’ll need.​
Screen Shot 2020-09-01 at 8.15.59 PM.png
Ethernet
There are 5 extensions to choose from under the ethernet tab, and the only one you’ll need (assuming you’re using the onboard LAN) is IntelMausi. If you picked up an i210, you won’t need any additional ethernet drivers, as this controller is already supported natively in macOS.​
Screen Shot 2020-08-31 at 1.52.17 PM.png
USB
Under USB, the only extension you’ll find is USBInjectAll. This kext attempts to inject properties for all ports on specific controllers, and when combined with the port limit patch, will make every USB port on your system visible to macOS. I’ll say it now, and I’ll say it again; please do NOT use the port limit patch as your solution for USB. While OC’s port limit patch is a bit cleaner than what you’d find in clover/the original KextToPatch method, the port limit patch cannot guarantee that the port limit is removed from all parts of macOS in which it is defined. Furthermore, having more than 15 ports per controller will cause USB ports to pop up outside the expected memory addresses macOS reserves for USB; which, you guessed it, can result in generalized system instability. If you plan on using my USBPorts.kext, you don’t need to add USBInjectAll.​
Screen Shot 2020-08-31 at 1.52.25 PM.png
Because this build does not require any additional Wi-FI, or bluetooth kexts, those tabs will not be covered, but for those who may need some additional extensions for Wi-Fi, you have a few options available in the appropriate tab.

Firmware Drivers
The defaults predefined for Firmware Drivers are correct, and you do not need to make any changes. OpenRuntime.efi can sort of be equated to the old AptioMemoryFix, and of course HFSPlus.efi is needed in order to boot from HFS+ formatted drives. Notice that ApfsDriverLoader.efi is absent, and that is because it is now built-in directly to OpenCore.
Screen Shot 2020-08-31 at 1.52.42 PM.png

SMBIOS
For SMBIOS, please review the idiot’s guide to iMessage linked at the bottom of this thread, as I will not be covering how to generate SMBIOS information in this thread. That being said, it is a good idea to have SMBIOS information prepared ahead of time, as it’ll make setting up your Apple services substantially easier. The fields are self explanatory here.
Screen Shot 2020-08-31 at 1.53.03 PM.png

Additional BootArgs
For the final tab, Additional BootArgs, you can specify the usual -v debug=0x100 and keepsyms=1 like you would in clover. I’ve noticed that the boot args defined sometimes become formatted incorrectly in the final config; so, we’ll review everything in a bit. Aside from that, we’re now ready to hit the lovely generate button to get our EFI folder. Assuming all went well, you should see an “EFI generation complete” dialog, and your new EFI folder should now be on your desktop.
Screen Shot 2020-08-31 at 1.53.41 PM.png

Pretty nice, right? Resist the urge to copy the freshly generated folder to your USB drive, as there are a few things that need to be done. Because they were directly specified, the kexts are automatically placed in EFI/OC/kexts, but the SSDTs needed are not automatically downloaded for you, and we therefor need to get them ourselves. The two most important SSDTs are SSDT-EC.aml and SSDT-PLUG.aml. SSDT-EC.aml provides macOS with the required EC device and SSDT-PLUG addresses power management. Unlike clover, there are no config.plist options to generate things like Cstates, or PluginType; so, we need something like SSDT-PLUG.aml to fill that hole. You can find these SSDTs in my OC EFI folder, the extras archive, and of course, the OC vanilla guide. SSDT-USBX.aml defines USB power property values, and is good to have for those using USBInjectAll.kext. These values are defined within the USBPorts.kext; so, this SSDT becomes redundant for those using my port map, or once you have successfully generated your own.
Screen Shot 2020-08-31 at 1.54.56 PM.png

Once downloaded, place these SSDTs in EFI/OC/ACPI. Unlike clover, all kexts, EFI drivers, tools, and ACPI files must be defined in your config.plist; failing to do so will result in OC not loading them, and obviously, we want them to load. To automate the process of adding all appropriate entries to config.plist, you can use ProperTree, or OpenCore configurator to add these items to your config. In this guide, we’ll be using ProperTree, and I recommend you do so too, as OpenCore configurator can cause issues with your config. You can download an archive of the ProperTree GitHub master branch by clicking here. Once downloaded, you’ll find two app build scripts in the scripts folder. For the sake of compatibility, I went with the python2 command. All you need to do, is double click whichever script you wish to use, and a ProperTree application bundle will be generated in the main ProperTree folder. At this point, you can move it to your Applications folder if you wish to do so, but it is not explicitly required.
Screen Shot 2020-09-01 at 9.03.47 PM.png

ProperTree is a very basic plist editor, but it’ll get the job done; moreover, it can be used cross platform for those who need something on Windows, or Linux. Open your OC config.plist with ProperTree and press command + shift + r to perform a clean snapshot. Select EFI/OC and proper tree will find all files that need to be specified in your config. The below screenshot reflects some of the changes made during the snapshot; notice how the ACPI files are now present in our config, and if we were to scroll down towards the bottom, our EFI drivers are now present as well.
Screen Shot 2020-09-01 at 9.24.58 PM.png

There are a few additional config.plist changes that need to be made, but they’re pretty minimal. You can use ProperTree for these as well; however, I’m going to switch over to a more polished plist editor for the remainder of this guide.

config.plist edits

Kernel > Quirks
Expand Kernel > Quirks; make sure that AppleCpuPmCfgLock, and AppleXcpmCfgLock are disabled. These patches are only required for those who cannot disable CFG lock (sometimes labeled MSR write protect) in UEFI. While these patches are functional, they aren’t the cleanest in what they do, and being able to disable them gives us a nice advantage.​
Screen Shot 2020-09-01 at 9.28.27 PM.png
NVRAM > 7C436110-AB2A-4BBB-A880-FE41995C9F82
The three highlighted keys boot-args, csr-active-config, and prev-lang:kbd are left blank by default. While this shouldn’t cause problems, it’s generally a good idea to correct these. Sometimes OC-Gen-X inappropriately concatenates boot arguments that should be separated with spaces; so, double check that your specified boot args are in order. Csr-active-config often causes a lot of confusion, because it seems to be a moving target. Here are some examples and what these values do​
  • 00000000 - SIP enabled: This enables all components of SIP; which, is something that is perfectly doable with OpenCore.
  • E7030000 - SIP practically disabled: You're probably more familiar with this value in the form of 0x3E7, and while this does effectively disable SIP, it is now considered deprecated.
  • 67000000 - old SIP mostly disabled: More commonly recognized as 0x67, this value has also been deprecated
  • 77000000 - SIP fully disabled: This is the NVRAM value that gets set whenever you boot a real Mac into recovery and issue the command csrutil disable.
It is also perfectly valid to leave csr-active-config blank, as you can technically set it in recovery. This is technically the preferred way of changing SIP status in OC. Finally, prev-lang-kbd defines a keyboard layout. This value can be entered as either a data, or string value.​
Screen Shot 2020-09-01 at 9.33.31 PM.png
PlatformInfo > Generic
The two values we need to concern ourselves with here are ROM and SpoofVendor. It isn't always required to set a value for ROM, but if you need to set it, use the MAC address of your primary network controller (typically en0). SpoofVendor should speak for itself.​
That about covers most of the OC setup; again, this is a very simplified method in which you can setup OC, and I highly recommend you read the vanilla guide.

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 bootloader drive if that's the route you took. For those who went with Unibeast, please do not just simply copy over the EFI folder on your install macOS USB drive, as Unibeast is setup to boot the macOS installer on many different hardware configurations. Instead, run Multibeast and select platform specific options. I'm not going to cover that here, as the main Multibeast guide provides a much more complete set of instructions than what I could provide in a forum thread. For those who copied either my clover, or OC EFI, you'll need to copy that over to your internal drive's EFI partition. If you didn't leave an extra copy of the EFI folder on another partition, you'll have to retrieve it from the USB drive's EFI partition. To do this, we first need to determine what EFI partition belongs to what drive.

Open Terminal and issue the following command: the screenshot found below is only a visual for the sake of showing the output of diskutil list and is not representative of this text example.
Code:
diskutil list

If you placed the bootloader directly onto the install macOS drive, simply look for the EFI partition which sits right above the partition labeled "Install macOS <version>". If you used a separate drive for your bootloader, do the same thing, but instead, look for the FAT partition you made on the drive; like before, the EFI partition should be listed right above the main partition. To mount and unmount EFI partitions from the command line, issue the following command:
Code:
diskutil mount /dev/disk1s1
NOTE: This assignment is only for the sake of providing an example; replace disk1s1 with your EFI partition. To unmount the drive, issue the command
Code:
diskutil unmount EFI
This assumes you only have 1 partition mounted called EFI. macOS will automatically enumerate the volume name If there are multiple volumes mounted with the same name. Repeat these steps with your internal drive's EFI partition, and once you have your EFI folder copied over, you should be good to go.

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


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
September 9th, 2020 - OC 0.6.1

OC has been updated to release version 0.6.1, and as such all relevant changes to OC are also reflected in this version of the folder. One of the biggest changes is the requirement of needing to specify a kext's architecture when adding it to config.plist. If you have any problems, please refer to the OC vanilla guide for more information. Here is a list of changes that were made.
  • Added missing SSDT-HPET.aml to OC/ACPI. This file is disabled by default, and should only be used in conjunction with my SSDTTime patches (which must also be manually enabled).
  • Switched config settings to reflect the default use of USBInjectAll.kext. My port map is still present, but is disabled by default. The builtin port limit removal patch was enabled for the sake of making mapping easier. You can attempt to use my port map; however, there's a strong chance that your USB port setup doesn't match mine (especially when it comes to the front/internal headers).
  • All kexts were updated to current release versions.
  • Added CtlnaAHCIPort.kext to OC/Kexts directory. This is in preparation for macOS Big Sur, as SATA-Unsupported.kext seems to have stopped working due to the removal of a class definition in Apple's AHCI extension. Of course, this new kext isn't needed in older versions of macOS; so, it'll only be loaded if OC is booting Big Sur.
August 31st, 2020 - OC 0.6.0
OC has been updated to release version 0.6.0, 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.
  • Included SSDTTime DSDT patches - These are disabled by default, and must be enabled by editing the config. While these may work for some of you, it is highly recommended that you run SSDTTime yourself, as the required patches may differ based on your individual hardware, UEFI version, and more.
  • OpenCanopy enabled by default - The image resources are included; however, the audio files for AudioDxe are not; so, please make sure to grab them before trying to use AudioDxe.
  • Removed unnecessary tools - this was done to clean up the boot picker, and yes, NVRAM reset is still functional. If you need the tools, please download the OC release ZIP and copy them over.
  • kext updates for all essential extensions - I think this is pretty self explanatory.
  • Included USBInjectall and enabled port limit patch - Please do not use this long term, as you could face stability problems down the road. My USBPorts.kext is still present, but you'll need to enable it in config.plist. Make sure you disable USBInjectall.kext if you wish to use my USBPorts.kext, as the two will conflict.
  • SSDT-USBX.aml is present once again - While power values are present in my USBPorts.kext, this SSDT will define correct power values for those using USBInjectall.kext.
  • In the original 0.6.0 upload, I had accidentally left SSDT-HPET.aml active and forgot to include SSDT-USBX.aml. If you downloaded the original file, please see the updated link, as I have corrected this issue

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

  • Screen Shot 2020-04-15 at 3.06.05 PM.png
    Screen Shot 2020-04-15 at 3.06.05 PM.png
    687.6 KB · Views: 47
  • Screen Shot 2020-04-15 at 3.06.05 PM.png
    Screen Shot 2020-04-15 at 3.06.05 PM.png
    687.6 KB · Views: 52
  • Screen Shot 2020-05-06 at 11.04.45 AM.png
    Screen Shot 2020-05-06 at 11.04.45 AM.png
    536.6 KB · Views: 30
  • Screen Shot 2020-05-06 at 11.04.45 AM.png
    Screen Shot 2020-05-06 at 11.04.45 AM.png
    536.6 KB · Views: 1,693
  • tools and extras.zip
    61.1 KB · Views: 117
  • EFI.zip
    3.8 MB · Views: 134
  • SSDT-EC.aml
    196 bytes · Views: 65
  • aldaro-EFI-OC-060.zip
    2.7 MB · Views: 18
  • EFI-0.6.1-r2.zip
    2.7 MB · Views: 69
  • EFI-r5122.zip
    4.1 MB · Views: 33
Last edited:
Joined
Apr 30, 2020
Messages
16
Motherboard
Asus Prime Z370-A
CPU
i7 9700K
Graphics
Sapphire RX 5700 XT Pulse
Mobile Phone
  1. iOS
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
100
Motherboard
Asus prime Z370-A MK-ii
CPU
i5-9600K
Graphics
RX 580
Mac
  1. MacBook Pro
  2. 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
16
Motherboard
Asus Prime Z370-A
CPU
i7 9700K
Graphics
Sapphire RX 5700 XT Pulse
Mobile Phone
  1. iOS
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
100
Motherboard
Asus prime Z370-A MK-ii
CPU
i5-9600K
Graphics
RX 580
Mac
  1. MacBook Pro
  2. 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
16
Motherboard
Asus Prime Z370-A
CPU
i7 9700K
Graphics
Sapphire RX 5700 XT Pulse
Mobile Phone
  1. iOS
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
  1. iMac
  2. MacBook Pro
  3. Mac Pro
Classic Mac
  1. Apple
  2. Plus
Mobile Phone
  1. 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
16
Motherboard
Asus Prime Z370-A
CPU
i7 9700K
Graphics
Sapphire RX 5700 XT Pulse
Mobile Phone
  1. iOS
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
  1. iMac
  2. MacBook Pro
  3. Mac Pro
Classic Mac
  1. Apple
  2. Plus
Mobile Phone
  1. 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
  1. iMac
  2. MacBook Pro
  3. Mac Pro
Classic Mac
  1. Apple
  2. Plus
Mobile Phone
  1. 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