What kexts do you need?
What is absolutely required?
VirtualSMC.kext (Or FakeSMC.kext) is as aforementioned essential. This kext is what tells macOS "Yes this is a real Mac", emulating the functionality of the SMC on real Mac's. Without it, no Hackintosh.
NullCPUPowerManagement.kext - This kext disables CPU Power Management, as that is not supported on AMD chips.
Where can I find these kexts?
All the kexts shown here are available for download on the kext repoprovided and maintained by Goldfish64. All these kexts are automagically built when a new kext update is commited.
- IntelMausiEthernet.kext - this works with most newer Intel LAN chipsets
- AppleIntelE1000e.kext - this works with older Intel LAN chipsets - but can cause KPs on newer chipsets
- AtherosE2200Ethernet.kext - this works for most Atheros or Killer networking chipsets
- RealtekRTL8111.kext - this works with most gigabit Realtek LAN chipsets
- RealtekRTL8100.kext - for 10/100 Realtek LAN chipsets
- SmallTree-Intel-211-AT-PCIe-GBE.kext - for Intel I211-AT and related chipsets
- Whatevergreen.kext - this kext fixes a lot of GPU related issues.
- Lilu.kext - this kext acts as a loader for other kexts. More specifically it can patch kexts, processes and libraries.
(I myself don't use bluetooth nor WiFi so I don't have knowledge in that, but here is some information on the subject by CorpNewt. Check Credits for more info)
Apple is pretty minimal with their WiFi support, so I'll only cover the two main chipsets I'm familiar with. I've used a BCM94360CD + PCIe adapter, and BCM94352HMB/BCM94352Z in my Hackintoshes. The BCM94360CD worked OOB with no extras as it's a native card. For the BCM94352 flavors, I've been using
and the companion
for WiFi setup and
(on 10.13.6+) or
- all of the Brcm* kexts are from RehabMan's
- AppleALC.kext - this kext supports most of the commonly used codecs, with the best quality.
Depending on what hardware you have in your machine you might need some other kexts. This list is more to be used to give you a general idea, you will probably have to do some google-fu.
The safest way is to inject these into the system using Clover.
CLOVER -> EFI -> CLOVER -> kext -> Other