- Oct 13, 2011
- Asus ROG Z270 Maximus IX Hero
- RX 580
- Mobile Phone
ASUS ROG Maximus IX Hero - i7-7700K - 32GB RAM - Intel HD630 > EVGA GTX 1070 SC2 > AMD Sapphire RX580 Pulse
ASUS ROG Maximus IX Hero - i7-7700K - 32GB RAM - Intel HD630 > EVGA GTX 1070 SC2 > AMD Sapphire RX580 Pulse
ASUS ROG MAXIMUS IX HERO LGA1151 DDR4 DP HDMI M.2 USB 3.1 ATX MOTHERBOARD
CORSAIR VENGEANCE LPX DDR4-3200 32GB RAM
INTEL i7-7700K CPU
COOLER MASTER MASTERLIQUID PRO 240
EVGA GEFORCE GTX 1070 SC2 8 GB GDDR5 PCI EXPRESS 3 GRAPHICS CARD
CORSAIR 330R SILENT TITANIUM EDITION CASE
CORSAIR CX750M ATX SEMI-MODULAR 80 PLUS BRONZE PSU
CRUCIAL MX300 1.1TB SSD
HITACHI (HGS) ULTRASTAR 7K6000 4TB SATAIII HDD
ASUS INTERNAL CD/DVD WRITER DRW-24D5MT
DYNAMODE USB 2.0 6-SLOT 3.5 INCH INTERNAL ALL-IN-ONE CARD READER
STARTECH 3.5 TO 5.25 DRIVE BAY ADAPTER
SUBANG 6GBPS SATA III W/ LOCKING LATCH CABLES
NOTE: The Amazon & Newegg listings are not identical (10-pack at Amazon UK). You could use pretty much any SATA cables though - I chose non-right-angle connectors though, and I'm glad I did, as they would have been tricky to fit in some of the drive bays.
Cherry Initial Mac Keyboard
Logitech LS-1 Wired Mouse
Dell UP2716D Monitor
I'd been toying with the idea of building a Hackintosh for about 3 years. If Apple had released a more powerful Mac mini with discreet GPU I may have stuck with them, but at the time of writing (June 2017) no such viable machine has been released, and their Mac Pro offerings were prohibitively expensive and not upgradeable. A new one is on the horizon, but if the new iMac Pro pricing is anything to go by, I think it might also be ridiculously overpriced. So, I took the plunge.
The inspiration for this build was JCMunsonII's superb "Heroica" build - so-named in honor of Stork's "MyHero" build. MyHero uses the 100-series motherboard and a Skylake processor while Heroica the 200-series board and a Kaby Lake processor. Continuing the Hero theme, I've named this build "Long Compton" after the small village in Gloucestershire, England, where my Grandad was born. He was my hero, for many reasons. Rather than use his name for the build, I thought a small nod to the location-feel of the Kaby Lake name was appropriate, too.
I'll directly reference both MyHero and Heroica builds in this guide. There is a wealth of information in both to help you through the install so read them both through before you start. This was my first Hackintosh build, and I won't lie, it's been a steep learning curve, but with the help of JCMunsonII and Stork this build went relatively smoothly. As will most people here, I'd also like to heartily thank RehabMan. His tireless work both on the forums and in building kexts is second-to-none. Thank you. This community is one of the best I've ever come across, but as ever, search is your friend! I apologize to all for cutting and pasting some of your text, but if it ain't broke....
Financial reasons meant that in 2012 I had to sell my MacPro 1,1 and buy a Mac mini (Late 2012 2.5GHz i5, integrated HD4000 Graphics). Since then I've increased the RAM to 16GB, and fitted a dual drive kit, putting a 250GB boot SSD in it, along with a 1TB HDD. I'm a graphic designer, and use InDesign, Photoshop and Illustrator daily. The mini served me well, but was really starting to show its age, particularly with every update of the CC applications, and the OS had become sluggish at best. As intimated above, current Apple hardware options just didn't appeal to me. Building something with up-to-date tech with a powerful GPU was essential for my work. 10.12.6 will include native support for Kaby Lake, so a CPU Fake ID is needed in the meantime, but it made the choice between that and the older Skylake irrelevant. I know I could have gone for a GTX 1080 instead of the 1070 but reading comparisons made me think I wouldn't really feel that much benefit for the extra money.
I went for a standard ATX case as I didn't want the footprint of the Air case that Heroica used. It's a pretty nice case for the money, and without the Cooler Master 240 mounted on the ceiling, I reckon with the noise-insulating foam panels this would probably be a very quiet case. That's the only thing that has disappointed me in the build. Great for keeping it cool, but I'm beginning to think it may have been overkill (for my needs - playing a demanding game would probably make use of it!).
Finally, even though I have my Mac mini setup I could have used with a backup etc. I chose to start completely fresh with a clean install of Sierra 10.12.5 for this build.
This guide doesn't deal with physically building your computer, there are lots of guides out there for that. I'm happy to try and help with anything specific to components of this build though.
The BIOS on this board can be updated via the internet with an Ethernet cable, or you can put the new BIOS file on a USB stick and 'live' install it from the BIOS itself (Tool > ASUS EZ Flash 3 Utility). This is exactly what I did and it worked perfectly - definitely worth updating the BIOS first, and there are further instructions in the motherboard manual.
Once updated, in the BIOS I confirmed the following settings:
- Ai Overclock Tuner > XMP
- Xtreme Tweaking > Enabled
- System Agent (SA) Configuration > VT-d > Disabled
- PCH Configuration > IOAPIC 24-119 Entries > Disabled
- APM Configuration > Power on by PCI-E/PCI > Disabled
- USB Configuration > Legacy USB Support > Auto
- USB Configuration > XHCI Hand Off > Enabled
- CPU Configuration > Intel Virtualization Technology > Enabled*
- Fast Boot > Disabled
- Secure Boot > OS Type > Other OS
- Boot Option 1 > USB installer stick (the UEFI choice if there are two entries)
I also attempted to change all of the Q-Fan Control settings to 'Silent'. The interface for this feels clunky, and some fans (such as CPU fan) didn't seem to be able to have that setting applied. I'd suggest fiddling with them and seeing what works for you!
Finally, Exit > Save Changes
You will need the following software to install and configure macOS:
- XCode, PList Editor Pro, TextWrangler etc. for editing. TextEdit is a bad idea!
- Clover Configurator
- IO Registry Explorer
I followed the tonymacx86 guide to setup the installer USB stick, install Sierra, and run MultiBeast, and it went flawlessly. BUT, there are a few things you need to do along the way so follow each step one at a time, referring to this guide or others between steps.
When you've booted from the USB stick press the right arrow key to get to the Options menu.
- Under the SMBIOS menu, change both the Product Name and Board Version to read iMac14,2.
- Until native Kaby Lake support arrives (hopefully with th 10.12.6 update), in the Binaries Patching menu you'll need to edit the Fake CPUID field to read 0x0506E3 (the Skylake CPU ID). Again, once native support arrives you can delete this.
In UniBeast, choose the UEFI option. This will install the required kexts, most notably the Intel graphics option.
The following are mostly direct copies of Stork's MyHero, but with a few edits that were relevant for this build:
Choose Boot Mac OS X from USB.
Follow the previously linked tonymacx86 guide for install. However, note the following:
If you have a current nVidia graphics card, or want to install one, Boot with the flag "nv_disable=1" until you have installed the nVidia web drivers and made other necessary config changes (detailed later).
When the installer is finished, it will reboot; at the Clover boot screen, double click on the Sierra installation drive (again, changing the two settings mentioned above). Upon booting into the Desktop, the process will ask you to log into iCloud, do not log in - skip it - as it messes up iMessages (there are separate guides available for getting iCloud and iMessages, etc., working properly).
- Copy MultiBeast from the USB stick to your Applications folder, run MultiBeast and selection the following:
- Quick Start > UEFI Boot Mode
- Drivers > Network > Intel > IntelMausiEthernet
- Drivers > USB > Increase Max Port Limit (and adds RehabMan's USBInjectAll.kext)
- (Optional) Bootloaders -> Clover v2.4k r4063 UEFI Boot Mode + Emulated NVRAM
- (Optional) Customize -> Graphics Configuration -> NVIDIA Web Drivers Boot Flag <--- Required if you're going to be installing a GeForce Pascal card
- Build <--- To see your full configuration
- Save <--- Save your MultiBeast configuration file somewhere convenient
- Click on the Install button in the MultiBeast window bottom right hand corner and wait for MultiBeast to finish.
Important: MultiBeast v9.1.0's FakeSMC Plugins' FakeSMC_GPUSensors.kext has not been updated to support Pascal graphics cards. To prevent Kernel Panics and Reboot do this step. We'll be installing different versions of these in the Power Management section later anyway.
1) Open the installation drive's /Library/Extensions/ folder
2) Find and trash the FakeSMC_GPUSensors.kext
3) Delete the Trash
If you have a current Nvidia graphics card, or are installing one, copy the Nvidia Web Driver package from the USB stick onto your Desktop, unzip it, and install the driver now. Click on the Restart button in the Nvidia Web Driver window or reboot the computer if you didn't install the Nvidia drivers.
Reboot into the BIOS. Change your Boot Option 1 to be the newly installed Sierra drive. Exit and save changes.
Not forgetting the two bootloader changes from earlier on, boot to your Desktop.
Now install and run Clover Configurator
Make sure you Mount the EFI for your boot drive (choose Mount EFI from the panel on the left - it will tell you which is the current boot drive), click on Home, and then click on the top left config.plist of the options available to start editing it.
Set the FakeCPUID value (in Kernel and Kext patches) and the SMBIOS information so you don't have to continually do so at boot time.
Close Clover Configurator.
Fixing On-board Graphics (see the Heroica build guide)
You don't HAVE to do this part if you're installing your Nvidia card straight off the bat. However, I did all of this first before I installed my 1070. The main reason was so that I could ensure it was all working as it should be before introducing the GPU to the equation. Some of the changes you make will be superseded by those you make when you install your GPU, but a few are worth doing anyway as if you ever need to use the on-board graphics, you'll be glad you did. I'd recommend you install the following:
Installing your GPU
We installed NVidia Web Drivers earlier on, so that part is done.
In Clover Configurator, add this change to the ACPI section:
Change PEGP to GFX0 Find 50454750 Replace 47465830
Still in Clover Configurator:
- Tick System Parameters > NvidiaWeb
- Untick Graphics > Inject Intel (if you did it as part of the on-board graphics fix)
- Remove ACPI > Rename GFX0 to IGPU (if you did it as part of the on-board graphics fix)
- Remove ACPI > Rename HECI to IMEI (if you did it as part of the on-board graphics fix)
- Graphics > ig-platform-id > remove entered value (if you did it as part of the on-board graphics fix)
These kexts should be installed, and the Fake ones removed.
Reboot to the BIOS. Go to: System Agent (SA) Configuration > Graphics Configuration > Primary Display > and set to PEG.
You may need to enter the VoodooHDA Preferences Pane and reconfigure your audio settings.
Fixing Power Management
This guide is what you need to follow.
My system, like Heroica, would not stay shutdown, and had persistent sleep issues. These are not fully resolved, but these seem to have helped:
Fixes a wake issue:
sudo pmset -a autopoweroff 0
Clover Configurator > ACPI > SlpSmiAtWake - could help with sleep issues
Clover Configurator > ACPI > Halt Enabler - could help with sleep issues
Clover Configurator > Boot > Darkwake=8 - could help with sleep issues
Fixing USB Ports
This guide is what you need to follow. It takes time, and a bit of head-scratching, but you'll get there! You'll need to use IO Registry Explorer (that's a downloadable option from your Developer Account once you have XCode installed).
Once you've generated and installed your SSDT for the USB ports, install XHCI-200-series-injector.kext which is part of OS-X-USB-Inject-All.
NOTE: On this board, there are two red USB3.1 sockets. I have no idea if they run at 3.1 speeds, or only 3.0, but these are NOT included in the 15-port-limit you're working through above, as they're on a different controller. They showed up as PRT1-PRT4 in IOReg Explorer for me. You can also use the following to enable charging of devices over those two ports:
Change EC0 to EC Find 4543305F Replace 45435F5F
Once you've confirmed everything is working as it should, disable the port limit patch - Clover Configurator > Kernel and Kext patches > AppleUSBXHCIPCI patch.
Change SAT0 to SATA
Clover Configurator > ACPI > DSDT Patches:
Comment: Rename SAT0 to SATA Find: 53415430 Replace: 53415441
If you changed the name of your startup volume after installation (as I did, changing from SIERRA to my chosen name) then you will need to change this in Clover Configurator > Boot as well, or the default boot device and timeout settings will not work.
iCloud / iMessage (Messages App) etc.
Before you can use iTunes, iMessage, iCloud, etc., you'll need to set the system IDs. JCMunsonII in his Heroica build highly recommends An iDiot's Guide to iMessage by @P1LGRIM. And now, so do I! In the guide, there is mention of the "SimpleMLB.sh file that you downloaded". It took me the longest time to realise that at the very bottom of post number 1 in the guide, that file is linked to along with some other software. Any others that I found online didn't work, so be sure to download that one. Also, be advised, Apple may lock your account (possibly due to new overzealous security) and I had to unlock it with another device, and change both my AppleID and iCloud passwords.
One of the things that I know a lot of people hate, but I actually like, is having the Apple Startup Chime. This is usually a Post indicator, but that's not possible (at the moment) with Clover. There's a really simple hack to get it to play just before the login screen though, and I think it works well enough. The method (and plist file) originally came from @oculto in this post.
A complete set of startup chimes from the ages of Mac can be found here.
My favorite isn't actually the most recent one, it's the one from the PowerMac 7300 era, and appropriate for this build since it’s 20 years from release of that Mac. Every copy of that chime I found online seemed to be the same one which had clicking and clipping issues due to high gain. I cleaned up the one from the link above, removing clipping and lowering the volume a little. Renamed that to Chime.aiff, created the plist file, and then followed the instructions:
- Copy the Chime.aiff file to /System/Library/Sounds/
- In Terminal: sudo chown root:wheel /System/Library/Sounds/Chime.aiff
- Copy com.hackintosh.sound.plist to /System/Library/LaunchDaemons/
- In Terminal: sudo chown root:wheel /System/Library/LaunchDaemons/com.hackintosh.sound.plist
To uninstall, just delete the /System/Library/LaunchDaemons/com.hackintosh.sound.plist and the /System/Library/Sounds/Chime.aiff
To test it is working:
In Terminal: launchctl load /System/Library/LaunchDaemons/com.hackintosh.sound.plist
launchctl unload /System/Library/LaunchDaemons/com.hackintosh.sound.plist
Obviously you can make it play any sound you like by renaming it to Chime.aiff (ensuring it's in a format that can be played).
Customize About This Mac screen
I used the instructions from this post to help me change this screen. I created my own image from a pic of the 330R and my Hackintosh Apple logo emblazoned on it!
There is an Install Manager you can use, but I decided from the outset that I wanted as few 'applications' as I could get away with when tweaking the system, so I instead followed this guide and downloaded themes fromhere..
Almost everything...so far!
- Dynamode Multi Card Reader worked with no driver installation required at all. One thing to note though is that it uses two USB ports (connected to one USB2 header on the motherboard) as it has a front facing USB2 socket too.
- CD/DVD ReWriter required no drivers. Haven't tried burning with it yet, but it read and played a DVD just fine.
- Dual/Triple monitors - see below for boot problem, though (fixed 06/06/18).
What Doesn't Work
- Sleep is
flakybetter with the settings I settled on. Various things seem to be waking it up, although I'm not getting Wake Reasons in the logs, so I'm not sure if they're hardware or software related at the moment.One thing that seems guaranteed to stop it sleeping though is having a client connected to it for File Sharing (so if, for example, I've connected to it over smb with my mini, it won't sleep. Eject the share and it does.).
- As mentioned in the guide, I don't have any USB3.1/Thunderbolt devices to test it, but I believe the USB3.1 ports only run at 3.0 speed. iBooks will not be able to authorize your computer, apparently something to do with the NVidia Web Drivers.
- Dual/Triple monitors - they work,
BUT: My setup has three screens. Two connected via Display Port (one uses a DVI-DP cable, with the DVI on the monitor side), one with DVI. The two DP connections have to be in particular ports on the 1070 to work together at boot, otherwise it will black screen shortly after the Apple logo appears. If the DVI input of the 1070 is occupied by the third monitor at boot, black screen again. Introduce that once it's booted and it's fine.Swapping the DVI > DVI cable for a DVI (out) > DP (in) so that all monitors are connected via DP means they all work fine for the whole boot to desktop process.
After an initial feeling of 'what have I just spent all this money on?!', mainly related to it not shutting down and the sleep issues, I quickly got over it when I ran Geekbench. I'm really pleased I did it, and comparing specs/performance to what I could have bought from Apple, there's no contest. I've not used it in a production capacity yet, so time will tell, but I'm feeling pretty positive. The build itself went really smoothly thanks to @Stork, @JCMunsonII and @RehabMan and it's given me the confidence to do more in the future without a doubt. In fact, I have a Gigabyte BRIX sitting here doing nothing!
Once again, my thanks to JCMunsonII, Stork, RehabMan, others who made their work available for all of us, and of course @tonymacx86.
Here's a CPU benchmark result for you. Unfortunately, due to a known bug in Geekbench, I couldn't test the 1070 on the Mac. Once I've installed Windows on another drive I might see what it rates at in there.
When I first installed the CoolerMaster 240 I plugged the pump in to the AIO_PUMP header, and the radiator fans into the W_PUMP+ header – the motherboard manual is a bit scant on information about these ports. However, with the CPU Fan header empty I got a BIOS warning and told to set the Lower Limit to 'Ignore'. I did, but still couldn't get past that warning screen. I even tried disabling CPU Fan entirely in the BIOS - same problem, so ended up plugging the pump into the CPU Fan port. This, it turns out, was wrong.
With further research I discovered that on this motherboard, both the AIO_PUMP and W_PUMP+ headers are set to default to a constant max. duty cycle of 100%. This explained why the dual radiator fans of the CM240 were running at full pelt all of the time! I’d completely missed the Q-Fan Configuration setting in Monitor in the BIOS, instead always electing to press F6 to get to the Q-Fan Control screen. As per the Heroica build, this is where you can set ‘Silent’ as your profile, which is all well and good for the Chassis Fans, but did nothing for others.
So, I left the pump connected to AIO_PUMP, but put the radiator fans in CPU Fan.
Then, BIOS settings should be confirmed for CPU Fan, and changed to allow the AIO_PUMP to be controlled via PWM:
Monitor > Q-Fan Configuration
CPU Q-Fan Control > PWM Mode
CPU Fan Step Up > 0
CPU Fan Step Down > 0
CPU Fan Speed Lower Limit > 200 RPM
CPU Fan Profile > Silent
AIO_PUMP/W_PUMP+ Control > Auto
AIO_PUMP/W_PUMP+ Upper Temperature > 70
AIO_PUMP/W_PUMP+ Max. Duty Cycle (%) > 100
AIO_PUMP/W_PUMP+ Middle Temperature > 45
AIO_PUMP/W_PUMP+ Max. Duty Cycle (%) > 100
AIO_PUMP/W_PUMP+ Lower Temperature > 40
AIO_PUMP/W_PUMP+ Max. Duty Cycle (%) > 100
You can change the above settings to whatever values you like. And I might trial an alternative if I feel they're still ramping up a bit too much.
There's debate as to whether it's better to have your pump (not fans) running at 100% all of the time or not. With the settings above, it's not. But I think for me, at the moment, a quiet machine beats any longevity arguments. Effectiveness is another matter, which is why I'll be monitoring temps carefully over the next few days.
In any case, with those Auto settings enabled, my fans are idling at approximately:
Mainboard Fan 1 - 1500 RPM
Mainboard Fan 2 - 800 RPM
Mainboard Fan 3 - 1000 RPM
and it’s barely audible. I’m much happier now.
Thanks again to JC for steering me in a different direction of thought on how to tackle this!
Updated the iCloud/iMessage section of the guide to reflect successful implementation of P1LGRIM's excellent guide.
Removed unnecessary installs of FakePCIID.kext and FakePCIID_Intel_HD_Graphics.kext as they were not relevant to the HD630 iGPU in this build. Thanks to @pastrychef for the catch on that one.
Also added initial findings on dual/triple monitors.
Important: There is apparently a problem with Hyperthreading that could cause data corruption or loss. It's difficult to know which applications could trigger the code that causes problems, so to be on the safe side if you're running BIOS 0906 or earlier, it might be wise to turn Hyperthreading off. Updated BIOS code fixed this problem.
Added Unigine Heaven benchmark results.
This JUSTOP WiFi/BT card didn't appear to work. It uses an Apple BCM943602CS module. The card is seen OK, and details in IOReg look correct, but it refused to connect to any of my WiFi networks. I tried b, g and n, with/without security, and nothing. Bluetooth was also similarly recognised, but AirDrop didn't work. I may have had a duff card, but I've sent it back and have a Fenvi FV-T919 on back-order. Will update again once that arrives.
Fitted the NZXT IUSBH Internal USB2 Hub and then the Fenvi FV-T919 card - WiFi and Bluetooth working perfectly. Tested AirDrop and that worked first time, too - better than my Mac mini, in fact!
Did a full system backup, and saved a copy of my config.plist in preparation for 10.12.6 update.
Installed 10.12.6 from Mac App Store without changing any settings.
As soon as the system came back up I installed Nvidia Web Driver (Sierra) 378.05.05.25f01.
As per this post I installed a kext to allow these drivers to be installed into protected space without violating security.
To enable ‘official’ OS support for Kaby Lake Intel Graphics hardware, I ran Multibeast and chose:
Customize/Graphics/Intel HD 6xx (Intel Graphics Fixup will be auto-selected as it is required).
This changes the ig-platform-id to 0x59120000 and IntelGFXID to 0x59128086.
I disabled the Y-Tile fix (Devices ->Add Properties) as I believe this is no longer required with the HD630 being officially supported.
Strangely, even though I can’t have removed it before, there was no FakeCPUID listed in my Kernel and Kext Patches section in config, so removing that was not necessary. No idea why it wasn’t present, and there was no entry in the Clover loader options either.
Audio was borked. Tried creating a patched AppleHDA.kext to no effect. Ended up deleting VoodooHDA, including pref pane etc. then replacing AppleHDA.kext with one from my pre-hackintosh Sierra Mac mini, then installed JUST the VoodooHDA.kext (using KextBeast) - restarted, and I had audio back. I didn’t bother installing the PrefPane again, as I didn’t use it anyway. Audio seems to be working OK for the most part, so I won’t be tinkering with that anymore.
I plan on leaving this Hackintosh running Sierra for a long, long time. I will only update to High Sierra if I absolutely have to. This is my day-to-day production machine, so the least tinkering I do, the better!
Thanks once again to @JCMunsonII as it was his updates that I followed to get to 10.12.6.
Installed Security Update 2017-001, rebooted, installed updated NVidia Web Drivers, rebooted. System seems fine.
I updated the BIOS using the EZFlash online utility through the BIOS itself. It updated to Version 1203 (2018/01/09). I completely forgot that it would erase all custom settings, so had to reapply those from the beginning of this guide. Seems to be working on first boot!
After the BIOS update, my Clover screen resolution was low. Disabling CMS in 'Boot' within the BIOS solved that problem.
I wanted to install the Security Update 2018-001, so following pointers from various people here, I:
Updated kexts: Lilu, Shiki, FakeSMC, NVidiaFixUp, AppleALC.
Deleted kext: NVWebDriverLibValFix (this has been rolled into NVidiaFixUp and may cause kernel panics if left active).
Installed Security Update 2018-001.
Upon restart, the NVidia Web Driver updated without a hitch. I also installed CUDA drivers - not sure why, but I hadn't done that before.
Audio was broken, so I reinstalled VoodooHDA from the easy-install package, rebooted and it's working again. Touch wood, it also appears to have fixed the stuttering audio I was experiencing.
Installed Security Update 2018-002.
Upon restart, updated NVidea Web Drivers, and CUDA drivers.
Installed most up-to-date USBInjectAll.kext in preparation for 18,3 System Definition changeover.
Changed to iMac18,3 in Clover Configurator.
Generated new system IDs as per Idiots Guide to reconfigure iMessage.
Edited dual/triple monitor information above.
I was finally forced to upgrade my OS from Sierra (10.12) as Adobe CC updates required High Sierra (10.13) or above, and as I'm still using an NVidia 1070 GPU I couldn't go higher. I did two full backups and confirmed they booted from USB before proceeding. I decided to initially upgrade without updating Clover Bootloader (I was on 4093), but I did update Clover Configurator to the latest version (18.104.22.168) before beginning.
In true 'I forgot one small detail' fashion, in my prep I'd neglected to copy apfs.efi to my EFI partition before beginning. The install went fine, until the second reboot when of course Clover didn't see the main OS drive. Some head-scratching later and then I realised my mistake. Booted to Windows 10, accessed the EFI partition and copy apfs.efi over. Rebooting to Clover brought the OS drive back as a boot choice. Startup proceeded without further issues.
Then I needed to update my NVidia Web Drivers. I used this script to install them, rebooted and graphics were working properly again.
The change to APFS also presented me with FileVault and Preboot drive choices, so having never bothered to remove useless drive entries in Clover before, I chose to hide legacy boot choices in Clover Configurator, and also manually added Preboot and Recovery to the hidden items in CC. Rebooted to confirm, and was only left with Mac OS and Windows.
As most stuff was working (excluding sound, more on that later), I did one new backup, then moved on to update Clover Bootloader to the latest available (Clover UEFI Boot Mode v2.5k r5102). I used this guide as a basis for which files were prerequisites to have before the update, but rather than deleting as per that guide, I elected to download the installer package, run that, and let it auto-update and move drivers. Rebooted, and all seemed well, so manually removed the old drivers64UEFI folder and rebooted again with no errors. Subsequently noted that not all USB devices were working. Confirmed custom SSDT was still in place, then used MultiBeast to install USBInjectAll.kext again. Rebooted, devices back up and running.
Also noticed that there was some verbose text before Clover Bootloader appeared, and reading-up suggest I could either use a patched 'no-early-logging' apfs.efi, or ApfsDriverLoader.efi (part of AppleSupportPkg) to hide that. I went for the latter option, installing that, and removing the original apfs.efi.
Installed the latest CUDA drivers, a working version having not been available for Sierra for some time so I'd removed it previously.
Sound was borked, and had always only ever been bodged together with a crude mess of VoodooHDA and sticking plasters. I decided to finally remove it, and using (once again!) the brilliant guide by @JCMunsonII on his build, which in turn pointed to this post, I ensured config.plist/Devices/Audio/Inject was set to an integer value of 1 and moved a stock AppleHDA kext into place.
I used MultiBeast to install the AppleALC driver and 100/200/300 Series Audio Support. Rebooted, and sound working as it should.
Another thing I noted was that my previous Chime sound at startup was failing to play until the desktop had loaded (rather than before the login screen as had happened previously), and it was cutting out early. I removed the LaunchDaemon for that as I saw an alternative method was now present in Clover Configurator using the AudioDXE driver to enable sounds at startup. Installed that, then downloaded AudioPkg from this resource. I had to run the macbuild.tool, then from the resulting Binaries folder, put BootChimeDxe.efi in EFI/Clover/drivers/UEFI/ and BootChimeCfg.efi in EFI/Clover/tools.
The config options are present in Clover Bootloader including an output device choice and volume setting, and the chime does indeed play after the Mac OS drive is selected to boot from. However, for me it output at ear-splitting volume, and the volume setting seems to have no effect. I'll have to investigate some more, but in the meantime just removed the BootChimeDxe.efi to avoid deafening the whole house.
Installed Security Update 2020-001. Rebooted three times and Nvidia graphics were not working again, despite the NVidia Control Panel telling me I was using the latest drivers (322.214.171.124.40.134). I ran the previously mentioned script again and it said I needed to patch my driver, which I allowed. Rebooted, and still wasn't working, so downloaded the normal installer package from the tonymac downloads area, installed, rebooted, graphics fine again.
Once I was happy that things were working, I was going to do my 'base' backup - it's one I make when I do an upgrade like this, so that I have something to reliably go back to if something breaks hideously. As usual, I went to Disk Utility to check the disk first. It threw up this error:
** Checking volume.
** Checking the container superblock.
** Checking the EFI jumpstart record.
** Checking the space manager.
** Checking the object map.
** Checking the APFS volume superblock.
** Checking the object map.
** Checking the fsroot tree.
error: drec_val object (oid 0x2): invalid type (0)
fsroot tree is invalid.
** The volume /dev/disk4s1 could not be verified completely.
There's not that much information on the interwebs about this issue, other than it affects real Macs as well as Hacks, and seems like something that is a corruption in the APFS container that nobody has really figured out how to fix. Most 'solutions' are to erase the disk and start again.
And for completeness, I tried booting from my backup and running first aid that way, same issue. I deleted all local snapshots before running first aid again, same problem. I tried swapping ApfsDriverLoader.efi back to the original apfs.efi I used when I installed 10.13.6 and had the same issue.
I don't think it's the same kind of spurious error that Disk Utility would sometimes give in the days of Permissions fixing, and there are multiple reports of systems falling over without much warning that could or could not be related to this. I'm not willing to take the risk, so booted into my backup on external SSD, used Terminal to delete the APFS containers and thus force-format to HFS+. Used Carbon Copy Cloner to clone my backup onto the internal SSD, removed apfs.efi, and rebooted. System is running fine, and to be honest I'm happy to be back on HFS+.
With the advent of Big Sur on the horizon, and support for High Sierra almost certainly ending at the same time, I bit the bullet and bought a GPU supported by later OS versions. I went for the Sapphire-made AMD RX580 Pulse. No, it's not as powerful as the 1070 it is replacing, but it's plenty powerful enough for my needs, and at the time of writing was only £150, so not too much to spend out. It means I can get a few more years out of this Hackintosh.
AMD GPU: Did two full backups and tested them. Removed the 1070, and installed the RX850. Booted fine, and worked out-of-the-box. Removed NVidia injections in Clover. Updated to the latest Clover and Configurator, and updated Lilu and Whatevergreen. Put ApfsDriverLoader.efi in my Drivers/UEFI folder, downloaded and installed 10.14 Mojave. Installation went fine.
Audio: Then to fix my broken audio (after HS upgrade front-panel audio stopped working). Removed all AppleALC kexts from all locations. Rebooted. Installed latest AppleALC to L/E and added alcid=1 to Boot Arguments in Clover. Front-panel audio working fine after a reboot. Green line-out is seen as Internal Speaker in macOS, but I'm guessing that's because I'm using 18,3 as SMBIOS.
USB: Changed USB port configuration SSDT and updated USBInjectAll.kext while I was at it, removing two USB2 sockets I didn't use and adding in a USB3 that I'd removed previously. All ports tested and working, so I removed the 200 series patch from my config.plist.
WiFi / Bluetooth: Added back internal USB hub to USB2 header on motherboard. The Fenvi card had stopped connecting to WiFi networks previously, and AirDrop had also stopped working. Since I use wired ethernet I'd just got a BT USB dongle and emergency USB WiFi dongle rather than fixing the issue. Thought I'd try it again now and hey presto, all working, WiFi connects, BT, and AirDrop work fine. Also on that internal hub is the front-panel card reader I added.
Startup chime: Re-implemented startup sound once my audio was fixed and it solved the volume issue, so I now have my classic Mac chime again
Finder previews / hardware GPU acceleration: Had an issue with Finder not previewing graphics files. A quick search led me to the fact that it wasn't reading iGPU settings correctly. I forgot that I'd previously disabled the iGPU in the BIOS, so re-enabled that by going to Advanced > System Agent (SA) Configuration > Graphics Configuration > iGPU Multi-monitor > Enable. NOTE: If you need to do the same, the BIOS will then automatically select the iGPU as your default display - ensure this is changed back to PEG to use your discreet card.
Rebooted, confirmed display worked, but Finder preview still didn't. Checked headless mode was set correctly in Clover Configurator with the ig-platform-id of 0x59120003. Then noticed that in devices I still had an entry for Fake ID for IntelGFX. This is a hangover from the initial build when Kaby Lake wasn't supported and I had to fake Coffee Lake. Removed this entry, rebooted, previews working fine, and VideoProc showing hardware acceleration enabled. Also confirmed framebuffer was picked up correctly in Hackintool.