Motherboard

So with motherboards, the main thing to keep in mind is what controller your system is running, specifically:

  • Audio Interface Controller

  • Networking Interface Controller (Ethernet)

  • USB Controllers

  • NVRAM

  • iGPU

  • RTC vs AWAC

  • Memory Maps and Protections

The main brand to avoid are:

  • MSI(Weird Memory Layout that requires KASLR fix and just really poor ACPI programming, many Z390 systems are unbootable on Clover)

  • AsRock(non-native USB controller, Weird Memory Layout)

  • Gigabyte(Weird Memory Layout, requires KASLR fix)

And main platform to avoid:

  • X79

  • X99

  • X299

  • B360

  • B365

  • H310

  • H370

  • Z390

See below for more info

Audio

With audio and ethernet, most boards are supported and you can find a more extensive list from AppleALC for audio. VoodooHDA is another option for legacy users

Ethernet

For ethernet basically all Gigabit NICs are supported(see below for more info)

For legacy ethernet controllers, you have a couple to choose from(systems with these chips are generally from a time before the Core i series of processors):

Note: Realtek L8200A and RTL8125 are outright unsupported, for a full list see Networking section

USB

For USB, things are fairly simple, most Ryzen/Matisse, Intel and AsMedia controllers work OOB with no other configuartion besides a USB map. For AsRock users with Intel CPUs, you'll need to use XHCI-unsupported.kext(which can be found within Rehabman's USBInjectAll's project. Many H370, B360, H310 and X79/X99/X299 users can also benifit from this

Special AMD Note: Due to how macOS builds USBs, they must be defined somewhere in the ACPI tables. For some reason, many AMD boards just forget to do this and users end up with a lot of broken USB ports. There is a fix but it involves manually adding the ports to the DSDT or SSDT

NVRAM

With NVRAM, things have been mostly fixed for consumer platforms thanks to SSDT-PMC. Mainly relevant for the following:

  • Z390

  • H370

  • B360

  • H310

There are however some boards without supported NVRAm, mainly HEDT and server boards:

  • C612

  • C422

  • X79

  • X99

  • X299(Asus has working NVRAM though)

iGPU

So fun part about Coffeelake is that Intel changed a lot in how the iGPU display out work. Specifically that macOS has no clue how to properly address them. There is a fix but requires manual BusID patches through WhateverGreen. Main victims of this:

  • Z390

  • H370

  • B360

  • H310

RTC vs AWAC

With RTC vs AWAC, macOS ouright won't boot with systems that have their clocks using AWAC and most BIOS GUIs don't even show the option to change it. This is mainly seen in the following:

  • Z390

  • H370

  • B360

  • H310

  • Z370(mainly Gigabyte and AsRock, as they backported the clock. Other boards are fine)

  • X299(mainly ones released with 10th gen CPUs, AsRock and Gigabyte are the 2 main offenders)

So we need to either:

You can find more info here on how to fix it: Getting started with ACPI

Memory Maps and Protections

With this, main users affected:

  • C612 (generally seen in server boards)

  • X79

  • X99

  • X299

  • B360

  • B365

  • H310

  • H370

  • Z390

The issue these platforms face is that many rely on OsxAptioFix2Drv-free2000 which is now concidered destructive to your system meaning build guides based of it are now invalid. More info can be found here. These issues can mostly be aliviated by calculating your slide value: Understanding and fixing "Couldn't allocate runtime area" errors

Oh but to add to the fun, Intel introduced Memory protections which mean a lot of the firmware fixes provided by AptioMemoryFix/Opencore are completly broken. This Memory Protection takes up half of the avaible space for the kernel(2GB out of the 4GB it can use) which makes it very difficult to even find a spot for things to fit. Luckily OpenCore introduced a new quirk called ProtectUefiServices which helps fix much of this