Asus ROG STRIX H370-I GAMING Hackintosh Guide
This is a guide to installing macOS on ROG STRIX H370-I GAMING mini-ITX H370 motherboard, based on CorpNewt's Hackintosh Vanilla Desktop Guide.
- BIOS settings
- Installing Clover
- WiFi and Bluetooth
CorpNewt's Hackintosh Vanilla Desktop Guide (which I will refer to as The Guide) is just about as clear and easy-to-follow as a guide can be so I wont attempt to duplicate it here. If something is missing here it's probably because it's already covered by The Guide.
There are some configuration settings and files specific to this motherboard (and to a lesser extent to all H370-based motherboards), and that is what I want to cover for the ROG STRIX H370-I GAMING.
I need to add more here but:
Launch CSM: Enabledseems to be necessary to get output from an Nvidia GTX 1080 graphics card; otherwise,
Launch CSM: Disabledworks
- BIOS version 2012 problem/solution by Satanichia on tonymacx86.com
Other chipsets might require just three EFI drivers (assuming you're not using FileVault): AptioMemoryFix, HFSPlus or VBoxHfs-64 and ApfsDriverLoader. H370 also needs EmuVariableUefi-64 in order to have working sleep, restart and shutdown.
💡If your macOS install is freezing/crashing at something like 2 minutes remaining you might not have installed EmuVariableUefi-64.
The required kexts are as described in The Guide i.e. IntelMausiEthernet.kext (and/or RealtekRTL8111.kext for the Realtek LAN port), USBInjectAll.kext, WhateverGreen.kext, AppleALC.kext, Lilu.kext, VirtualSMC.kext and XHCI-unsupported.kext.
I use build_lilu.sh to clone and build the latest Lilu.kext, VirtualSMC.kext, WhateverGreen.kext, AppleALC.kext etc.
The Guide covers the process of creating a config.plist step-by-step from scratch. This is the recommended approach but here is a sample config.plist (iMac18,1 SMBIOS, connected iGPU) as an alternative starting point:
There are several ways to mount an EFI partition but in general I use Clover Configurator: Kexts can be copied into /Volumes/EFI/EFI/CLOVER/kexts/Other using Finder. For config.plist editing I use a text editor e.g. BBEdit (evaluation version), Clover Configurator and a plist editor e.g. Xcode.
Audio is enabled by AppleALC.kext (which is dependent on Lilu.kext) and a layout that works with this motherboard's S1220A codec:
<key>Audio</key> <dict> <key>Inject</key> <integer>7</integer> <key>ResetHDA</key> <true/> </dict>
This is covered by The Guide but:
Connected iGPU (use an iMac18,1 SMBIOS)
<key>PciRoot(0x0)/Pci(0x2,0x0)</key> <dict> <key>AAPL,ig-platform-id</key> <data>BwCbPg==</data> </dict>
Connector-less iGPU (use an iMac18,3 SMBIOS)
<key>PciRoot(0x0)/Pci(0x2,0x0)</key> <dict> <key>AAPL,ig-platform-id</key> <data>AwCSPg==</data> </dict>
iGPU HDMI port fix
I have a dual monitor setup using the DisplayPort and HDMI ports but without these fixes I get no output from the HDMI port, and even with them I have to reconnect the HDMI port after booting.
<key>PciRoot(0x0)/Pci(0x2,0x0)</key> <dict> <key>AAPL,ig-platform-id</key> <data>BwCbPg==</data> <key>disable-external-gpu</key> <data>AQAAAA==</data> <key>framebuffer-con1-enable</key> <data>AQAAAA==</data> <key>framebuffer-con1-type</key> <data>AAgAAA==</data> <key>framebuffer-con1-pipe</key> <data>CAAAAA==</data> <key>framebuffer-con1-busid</key> <data>AgAAAA==</data> <key>framebuffer-con2-enable</key> <data>AQAAAA==</data> <key>framebuffer-con2-index</key> <data>/////w==</data> <key>framebuffer-patch-enable</key> <data>AQAAAA==</data> <key>framebuffer-portcount</key> <data>AgAAAA==</data> <key>framebuffer-pipecount</key> <data>AgAAAA==</data> </dict>
Nvidia GPU (for High Sierra)
Once macOS is intalled you'll need the Nvidia driver version that matches your macOS build number (listed here), the connector-less AAPL,ig-platform-id from above, an iMac18,3 SMBIOS and the following in SystemParameters:
Here's an sample config.plist with those changes (connector-less iGPU, iMac18,3 SMBIOS and NvidiWeb=true)
💡If you accidently update High Sierra to a new build number (a security update for example) before there are Nvidia drivers available, don't panic https://www.reddit.com/r/hackintosh/comments/7sr4vv/nvidia_web_drivers_and_you_a_patching_guide_for/.
TRIM for SSDs
Add the following inside the KernelAndKextPatches/KextsToPatch array (I've included it in the sample files):
<dict> <key>Comment</key> <string>Enable TRIM for SSD</string> <key>Disabled</key> <false/> <key>Find</key> <data>AEFQUExFIFNTRAA=</data> <key>Name</key> <string>com.apple.iokit.IOAHCIBlockStorage</string> <key>Replace</key> <data>AAAAAAAAAAAAAAA=</data> </dict>
💡If you are having problems with USB mouse or keyboard not working during or post macOS installation or other USB issues, you probably haven't tackled the 15-port limit that applies to 10.11 onwards.
I recommend following RehabMan's guide to Creating a Custom SSDT for USBInjectAll.kext. This will limit you to 15 ports (and fewer physical ports because USB 3 ports use two ports, one for USB 3 and one for USB 2). The locations of the USB ports on the Asus ROG STRIX H370-I GAMING motherboard are:
In this example SSDT-UIAC.dsl I have chosen to exclude the internal USB2.0 headers (I don't use them), and port(s) HS05/SS05 (one of the internal-to-front-panel USB 3.1 Gen 1 ports and its USB 2 counterpart), leaving a total of 15 ports. The excluded ports are commented-out (i.e. between
As descibed in RehabMan's guide, SSDT-UIAC.dsl needs to be compiled with MaciASL and the resulting file (SSDT-UIAC.aml) is placed in /Volumes/EFI/EFI/CLOVER/ACPI/patched. USBInjectAll.kext and XHCI-unsupported.kext are still needed.
WiFi and Bluetooth
I replaced the Intel WiFi/BT card with a Broadcom BCM94352Z based DW1560 from Ebay.
For kexts I have AirportBrcmFixup.kext, BrcmFirmwareData.kext and BrcmPatchRAM2.kext. I also added a
brcmfx-country=XX boot argument e.g.
<key>Arguments</key> <string>keepsyms=1 dart=0 debug=0x100 brcmfx-country=UK</string>
CPU: Core i7-8700K | Cooler: Noctua NH-L12S | Motherboard: Asus ROG STRIX H370-I GAMING | Memory: Corsair Vengeance LPX 16GB (2 x 8GB) DDR4-3200 | Storage: 2 x Crucial MX500 500GB 2.5" SSD | Video card: Gigabyte GeForce GTX 1080 8GB Mini ITX | Case: Lazer3D LZ7 | PSU: Corsair SF450W Gold
Dual booting macOS and Windows
It is easiest to install Windows on a seperate drive (as opposed to sharing the same drive), and to disconnect the macOS drive(s) when installing Windows
Clean the drive using the following (during installation)
shift + F10 diskpart list disk (note the disk # e.g. 0) select disk # (e.g. select disk 0) clean exit exit
Allow the Windows installer to create the necessary partitions
Once both operating systems are installed, set the drive with your EFI partition (usually the drive with macOS on it) as the first boot drive in your BIOS settings and use the Clover boot screen to select an operating system
An alternative to dual-booting is to run Windows in a virtual machine; VirtualBox, being free, is a good option
It is a good idea to keep at least one testbed for macOS updates, new versions, new configurations, as a backup etc. Unlike Windows, macOS will happily install to an external drive, and if that drive is a spare SSD in a USB 3.1 Gen 2 enclosure (I have this one https://www.amazon.co.uk/gp/product/B07D2BHVBD), it will be fast. Even a USB 3.0 or 3.1 flash drive will do the job and doesn't cost much. Carbon Copy Cloner can be used to clone the contents of a drive back-and-forth to the test drive.
Questions, comments, suggestions: https://www.reddit.com/r/hackintosh/comments/avdfz7/asus_rog_strix_h370i_gaming_hackintosh_guide/