Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/lzhoang2801/OpCore-Simplify/llms.txt

Use this file to discover all available pages before exploring further.

Kexts (kernel extensions) are macOS drivers and patches loaded by OpenCore at boot time. Because most PC hardware is not natively supported by macOS, kexts fill the gap — providing everything from Ethernet and Wi-Fi drivers to SMC emulation and GPU patches. OpCore Simplify automatically determines which kexts your hardware needs and downloads the correct versions, so you rarely need to touch this list manually.

How Automatic Kext Selection Works

During the EFI build process, KextMaestro.select_required_kexts() iterates through your hardware report and the selected macOS version, checking device types, CPU codenames, PCI IDs, codec IDs, and platform flags to decide which kexts to enable. Dependency resolution is handled automatically: when a kext is enabled, all entries listed in its requires_kexts field are also enabled recursively. For example, enabling SMCBatteryManager automatically enables Lilu and VirtualSMC (its declared dependencies). Conversely, unchecking a parent kext will also uncheck its exclusive dependents if they are not required by anything else.

Conflict Groups

Some kexts are mutually exclusive and share a conflict_group_id. When you enable a kext that belongs to a conflict group, any other kext in the same group is automatically disabled. The active conflict groups are:
Group IDKexts in GroupNotes
GPUWhateverGreen, NootedRed, NootRXOnly one GPU patch kext per system
IntelWiFiAirportItlwm, itlwmChoose one Intel Wi-Fi driver mode
TSCCpuTscSync, VoodooTSCSync, AmdTscSync, ForgedInvariantOnly one TSC sync kext
SATACtlnaAHCIPort, SATA-unsupportedVersion-gated SATA controller support
RealtekCardReaderRealtekCardReader, Sinetek-rtsxChoose one Realtek SD card reader driver
AirportItlwm vs itlwm: AirportItlwm integrates directly with the native macOS Wi-Fi menu and supports AirDrop, making it the more seamless choice. However, it is compiled for a specific macOS version and will not work on a different release without swapping the kext binary. itlwm works across all supported macOS versions but spoof-connects as an Ethernet adapter — you must use the HeliPort app to join Wi-Fi networks. If you plan to upgrade macOS frequently, itlwm + HeliPort is the lower-maintenance option.

WiFi Profile Extractor (itlwm Auto-Connect)

When itlwm is selected, OpCore Simplify invokes WifiProfileExtractor.get_profiles() to optionally embed your saved Wi-Fi credentials directly into the EFI. This means itlwm can automatically connect to your home network during the macOS installer (Recovery OS) boot — before HeliPort is even installed. The extractor reads saved Wi-Fi profiles from the host OS using native system tools:
Host OSTool UsedNotes
Windowsnetsh wlan show profiles + key=clearReads all saved WLAN profiles
macOSnetworksetup + Keychain security find-generic-passwordPrompts for admin credentials per network
Linuxnmcli --show-secrets connection showReads NetworkManager profiles
The SSID and password pairs are validated before embedding. For WPA networks, passwords must be 8–63 printable ASCII characters (code points 32–126); open-network passwords are cleared; WEP passwords are passed through. All three authentication types — open, wep, and wpa — are handled. You can choose how many profiles to include or skip this step entirely.
This step is entirely optional. If you skip it, itlwm will still load at boot — you just need to use HeliPort to connect manually after installation.

Kext Download Sources

All kexts are downloaded automatically during the EFI build. The tool uses two primary sources:
  • Dortania Builds (https://raw.githubusercontent.com/dortania/build-repo/builds/latest.json) — provides the latest nightly/release builds for acidanthera and related projects.
  • GitHub Releases — for projects not in the Dortania index, downloads are fetched directly from the repository’s GitHub Releases page using the github_repo field defined in kext_data.py.
Downloaded kexts are cached in the OCK_Files/ directory at the project root so they are not re-downloaded on subsequent runs unless the version has changed.

Available Kexts by Category

All kexts are defined in Scripts/datasets/kext_data.py. The table below lists every kext, its category, and its description.

Required

These two kexts are always enabled and cannot be disabled.
KextDescription
LiluArbitrary kext, library, and program patching framework — required by almost all other kexts
VirtualSMCAdvanced Apple SMC emulator in the kernel — required for macOS to boot on non-Apple hardware

VirtualSMC Plugins

KextDescription
SMCBatteryManagerManages, monitors, and reports on battery status (laptops only)
SMCDellSensorsEnables fan monitoring and control on Dell computers
SMCLightSensorAllows the system to utilize the ambient light sensor device
SMCProcessorManages Intel CPU temperature sensors
SMCRadeonSensorsProvides temperature readings for AMD GPUs (macOS Mojave+)
SMCSuperIOMonitoring hardware sensors and controlling fan speeds

Graphics

KextConflict GroupDescription
WhateverGreenGPUVarious patches necessary for Intel, AMD, and NVIDIA GPUs
NootedRedGPUAMD Vega iGPU support kext (macOS Catalina+)
NootRXGPUrDNA 2 discrete GPU support patch kext — for RX 6600 / 6700 series (macOS Big Sur 11.5+)

Audio

KextDescription
AppleALCNative macOS HD audio for codecs not officially supported by Apple

Ethernet

KextDescription
AppleIGBProvides support for Intel IGB Ethernet controllers
AppleIGCProvides support for Intel 2.5G Ethernet (i225 / i226)
AtherosE2200EthernetProvides support for Atheros E2200 family
CatalinaBCM5701EthernetProvides support for Broadcom BCM57XX Ethernet series (macOS Catalina+)
HoRNDISAndroid USB tethering support for Internet access during installation
IntelLucyProvides support for Intel X500 family
IntelMausiEthernetIntel Ethernet LAN driver for macOS
LucyRTL8125EthernetProvides support for Realtek RTL8125 2.5G family
NullEthernetCreates a Null Ethernet adapter when no supported network hardware is present
RealtekRTL8100Provides support for Realtek RTL8100 family
RealtekRTL8111Provides support for Realtek RTL8111 / 8168 family

Wi-Fi

KextConflict GroupDescription
AirportItlwmIntelWiFiIntel Wi-Fi driver using the native macOS Wi-Fi interface (version-specific binary)
itlwmIntelWiFiIntel Wi-Fi driver that spoof-connects as Ethernet; requires HeliPort app to manage connections
AirportBrcmFixupPatches required for non-native Broadcom Wi-Fi cards
FeixiaoRealtek WLAN (rtw88) driver for macOS (macOS Catalina+)
corecaptureElCapEnable legacy Qualcomm Atheros Wireless cards (macOS Mojave–Sequoia)
IO80211ElCapEnable legacy Qualcomm Atheros Wireless cards — paired with corecaptureElCap
IO80211FamilyLegacyEnable legacy Apple Wireless adapters (macOS Sonoma+)
IOSkywalkFamilyEnable legacy Apple Wireless adapters — paired with IO80211FamilyLegacy

Bluetooth

KextDescription
IntelBluetoothFirmwareUploads firmware to enable Intel Bluetooth support
IntelBTPatcherFixes Intel Bluetooth bugs for better connectivity
IntelBluetoothInjectorEnables the Intel Bluetooth on/off switch on macOS Catalina and older
BlueToolFixupPatches the Bluetooth stack to support third-party cards (macOS Monterey+)
BrcmPatchRAM3Applies PatchRAM updates for Broadcom RAMUSB devices (macOS Catalina+)
BrcmPatchRAM2Applies PatchRAM updates for Broadcom RAMUSB devices (macOS Mojave and older)
BrcmFirmwareDataFirmware data companion for BrcmPatchRAM
BrcmBluetoothInjectorEnables the Broadcom Bluetooth on/off switch on macOS Catalina and older
RealtekBluetoothFirmwareUploads firmware to enable Realtek Bluetooth support
Ath3kBTUploads firmware to enable Atheros Bluetooth support (macOS Catalina and older)
Ath3kBTInjectorCompanion injector for Ath3kBT

USB

KextDescription
USBToolBoxFlexible USB port mapping framework
UTBDefaultEnables all USB ports with no port limit — used as the default mapping until a custom map is created
GenericUSBXHCIFixes USB 3.0 issues found on some Ryzen APU-based systems
XHCI-unsupportedEnables USB 3.0 support for unsupported xHCI controllers

Input

KextDescription
VoodooPS2ControllerProvides support for PS/2 keyboards, trackpads, and mice
VoodooI2CIntel I2C controller and slave device drivers for I2C touchpads and touchscreens
VoodooI2CHIDSatellite kext for HID I2C or ELAN 1200+ input devices
VoodooI2CELANSatellite kext for ELAN I2C touchpads
VoodooI2CSynapticsSatellite kext for Synaptics I2C touchpads
VoodooI2CAtmelMXTSatellite kext for Atmel MXT I2C touchscreens
VoodooI2CFTESatellite kext for FTE-based touchpads
VoodooRMISynaptics trackpad kext over SMBus / I2C
VoodooSMBusi2c-i801 + ELAN SMBus touchpad kext (macOS Mojave+)
AlpsHIDBrings native multi-touch support to Alps I2C touchpads
VoodooInputMagic Trackpad 2 software emulation for arbitrary input sources

TSC Synchronization

KextConflict GroupDescription
CpuTscSyncTSCLilu plugin for TSC sync and disabling xcpm_urgency on Intel CPUs
VoodooTSCSyncTSCKernel extension which synchronizes TSC on Intel CPUs
AmdTscSyncTSCModified version of VoodooTSCSync for AMD CPUs
ForgedInvariantTSCPlug-and-play TSC sync kext for both AMD and Intel

Storage

KextConflict GroupDescription
NVMeFixAddresses compatibility and performance issues with NVMe SSDs (macOS Mojave+)
CtlnaAHCIPortSATAImproves support for certain SATA controllers (macOS Catalina+)
SATA-unsupportedSATAImproves support for certain SATA controllers (macOS Mojave and older)

Card Reader

KextConflict GroupDescription
RealtekCardReaderRealtekCardReaderRealtek PCIe/USB-based SD card reader driver (macOS Mojave–Sonoma)
RealtekCardReaderFriendMakes System Information recognize your Realtek card reader (macOS Mojave–Ventura)
Sinetek-rtsxRealtekCardReaderRealtek PCIe-based SD card reader driver

Brand Specific

KextDescription
AsusSMCSupports ALS, keyboard backlight, and Fn keys on ASUS laptops (macOS through Sonoma)
BigSurfaceFully integrated kext for all Microsoft Surface-related hardware
YogaSMCEnables SMC key sync, sensor control, and vendor-specific features on Lenovo ThinkPad / IdeaPad

Extras

KextDescription
AMFIPassReplacement for amfi=0x80 boot argument (macOS Catalina+)
ASPP-OverrideRe-enables CPU power management for Intel Sandy Bridge CPUs (macOS Monterey 12.4+)
AppleIntelCPUPowerManagementRe-enables CPU power management on legacy Intel CPUs (macOS Ventura+)
AppleIntelCPUPowerManagementClientCompanion kext for AppleIntelCPUPowerManagement
AppleMCEReporterDisablerDisables AppleMCEReporter.kext to prevent kernel panics on AMD CPUs or multi-socket systems
BrightnessKeysHandles brightness keys without DSDT patches
CPUFriendDynamic power management data injection (requires CPUFriendDataProvider)
CpuTopologyRebuildOptimizes the core configuration of Intel Alder Lake and newer CPUs
CryptexFixupVarious patches to install Rosetta cryptex on systems without AVX2 (macOS Ventura+)
ECEnablerAllows reading Embedded Controller fields over 1 byte long — required for laptop battery status
FeatureUnlockEnables additional features on unsupported hardware (e.g., Sidecar, AirPlay to Mac)
HibernationFixupFixes hibernation compatibility issues
NoTouchIDAvoids lag in authentication dialogs for board IDs with Touch ID sensors
RestrictEventsBlocks unwanted processes and unlocks features
RTCMemoryFixupEmulates certain offsets in CMOS (RTC) memory to fix RTC write issues

Kext Configuration Menu

You can manually review and toggle kexts at any time before building the EFI.
1

Open the kext configuration menu

From the main menu, enter option 4 — “Configure Kernel Extensions”. The full kext list is shown, grouped by category, with checkboxes indicating the current state.
2

Review the list

Enabled kexts are highlighted in green with [*]. Kexts that are incompatible with your selected macOS version are shown in gray. Required kexts (Lilu, VirtualSMC) cannot be disabled.
3

Toggle kexts

Enter the index number of the kext you want to toggle. You can enter multiple indices separated by commas — for example, 5, 12, 23 — to toggle several at once. Selecting a plugin automatically enables its parent kext.
4

Handle version-incompatible kexts

If you enable a kext that does not support your selected macOS version, the tool will ask whether you want to force-load it. Lilu-dependent kexts can be forced using the -lilubetaall boot argument. Force-loading unsupported kexts may cause instability.
5

Return to the main menu

Enter B to go back. Your changes are retained until the EFI is built.
Force-loading kexts on unsupported macOS versions can cause kernel panics and boot failures. Only use this option if you have tested the kext on your macOS version and understand the risks.
For a deeper explanation of each kext’s purpose, compatibility range, and configuration options, see the Kext Reference.

Build docs developers (and LLMs) love