Part

Gathering Files

Drivers

Required Drivers

  • HfsPlusLegacy.efi
    • Needed for our low end systems due to the lack of RDRAND instruction support

Kexts

Required Kexts

  • Lilu.kext
    • A kext almost every other kext depends on

Graphics

  • WhateverGreen.kext
    • Used for graphics patching
    • Due to the nature of our unsupported devices you probably don't need this if your using an iGPU
  • NootedBlue.kext
    • A project to support unsupported iGPUs
    • Only supports Haswell iGPUs on 10.14 and 10.13 for now

Audio

  • AppleALC.kext
    • Patches AppleHDA
    • Chromebooks don't have supported audio so there is no need for this on them
  • VoodooHDA.kext
    • Patches AppleHDA
    • Isn't recommended on macOS 11.3+ due to the requirement of modifying the macOS filesystem
    • Chromebooks don't have supported audio so there is no need for this on them

Internet

Intel WiFi
  • AirportItlwm.kext
    • Adds native wifi support for intel wifi cards
    • Requires macOS 10.13 or newer and requires Apple's Secure Boot to function correctly
  • Itlwm.kext
    • Adds wifi support for intel wifi cards via Heliport
    • Requires macOS 10.12 or newer
Broadcom WiFi
  • AirportBrcmFixup.kext
    • Used for patching non-Apple/non-Fenvi Broadcom cards
    • Requires OS X 10.10 or newer
  • BrcmPatchRAM.kext
    • Used for uploading firmware on Broadcom Bluetooth chipset, required for all non-Apple/non-Fenvi Airport cards
    • To be paired with BrcmFirmwareData.kext
      • BrcmPatchRAM3 for 10.15+
      • BrcmPatchRAM2 for 10.11-10.14
      • BrcmPatchRAM for 10.8-10.10
    • On macOS 10.11 through macOS 11, you also need BrcmBluetoothInjector.kext (included)
Ethernet
  • IntelMausi.kext
    • Required for the majority of Intel NICs
    • Intel's 82578, 82579, I217, I218 and I219 NICs are officially supported
    • Requires OS X 10.9 or newer, 10.6-10.8 users can use IntelSnowMausi.kext instead for older OSes
  • RealtekRTL8111.kext
    • For Realtek's Gigabit Ethernet
    • NOTE: Sometimes the latest version of the kext might not work properly with your Ethernet. If you see this issue, try older versions.
    • Requires OS X 10.8 and up for versions v2.2.0 and below, macOS 10.12 and up for version v2.2.2, macOS 10.14 and up for versions v2.3.0 and up

USB

  • XHCI-unsupported.kext
    • Needed for some non-native USB controllers
    • Common chipsets needing this:
      • H370
      • B360
      • H310
      • Z390 (not needed on 10.14 and newer)
      • X79
      • X99
      • ASRock Intel boards (B460/Z490+ boards do not need it however)

Extras

  • NVMeFix.kext
    • Used for fixing power management and initialization on non-Apple NVMe
    • Requires macOS 10.14 or newer
  • SATA-Unsupported.kext
    • Adds support for a large variety of SATA controllers, mainly relevant for laptops which have issues seeing the SATA drive in macOS. Its recommended to test without this first.
    • Big Sur+ Note: CtlnaAHCIPort.kext will need to be used instead due to numerous controllers being dropped from the binary itself

Chromebook users most likely need this

  • EmeraldSDHC.kext
    • macOS kernel extension for eMMC support. Currently only supports eMMC/MMC cards at up to HS200 speeds. This driver is currently a work in progress and may experience poor performance or be nonfunctional on some devices. SD cards are currently not supported at this time.

Laptop Input

Keyboard

Most laptop keyboards are PS2, you will most likely need one of these!

  • VoodooPS2.kext
    • Works with various PS2 keyboards, mice, and trackpads
    • Requires macOS 10.11 or newer for MT2 (Magic Trackpad 2) functions
  • RehabMan's VoodooPS2.kext
    • For older systems with PS2 keyboards, mice, and trackpads, or when you don't want to use VoodooInput
SMBus Trackpads
  • VoodooSMBus.kext
    • For systems with ELAN SMBus Trackpads
    • Supports macOS 10.14 or newer currently
I2C/USB HID Devices
  • VoodooI2C.kext
    • Attaches to I2C controllers to allow the included plugins to talk to I2C trackpads
    • USB devices using the included plugins still need VoodooI2C
    • Supports macOS 10.11+
    • Does not work on Apollo/Gemini Lake laptops
Misc
  • ECEnabler.kext
    • Fixes reading battery status on many devices (Allows reading EC fields over 8 bits long)

SSDTs

A lot of these link to dortanias guide, things to note:

  • The Chromebook/Chromebox SSDTs are not required they just save power
  • If you can't get your DSDT via SSDTTime use SysReport from the debug build of opencore
Desktops
Platforms CPU EC AWAC NVRAM USB Chromeboxs
Penryn N/A SSDT-EC N/A N/A N/A SSDT-SDXC
SSDT-HDAS-OFF
Lynnfield and Clarkdale N/A SSDT-EC N/A N/A N/A SSDT-SDXC
SSDT-HDAS-OFF
SandyBridge CPU-PM SSDT-EC N/A N/A N/A SSDT-SDXC
SSDT-HDAS-OFF
Ivy Bridge CPU-PM SSDT-EC N/A N/A N/A SSDT-SDXC
SSDT-HDAS-OFF
Haswell SSDT-PLUG SSDT-EC N/A N/A N/A SSDT-SDXC
SSDT-HDAS-OFF
Broadwell SSDT-PLUG SSDT-EC N/A N/A N/A SSDT-SDXC
SSDT-HDAS-OFF
Skylake/Apollo Lake SSDT-PLUG SSDT-EC-USBX N/A N/A N/A SSDT-SDXC
SSDT-HDAS-OFF
Kaby/Gemini Lake SSDT-PLUG SSDT-EC-USBX N/A N/A N/A SSDT-SDXC
SSDT-HDAS-OFF
Coffee Lake SSDT-PLUG SSDT-EC-USBX SSDT-AWAC SSDT-PMC N/A SSDT-SDXC
SSDT-HDAS-OFF
Comet Lake SSDT-PLUG SSDT-EC-USBX SSDT-AWAC N/A SSDT-RHUB SSDT-SDXC
SSDT-HDAS-OFF
Laptops

And that should be all, continue to Setting up config.plist

This post is licensed under CC BY-SA 4.0 by the author.