Skip to content

Latest commit

 

History

History
236 lines (181 loc) · 13.5 KB

File metadata and controls

236 lines (181 loc) · 13.5 KB

Banner

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.

Contents

  1. Intro
  2. BIOS settings
  3. Installing Clover
  4. Kexts
  5. config.plist
  6. USB
  7. WiFi and Bluetooth
  8. Miscellaneous
  9. Feedback
  10. Febuary 2020 update

Intro

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.

BIOS settings

I need to add more here but:

  1. Launch CSM: Enabled seems to be necessary to get output from an Nvidia GTX 1080 graphics card; otherwise, Launch CSM: Disabled works
  2. BIOS version 2012 problem/solution by Satanichia on tonymacx86.com i.e. set System Time and Alarm Source to Legacy RTC

Installing Clover

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.

Clover installation options should look like: Clover installation options

With more recent (e.g. v2.5k r5033) versions of Clover ApfsDriverLoader, AptioMemoryFix and HFSPlus are in UEFI Drivers->Recommended drivers New Clover installation options 1

amd EmuVariableUefi is in UEFI Drivers->Additional drivers New Clover installation options 2

Kexts

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.

config.plist

The Guide covers the process of creating a config.plist step-by-step from scratch. This is the recommended approach but I have included two sample config.plists at the end of this section.

Tools

There are several ways to mount an EFI partition but in general I use Clover Configurator: Mount EFI in 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

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>

Audio in Clover Configurator

Graphics

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 for Mojave

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 (it appears to work without reconnecting in 10.14.5).

This fix won't work for High Sierra unfortunately although it might be possible to find a different combination of framebuffer-con1-pipe and framebuffer-con1-busid values that would work.

<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:

<key>NvidiaWeb</key>
<true/>

Clover Configurator NvidiaWeb

💡 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>

Clover Configurator has the patch built-in (select it from the drop-down menu): TRIM patch in Clover Configurator

Sample config.plists

As stated earlier, generating your own config.plist is the recommended approach as it will match your requirements and you'll be a step closer to being able to modify settings when the need arises.

If you choose to use a pre-made config.plist (from here or elsewhere), you should at least generate your own SMBIOS information as described in this section of CorpNewt's guide.

(Rename the downloaded file to config.plist.)

Sample connected iGPU config.plist

The first sample config.plist uses an iMac18,1 SMBIOS for a connected iGPU:

imac18,1-config.plist

Sample connector-less iGPU and Nvidia gpu config.plist

The second sample uses an iMac18.3 SMBIOS and sets NvidiaWeb=true for Nvidia web drivers.

iMac18,3-nvidia-config.plist

USB

💡 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:

Asus H370-I GAMING USB ports

Example SSDT-UIAC.dsl

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 /* and */).

IORegistryExplorer USB ports

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

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>

Miscellaneous

My system

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

  • Fix the time discrepancy in Windows by forcing it to use UTC. In regedit, add a new DWORD named 'RealTimeIsUniversal' with a value of '1' to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation. Google for more information

  • An alternative to dual-booting is to run Windows in a virtual machine; VirtualBox, being free, is a good option

Testing

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. Something like a Samsung T5 portable SSD is a good option as well. Carbon Copy Cloner can be used to clone the contents of a drive back-and-forth to the test drive.

Feedback

Questions, comments, suggestions: https://www.reddit.com/r/hackintosh/comments/avdfz7/asus_rog_strix_h370i_gaming_hackintosh_guide/.

Febuary 2020 update

Banner

I have moved to a Dan A4-SFX V4.1 case with a Noctua NH-L9i CPU cooler, 2 x Samsung 970 EVO Plus 500 GB NVMe M.2, Powercolor AMD Radeon RX 5700 XT Red Dragon, a Corsair SF600 Platinum PSU and a Noctua NF-A9x14 case fan.

Still using Clover for now, same drivers and kexts but without WiFi and Bluetooth.

So far I'm using an iMacPro1,1 SMBIOS and have dual monitors with 1 DisplayPort and 1 HDMI port. The config.plist looks something like: iMacPro1,1-config.plist