- Nov 28, 2011
- ASUS Prime H370M-PLUS
- RX 570
- Mobile Phone
BlueRidgeDog's Asus Prime H370M-PLUS Build
UPDATE: Now running Mojave with a Sapphire Nitro+ 570. Note on upgrade are at the end.
Asus H370-PLUS/CSM (Amazon)
Corsair Vengeance LPX 16GB (2x8GB) DDR4 DRAM 3000MHz C15 Desktop Memory (Amazon)
Intel i5-8600 Desktop Processor 6 Core up to 4.3GHz Turbo LGA1151 300 Series (Amazon)
(I don't overclock and saved a bit avoiding the "K")
Noctua NH-L12S 70mm Low-Profile CPU Cooler with Quiet 120mm PWM Fan (Amazon)
100 degrees F as I write this. Hit 136 on Geek Bench
LG 27UD58-B 27-Inch 4K UHD IPS Monitor (Amazon)
Just stunning for the price.
Ancient but trusty Lian Li case, alas I can't find a link to it as I have had it for over 15 years
Seasonic PSU (Amazon)
Crucial SSD's 500g (Amazon) and 1T (Amazon)
A pile of hard drives
For reasons of size and having two M.2 slots, I went with the Asus H370-PLUS/CSM (Amazon). I did this despite the board having little in the way of "it was easy" reviews. Though I don't need the mATX form factor, I am building a duplicate for a friend that needs to transport it to and from his observatory, so size was an issue and two M2s were needed as he needs to boot into macOS and Windows.
I love the board, but, boy it was a chore.
Use "Delete" to enter you UEFI setup.
- Load Optimized Defaults
- Disable VT-d
- Disable Secure Boot Mode
- Set OS TypeOther
- Turn off internal Serial port
- Turn off Network stack for boot
- Set XHCI Handoff to Enabled
- Enable HD Audo
- Don't enable decode over 4G
- Set dGPU as priority for boot
- Set internal GPU to enable
- Set DMVT pre-alloc to 64MB
- Set USB legacy to enabled
- Activate XMP profile 1 f your Ram has it
- Set ERP to enable
A normal attempt at an install here will fail out of the gate as there will be no USB when booted on your install USB, so a slight variation is in order.
Make your install USB per the standard UniBeast instructions, but after the USB drive is made:
- Mount the EFI partition on the USB drive
- Navigate to /EFI/CLOVER/drivers64UEFI/ and delete AptioMemoryFix-64.efi
- Replace it with OsxAptioFix3Drv-64.efi (all kexts and drivers used are included in a zip file attached to this post, but you are encouraged to search for and download the latest version).
- Add USBInjectAll.kext to /EFI/CLOVER/kexts/Other.
Put the kexts and files attached to this post on the USB. Also add a copy of KextBeast, MultiBeast for High Sierra and the latest Clover installer package along with Clover Configurator.
Boot on the USB and use Disk Utility to erase your target drive, making a new partition named High Sierra with a GUID partition table. Close Disk Utility and launch the High Sierra installer.
It "may" freeze with two minutes to remaining, this is due to the inability of the system to restart. Let it finish, then power off the system manually and then restart. When clover returns, select the Install option on the HighSierra disk.
When it finishes, it may freeze again trying to restart. Let if finish then restart manually. This time boot off of the USB to get a clover boot loader, but select macOS on High Sierra as the boot.
Your first boot will be a bit rough, but you should have USB. At this point you need a boot loader on your hard drive, but MultiBeast's Clover is a bit dated and will cause issues. Instead, open the clover install package on your USB and select the following options (in Clover 4769):
Change install location to High Sierra
Select the following:
- Clover for UEFI booting only
- Install Clover in the ESP
- Install RC Scripts on target volume
- UEFI Drivers:
Place USBInjectAll.kext, AppleALC.kext, FakeSMC.kext, IntelMausiEthernet.kext, Lilu.kext, USBInjectAll.kext and WhateverGreen.kext on your desktop and use KextBeast to install them to /Library/Extensions/ folder. You can also add the FakeSMC_* sensors kexts I have included as I use them for monitoring.
Once finished, use Clover Configurator to mount your EFI.
When EFI is mounted, open your config.plist. Much of what follows are defaults, but verify.
ACPI: leave the default patches. Check AddDTGP, FixPIC, FixUSB, FixSBUS, FixLAN, FixShutdown, FixDisplay, FixHDA, FixDarwin7, FixADP1, FixRegions, FixRTC, DeleteUnused, FixTMR, AddPNLF, FixS3D, FixACST, FixWAK. Leave drop tables as default. Check Generate PStates and Generate CStates, add "SSDT-UIAC.aml" to "SortedOrder" (a file we will get to in a bit). All of these were the default on my Clover install.
Boot: I select Verbose
Boot Graphics: No Change
CPU: No Change
Devices: Defaults work, but add "1" under audio inject and check AFGLowPowerState and ResetHDA
Disable Drivers: No change
Gui: Select a theme if you have one you like
Graphics: No change...Nothing should be selected.
Kernel and Kext Patches: No change
Skip Rt Variables for now
SMBIOS: Select a system definition of iMac 18,2 (18,1 if you are trying to make this work for an iGPU). Under serial click "Generate New" until you get tired. Launch a Terminal - and run uuidgen. Copy and paste that into the SmUUID field. Copy the generated Board Serial, and go to the RtVariables screen and paste it into the MLB field. While there Set your ROM field to UseMacAddr0, set the BooterConfig field to 0x28, and the CsrActiveConfig field to 0x3E7. This will disable SIP.
System Parameters: No change
Save the config.plist.
Copy the attached SSDT-UIAC.aml to /EFI/ACPI/patched. This is a file that will hot patch against USBInjectAll.kext to limit the USB ports that are actually in use. It is compiled for the motherboard. You will still need the USBInjectAll.kext in /L/E/. With this you will be under the USB port limit and all ports will work at correct speeds.
Restart the computer and select F8 to bring up the boot selection menu and boot from the High Sierra drive, then when clover loads, boot from macOS on High Sierra.
Go through the normal setup, add and admin user. When you get to the desktop, you should have Internet and can download the NVIDIA web drivers. Select your sound output. At this point I clone the system, then install clover to the clone and copy my EFI files over so I can a "safe" point I can return to in the event that I break something.
Once it became stuck on boot indicating that the boot volume was "hibernated". It should not try to hibernate, but regardless, I set it to not to with:
sudo pmset hibernatemode 0
USB 2 and 3 ports - all ports on the motherboard
Sleep and Shutdown
Restart generally, but is cranky
App store etc
Updates from App Store
In short, everything
What isn't right?
Shutdown and sleep are perfect. "Restart" sometimes cascades into a post boot screen. I avoid it and just use shutdown.
USB is addressed with USBInjectAll.kext and the SSDT-UIAC.aml file. Sound is via the inject setting in the config.plist and AppleALC.kext. Sleep and shutdown are handled via EmuVariableUefi-64 and OsxAptioFix3Drv-64 with the emulated nvram and RCscripts. Ethernet is flawless with IntelMausiEthernet.kext.
Big thanks to Rehabman's work.
I run Mojave on my four real macs, but until there are NVIDIA web drivers, I am sticking to High Sierra for my Hackintosh. I will upgrade soon I hope.
UPDATE 20181217: I migrated to a Samsung NVMe and developed an issue where the system would crash during sleep, so I added darkwake=10 in Clover.
UPDATE 20181225: I installed a Saphire Nitro+ 570 (same chip as the 580, but clocked less and I certainly don't need the speed for basic work, photography and 3D modeling). It worked as expected in the existing High Sierra build. I upgraded to Mojave without additional changes. Using the Display port on the 570 the upgrade occurred with a black screen. I simply had to wait. HDMI may have given display, but I was familiar with the issue. I also suspect that putting Whatevergreen in Lilu in the clover folder vs /L/E would have enabled display port.
After the upgrade the system worked as normal with the exception of sound. I was no longer to make AppleALC.kext work. I tried all layouts that the chipset supported. I installed the current version of VoodooHDA and sound worked normally. I think I prefer VooDoo as I can specify the port to use, so there is no swapping the audio cable when booting to Windows so my kid can game out.
Since the kiddo was home for Christmas, I went ahead and installed Windows to a dedicated SSD. The install was trivial but the Windows installer changed the bios to secure boot as well as set PCH DMI ASPM to Enabled as well as ASPM to Auto. When I booted in Mojave, it re-wrote its power management settings. I had to correct the bios and sudo rm /Library/Preferences/com.apple.PowerManagement.* then reboot. After this it would sleep and shutdown normally again.