Kext Installation & Management
Kernel extensions (kexts) are the macOS equivalent of drivers. This guide covers how to properly install and manage them.
Understanding Kexts
A kext is a bundle (.kext) that contains code loaded into the macOS kernel to provide hardware support or system modifications.
Installation Methods
Method 1: OpenCore (Recommended)
The modern approach is to place kexts in your EFI partition:
- Copy the
.kexttoEFI/OC/Kexts/ - Add an entry in
config.plistunderKernel > Add - Set the correct load order (dependencies first)
- Reboot
Method 2: /Library/Extensions (Legacy โ Not Recommended)
โ ๏ธ Deprecated: This method does not work on macOS 11 Big Sur and later. Apple has removed support for third-party kexts in
/Library/Extensions/. Use the OpenCore method above instead.
For older macOS versions (10.15 Catalina and below) or specific use cases:
- Copy the
.kextto/Library/Extensions/ - Fix permissions:
sudo chmod -R 755 /Library/Extensions/YourKext.kext - Rebuild kext cache:
sudo kextcache -i / - Reboot
Load Order Matters
Kexts must be loaded in the correct order. Dependencies must come before the kexts that need them:
- Lilu (always first - required by many plugins)
- VirtualSMC or FakeSMC
- WhateverGreen (GPU)
- AppleALC (Audio)
- Other kextsโฆ
Troubleshooting
Kext not loading
- Check config.plist entry is correct
- Verify BundlePath, ExecutablePath, and PlistPath
- Ensure dependencies are loaded first
Kernel panic on boot
- Remove recently added kexts one at a time
- Check kext compatibility with your macOS version
- Verify youโre using the latest version
Using OCAT for easier management
OpenCore Auxiliary Tools (OCAT) provides a graphical interface for managing your config.plist and kexts. It can automatically add kext entries and set the correct load order.
Related Kexts
- Lilu - Required by most plugin kexts
- VirtualSMC - SMC emulation