**** NOTE: I’ve switched from Clover to OC and will not be updating/supporting the Clover version. The OC version needs a small bit of cleanup work for the config.plist but runs rock solid and pretty much everything works properly. ****
Almost everything works properly and is very stable:
Inside the EFI/OC folder on your installer open config.plist and edit/populate the following fields:
PlatformInfo -> Generic -> MLB PlatformInfo -> Generic -> ROM PlatformInfo -> Generic -> SystemSerialNumber PlatformInfo -> Generic -> SystemUUID
You can generate the MLB/Serial/UUID serials with GenSMBIOS. Use option 3 and enter iMac17,1 when asked for the type of SMBIOS to create. If you need to change the model in the future you also need to re-generate a new set of serials, UUID and usb portmap.
Put your ethernet mac address in the ROM field without semicolons. Fixing this post-install is also an option, but is important so don’t skip it.
For more information on setting up OpenCore please refer to this very well written guide that has helped realise this very setup.
Please use ProperTree to edit the OpenCore config.
|CPU||Intel(R) Xeon(R) CPU E3-1225 v5 @ 3.30GHz (Quad Core)|
|PSU||Corsair 500W 80 Plus Gold w/ 24-pin to 8-pin adapter|
|Memory||Corsair Vengeance LPX 64GB DDR4-3200MHz non-ECC 16GB x 4 (PN: CMK32GX4M2B3200C16)|
|GPU||Intel HD P530 iGPU|
|MSI RX 570 GAMING X 8GB – slot 1|
|Monitor||LG 27UK650-W 27″ 4K IPS w/ HDR10|
|Display Cable||included LG DP cable|
|Storage||Samsung 830 Series 250GB SSD ()|
|PNY CS900 240GB SSD (Revision CS900J13) x2|
|Toshiba MQ01ABD100 1TB HDD|
|Bluetooth||ASUS USB-BT400 (Firmware: v14 c4096)|
|Wifi||ASUS AC1200 USB-AC53 Nano (using chris111’s drivers)|
|Ethernet||Intel I219LM2 (onboard)|
|USB||Intel 100 Series/C230 Series USB 3.00 xHCI Controller|
|Sound||Realtek ALC899 (Layout ID: 3)|
|Keyboard||Logitech MX Keys (connected using Logitech Unified receiver)|
|Mouse||Logitech M590 (connected using Logitech Unified receiver on a USB extension to prevent lag from RF interference)|
The rest of the recommended settings are already the defaults used by this BIOS. DVMT is 32MB for the iGPU and setup doesn’t expose a means to change this. I modified it via
setup_var and the modified GRUB shell while trying to get an iGPU-only setup working with a 4k display with no luck. Many forum posts say not to try and change DVMT pre-alloc via GRUB; if you break your system don’t be upset as you were warned.
These are MY settings given BIOS version
1.4.1 and board
07T4MC. You need to check these offsets and make sure that they’re correct for your machine before trying to change things.
setup_var 0xAF 0x0
setup_var 0x355 0x1
setup_var 0x350 0x2
setup_var 0x351 0x3
This EFI will not work unless you make all of the UEFI modifications. If you’re not up for that, you’ll need to add
npci=0x2000 to your boot args, enable
AppleIntelCPUPM in your
Sleep is working as it should. It will fall asleep automatically after a while. Waking up the machine can be done with a bluetooth or usb keyboard/mouse. Apple has removed the slider to control this but it does go to sleep on its own. Manual sleep also works, it takes about 30 seconds. Hibernation is disabled by default on desktops. For good measure lets disable stand-by and auto power off.
sudo pmset -a standby 0 sudo pmset -a autopoweroff 0
If you don’t plan on enabling hibernation you can delete the sleepimage to regain some space. Delete the file and create a folder so macOS can’t generate the sleepimage file again.
sudo rm /var/vm/sleepimage sudo mkdir /var/vm/sleepimage
Power Nap is enabled and doesn’t cause any issues with sleep. Not sure if it actually works though (doing Time Machine backups while sleeping, etc). Don’t want Power Nap? Disable it while you’re here;
sudo pmset -a powernap 0
Verify the settings with
CPU power management works fine as does sleep.
[add intel power gadget screenshot]
I created an injector kext using
hackintool which you can use to save some time. One port had to be disabled in order to get down to the 15 port limit; I went with the bottom port on the front panel of the case. You could just as easily set a USB 3.0 port to USB 2.0 to get to 15 ports, too if you prefer.
If you’d like to create your own port mapping follow these steps:
Kernel -> Add -> 6 -> USBPorts.kextto disabled and enable
Kernel -> Quirks -> XhciPortLimit.
Kernel -> Add -> 6 -> USBPorts.kextto enabled and disable
Kernel -> Quirks -> XhciPortLimit.
[add port diagram and hackintool screenshot]
The current config assumes you have an AMD GPU and a Xeon E3-1225v5 with the Intel HD P530 iGPU in headless mode.
If you don’t plan on using the iGPU at all (i.e. no display connected) you can delete the whole
PciRoot(0x0)/Pci(0x2,0x0) section and WhateverGreen should automatically configure it as computing device. It can do video encoding/decoding and such. You will also need to change the BIOS and make the dGPU the primary video card for encoding/decoding to work.
The Intel HD P530 that my Xeon has is 100% supported by macOS but requires a few device properties so it is recognized as a supported Skylake device.
The real device ID
0x191D will not allow hardware acceleration and needs to be adjusted to the nearest natively supported option that shipped in a real Mac.
After comparing the Skylake CPUs which Apple offered to my Xeon on Intel’s Ark I decided that
0x1912 would be the closest device ID.
I setup the framebuffer as follows within the device properties section:
With these settings I had full hardware video acceleration and was able to view DRM-protected content (FairPlay 1.x and FairPlay 2.x/3.x). FairPlay 4.x for Apple TV is not working for me and I’m not sure why yet. I’m guessing it’s because my system doesn’t have a fully supported wifi/bt setup and my USB wifi adapter is seen as an ethernet interface.
It’s best to use a model that matches your processor as closely as possible.
iMac17,1 SMBIOS is recommended for Skylake desktops if you have an iGPU+GPU combo.
iMacPro1,1 SMBIOS should be used if you only have a dGPU. These two options are the only Macs that shipped with Skylake CPUs.