Post installation steps:
Update Clover regularly.
The installation was done with Clover 4200, and most post-installation steps were done with 4220. I found out that 4220 does not need the Test2-2016.efi driver to fix Clover's memory allocation problems at boot. So at the moment I am using stock Clover (with the apfs.efi driver).
Note that Clover does not install in the ESP of a NVME disk. Instead, it install in the macOS partition. I have to mount the ESP partition and move the EFI folder to it. This happens with 4220 too.
Since I have also a SSD disk and Clover installs there without any issues, I keep disks ESP in sync, so I can boot from any disk. Sometimes this gets Windows a bit confused.
Use the fork of Mieze's Intel Mausi Network Driver by RehabMan. I placed the kext in Clover, and it works fine.
I am using VoodooHDA. I wanted to try Toleda's Audio CloverALC, but I couldn't make it work. VoodooHDA has a few problems (it disables Apple's kext and needs a bit of tune up after each reboot), but at least it works ok. If I can make Toleda's audio work, I'll report it here.
Get VoodooHDA from here. Also get the PreferencePane, so that you can tweak the settings. Install both the kext and the pane and reboot.
After reboot, HDMI should work ok. I got several HDMI outputs, bot only one really works. Sound level can't be setup by macOS, it has to be changed in the monitor.
The audio from the jacks is very noisy. To fix this, you have to go to the VoodooHDA preference pane and tweak it:
1. Select the correct PCI path: the shortest (see screenshot).
2. Now different outputs are available. Select the one you want to change.
3. Move the "Input Gain" slider. I simply move it all the way to the left.
4. Select the PCI path again.
This should remove the noise. It works on my headphones.
Besides this issue, VoodooHDA gives a loud crack when it loads, so it is recommended to boot with speakers off or not wearing headphones. Note that there is no issue with HDMI out, besides not being able to control the volume level with the OS, only with the monitor.
I used VoodooHDA in my two previous hacks (a laptop and a desktop from 2012) and both had similar issues: sound cracks at boot and needing to fiddle with the Voodoo Prefpane at each reboot. There is a Voodoo app that should save/load the prefpane settings at boot, but I never understood how it works. I used it for a while without it doing anything, and then one day it worked and the Voodoo settings were loaded properly at boot. At the moment it hasn't work for me on this system...
Get Intel Power Gadget to be able to check the power and frequency of your CPU. See how it behaves at idle. Ideally it would idle at 1.2GHz using 10W. Probably if you are using my default config, it is oscillating a bit above this value. I got an average of 15W and lots of frequency oscillations.
The trick here is to create a custom SSDT using ssdtprgen and to enable XCPM in Clover.
Download ssprgen from here. Then run it from the terminal with "-x 1" to enable XPCM. Here's my output:
[size=4][font=verdana,geneva,sans-serif]Paulos-iMac:X299 pabreu$ ./ssdtPRGen.sh -x 1
ssdtPRGen.sh v0.9 Copyright (c) 2011-2012 by † RevoGirl
v6.6 Copyright (c) 2013 by † Jeroen
v21.5 Copyright (c) 2013-2017 by Pike R. Alpha
Bugs > https://github.com/Piker-Alpha/ssdtPRGen.sh/issues <
System information: Mac OS X 10.13 (17A365)
Brandstring: "Intel(R) Core(TM) i7-7820X CPU @ 3.60GHz"
Override value: (-x) XCPM mode, now set to: 1!
Version: models.cfg v171 / Skylake.cfg v195
Generating ssdt.dsl for a 'iMac18,3' with board-id [Mac-BE088AF8C5EB4FA2]
Skylake Core i7-7820X processor [0x50654] setup [0x0705]
With a maximum TDP of 140 Watt, as specified by Intel
Number logical CPU's: 16 (Core Frequency: 3600 MHz)
Number of Turbo States: 7 (3700-4300 MHz)
Number of P-States: 36 (800-4300 MHz)
Injected C-States for CP00 (C1,C3,C6,C7,C8,C9,C10)
Injected C-States for CP01 (C1,C2,C3,C6,C7)
Warning: Model identifier (iMac18,3) not found in..: /S*/L*/CoreServices/PlatformSupport.plist
Warning: 'cpu-type' may be set improperly (0x0705 instead of 0x0905)
- Clover users should read https://clover-wiki.zetam.org/Configuration/CPU#cpu_type
Error: board-id [Mac-BE088AF8C5EB4FA2] not supported by Skylake – check SMBIOS data / use the -target option
Do you want to continue (y/n)? y
Warning: 'system-type' may be set improperly (1 instead of 2)
- Clover users should read https://clover-wiki.zetam.org/Configuration/ACPI#acpi_smartups
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20140926-64 [Nov 6 2014]
Copyright (c) 2000 - 2014 Intel Corporation
ASL Input: /Users/pabreu/Library/ssdtPRGen/ssdt.dsl - 469 lines, 14213 bytes, 121 keywords
AML Output: /Users/pabreu/Library/ssdtPRGen/ssdt.aml - 3470 bytes, 52 named objects, 69 executable opcodes
Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 0 Optimizations
Do you want to open ssdt.dsl (y/n)? n
Copy the ssdt.aml file to your Clover installation, to EFI/CLOVER/ACPI/patched.
You should now have the ideal power management.
After installation my system was very unstable. It would randomly reboot without any warning. Sometimes it would reboot at login, other times during normal usage. First I was convinced it was Google Chrome, but then it also occurred with Safari. Then I thought it had something to do with 3D acceleration, because it would reboot when I ran a 3D program in OpenGL I am working on. But I ran Unigine's Valley and Heaven without trouble.
Finally I got a suggestion that the default core voltage in BIOS might not be adequate, and that solved the issue. I set the core voltage to 1.12V with no overclocking and to 1.21V with some mild overclocking, and the system is solid. I am able to run Prime95 for 8 hours with no crashes.
Before adjusting any voltage, I advise you to do some stability tests. Perhaps my problems are related with bad luck in the silicon lottery, and not some specific fault of the motherboard.
Download Prime95 and Geekbench 4, both for Windows and for macOS, and run them both with standard BIOS settings. In my case, Prime95 crashed the system in macOS but ran fine in Windows 10, and Geekbench 4 was the opposite: it ran fine under macOS but crashed under Windows 10. If you find that both programs run fine, perhaps there is no need to set the voltage.
To run these tests, keep Intel Power Gadget running in the background, so you can check the CPU's power consumption, temperature, and frequency.
In Prime95, go to the Options menu and choose "Torture Test". Press OK and let it run for some time. The test goes over some different configurations over a period of several minutes. If after say 15min you have no crashes, then you can stop the test (in the Test menu) and try Geekbench. Geekbench CPU test only lasts a few minutes. If you system passes both tests (10-15 min of Prime95 and the CPU test in Geekbench), then you might consider a full torture test of Prime95. In my case it lasted for about 8 hours (I let it run during the night).
If your system crashes during one of these tests, then consider booting into the UEFI and changing the Core Voltage (under the OC menu). Set it at 1.2, reboot and redo the tests again. Keep lowering the voltage until they fail, and use the last known good voltage to do the full Prime95 torture test.
I was able even to do a very minimal overclocking to 4.4GHz with core voltage at 1.21V. The system is fine.
To be done. Note that USB 2.0 and 3.1 work without any post-installation work. But USB 3.0 (XHCI) need a few steps. I need to rename the XHCI entries in ACPI, then run USBInjectAll, etc, but I just haven't done it yet...
NVIDIA Web drivers:
You should start by installing NVWebDriverLibValFix.kext. This kext is necessary if you have any extra kext installed in /S/L/E. Then macOS will detect this folder as tainted and will not load the NVIDIA drivers from there. The result is boot stuck at "at gIOScreenLockstate 3 I". You can log in remotely, but you have no graphics. Simply place this kext in Clover, reboot, and you can start the NVIDIA drivers installation.
I used the MSI GT 710, which is supported my macOS, to download latest NVIDIA Web Drivers. Then:
- Install the Web drivers. Reboot without making them the default.
- Edit config.plist and activate the NVIDIA Web drivers.
- Use the NVIDIA Preference Pane to use the NVIDIA drivers.
You should now be using the Web drivers instead of the built in. In that case, you can now install the NVIDIA card (in my case, the GTX 1070).
Each time you update the macOS, the Web drivers stop working and you need to download the adequate ones from NVIDIA again. Only update your system when the NVIDIA drivers for the new system are available.