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 ID | Kexts in Group | Notes |
|---|
GPU | WhateverGreen, NootedRed, NootRX | Only one GPU patch kext per system |
IntelWiFi | AirportItlwm, itlwm | Choose one Intel Wi-Fi driver mode |
TSC | CpuTscSync, VoodooTSCSync, AmdTscSync, ForgedInvariant | Only one TSC sync kext |
SATA | CtlnaAHCIPort, SATA-unsupported | Version-gated SATA controller support |
RealtekCardReader | RealtekCardReader, Sinetek-rtsx | Choose 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.
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 OS | Tool Used | Notes |
|---|
| Windows | netsh wlan show profiles + key=clear | Reads all saved WLAN profiles |
| macOS | networksetup + Keychain security find-generic-password | Prompts for admin credentials per network |
| Linux | nmcli --show-secrets connection show | Reads 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.
| Kext | Description |
|---|
| Lilu | Arbitrary kext, library, and program patching framework — required by almost all other kexts |
| VirtualSMC | Advanced Apple SMC emulator in the kernel — required for macOS to boot on non-Apple hardware |
VirtualSMC Plugins
| Kext | Description |
|---|
| SMCBatteryManager | Manages, monitors, and reports on battery status (laptops only) |
| SMCDellSensors | Enables fan monitoring and control on Dell computers |
| SMCLightSensor | Allows the system to utilize the ambient light sensor device |
| SMCProcessor | Manages Intel CPU temperature sensors |
| SMCRadeonSensors | Provides temperature readings for AMD GPUs (macOS Mojave+) |
| SMCSuperIO | Monitoring hardware sensors and controlling fan speeds |
Graphics
| Kext | Conflict Group | Description |
|---|
| WhateverGreen | GPU | Various patches necessary for Intel, AMD, and NVIDIA GPUs |
| NootedRed | GPU | AMD Vega iGPU support kext (macOS Catalina+) |
| NootRX | GPU | rDNA 2 discrete GPU support patch kext — for RX 6600 / 6700 series (macOS Big Sur 11.5+) |
Audio
| Kext | Description |
|---|
| AppleALC | Native macOS HD audio for codecs not officially supported by Apple |
Ethernet
| Kext | Description |
|---|
| AppleIGB | Provides support for Intel IGB Ethernet controllers |
| AppleIGC | Provides support for Intel 2.5G Ethernet (i225 / i226) |
| AtherosE2200Ethernet | Provides support for Atheros E2200 family |
| CatalinaBCM5701Ethernet | Provides support for Broadcom BCM57XX Ethernet series (macOS Catalina+) |
| HoRNDIS | Android USB tethering support for Internet access during installation |
| IntelLucy | Provides support for Intel X500 family |
| IntelMausiEthernet | Intel Ethernet LAN driver for macOS |
| LucyRTL8125Ethernet | Provides support for Realtek RTL8125 2.5G family |
| NullEthernet | Creates a Null Ethernet adapter when no supported network hardware is present |
| RealtekRTL8100 | Provides support for Realtek RTL8100 family |
| RealtekRTL8111 | Provides support for Realtek RTL8111 / 8168 family |
Wi-Fi
| Kext | Conflict Group | Description |
|---|
| AirportItlwm | IntelWiFi | Intel Wi-Fi driver using the native macOS Wi-Fi interface (version-specific binary) |
| itlwm | IntelWiFi | Intel Wi-Fi driver that spoof-connects as Ethernet; requires HeliPort app to manage connections |
| AirportBrcmFixup | — | Patches required for non-native Broadcom Wi-Fi cards |
| Feixiao | — | Realtek WLAN (rtw88) driver for macOS (macOS Catalina+) |
| corecaptureElCap | — | Enable legacy Qualcomm Atheros Wireless cards (macOS Mojave–Sequoia) |
| IO80211ElCap | — | Enable legacy Qualcomm Atheros Wireless cards — paired with corecaptureElCap |
| IO80211FamilyLegacy | — | Enable legacy Apple Wireless adapters (macOS Sonoma+) |
| IOSkywalkFamily | — | Enable legacy Apple Wireless adapters — paired with IO80211FamilyLegacy |
Bluetooth
| Kext | Description |
|---|
| IntelBluetoothFirmware | Uploads firmware to enable Intel Bluetooth support |
| IntelBTPatcher | Fixes Intel Bluetooth bugs for better connectivity |
| IntelBluetoothInjector | Enables the Intel Bluetooth on/off switch on macOS Catalina and older |
| BlueToolFixup | Patches the Bluetooth stack to support third-party cards (macOS Monterey+) |
| BrcmPatchRAM3 | Applies PatchRAM updates for Broadcom RAMUSB devices (macOS Catalina+) |
| BrcmPatchRAM2 | Applies PatchRAM updates for Broadcom RAMUSB devices (macOS Mojave and older) |
| BrcmFirmwareData | Firmware data companion for BrcmPatchRAM |
| BrcmBluetoothInjector | Enables the Broadcom Bluetooth on/off switch on macOS Catalina and older |
| RealtekBluetoothFirmware | Uploads firmware to enable Realtek Bluetooth support |
| Ath3kBT | Uploads firmware to enable Atheros Bluetooth support (macOS Catalina and older) |
| Ath3kBTInjector | Companion injector for Ath3kBT |
USB
| Kext | Description |
|---|
| USBToolBox | Flexible USB port mapping framework |
| UTBDefault | Enables all USB ports with no port limit — used as the default mapping until a custom map is created |
| GenericUSBXHCI | Fixes USB 3.0 issues found on some Ryzen APU-based systems |
| XHCI-unsupported | Enables USB 3.0 support for unsupported xHCI controllers |
| Kext | Description |
|---|
| VoodooPS2Controller | Provides support for PS/2 keyboards, trackpads, and mice |
| VoodooI2C | Intel I2C controller and slave device drivers for I2C touchpads and touchscreens |
| VoodooI2CHID | Satellite kext for HID I2C or ELAN 1200+ input devices |
| VoodooI2CELAN | Satellite kext for ELAN I2C touchpads |
| VoodooI2CSynaptics | Satellite kext for Synaptics I2C touchpads |
| VoodooI2CAtmelMXT | Satellite kext for Atmel MXT I2C touchscreens |
| VoodooI2CFTE | Satellite kext for FTE-based touchpads |
| VoodooRMI | Synaptics trackpad kext over SMBus / I2C |
| VoodooSMBus | i2c-i801 + ELAN SMBus touchpad kext (macOS Mojave+) |
| AlpsHID | Brings native multi-touch support to Alps I2C touchpads |
| VoodooInput | Magic Trackpad 2 software emulation for arbitrary input sources |
TSC Synchronization
| Kext | Conflict Group | Description |
|---|
| CpuTscSync | TSC | Lilu plugin for TSC sync and disabling xcpm_urgency on Intel CPUs |
| VoodooTSCSync | TSC | Kernel extension which synchronizes TSC on Intel CPUs |
| AmdTscSync | TSC | Modified version of VoodooTSCSync for AMD CPUs |
| ForgedInvariant | TSC | Plug-and-play TSC sync kext for both AMD and Intel |
Storage
| Kext | Conflict Group | Description |
|---|
| NVMeFix | — | Addresses compatibility and performance issues with NVMe SSDs (macOS Mojave+) |
| CtlnaAHCIPort | SATA | Improves support for certain SATA controllers (macOS Catalina+) |
| SATA-unsupported | SATA | Improves support for certain SATA controllers (macOS Mojave and older) |
Card Reader
| Kext | Conflict Group | Description |
|---|
| RealtekCardReader | RealtekCardReader | Realtek PCIe/USB-based SD card reader driver (macOS Mojave–Sonoma) |
| RealtekCardReaderFriend | — | Makes System Information recognize your Realtek card reader (macOS Mojave–Ventura) |
| Sinetek-rtsx | RealtekCardReader | Realtek PCIe-based SD card reader driver |
Brand Specific
| Kext | Description |
|---|
| AsusSMC | Supports ALS, keyboard backlight, and Fn keys on ASUS laptops (macOS through Sonoma) |
| BigSurface | Fully integrated kext for all Microsoft Surface-related hardware |
| YogaSMC | Enables SMC key sync, sensor control, and vendor-specific features on Lenovo ThinkPad / IdeaPad |
| Kext | Description |
|---|
| AMFIPass | Replacement for amfi=0x80 boot argument (macOS Catalina+) |
| ASPP-Override | Re-enables CPU power management for Intel Sandy Bridge CPUs (macOS Monterey 12.4+) |
| AppleIntelCPUPowerManagement | Re-enables CPU power management on legacy Intel CPUs (macOS Ventura+) |
| AppleIntelCPUPowerManagementClient | Companion kext for AppleIntelCPUPowerManagement |
| AppleMCEReporterDisabler | Disables AppleMCEReporter.kext to prevent kernel panics on AMD CPUs or multi-socket systems |
| BrightnessKeys | Handles brightness keys without DSDT patches |
| CPUFriend | Dynamic power management data injection (requires CPUFriendDataProvider) |
| CpuTopologyRebuild | Optimizes the core configuration of Intel Alder Lake and newer CPUs |
| CryptexFixup | Various patches to install Rosetta cryptex on systems without AVX2 (macOS Ventura+) |
| ECEnabler | Allows reading Embedded Controller fields over 1 byte long — required for laptop battery status |
| FeatureUnlock | Enables additional features on unsupported hardware (e.g., Sidecar, AirPlay to Mac) |
| HibernationFixup | Fixes hibernation compatibility issues |
| NoTouchID | Avoids lag in authentication dialogs for board IDs with Touch ID sensors |
| RestrictEvents | Blocks unwanted processes and unlocks features |
| RTCMemoryFixup | Emulates certain offsets in CMOS (RTC) memory to fix RTC write issues |
You can manually review and toggle kexts at any time before building the EFI.
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.
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.
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.
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.
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.