
macOS Kexts vs DriverKit
Apple replaced kernel extensions with DriverKit. What changed for device support on modern macOS, and what it means for older peripherals.
For years, adding hardware support to a Mac meant installing a kernel extension, and those extensions ran with deep access to the heart of macOS. Apple has steadily moved away from that model toward DriverKit, where device support runs safely outside the system core. The shift makes Macs more stable and secure, but it also explains why some older peripherals stop working after a macOS upgrade. Knowing what changed helps you understand approval prompts, judge whether an aging accessory will keep working, and check for modern support before you buy.
- 1
Recall what kernel extensions were
A kernel extension, or kext, was a piece of driver code that loaded directly into the macOS kernel, the protected core that runs everything. Because it lived there, a kext had almost unlimited power over the system. That was flexible and let vendors support all kinds of hardware, but it came with a serious downside: a single buggy kext could crash the entire Mac or open a security hole. Printers, audio interfaces, capture cards, and specialty gear often shipped with their own kexts. This deep access is exactly what Apple decided was too risky to keep offering in the long run.
- 2
See why Apple moved drivers to user space
Apple's answer was to pull driver code out of the kernel and run it in "user space," the same walled-off area where normal apps live. A driver built this way, using the DriverKit framework, can control its hardware but can't reach in and destabilize the whole system. If it misbehaves, it fails on its own without taking macOS down with it, and it can't be exploited to gain control of the machine. The tradeoff is that vendors had to rewrite their old kexts as new DriverKit extensions. Apple gave them years of warning, but not everyone made the jump.
- 3
Understand what a system extension is
The modern replacements are called system extensions, and they're built on DriverKit for hardware drivers. Unlike a kext, a system extension installs without burrowing into the kernel, and it can be delivered inside a regular app rather than as a low-level system component. When you install software for a webcam, an audio interface, or a network tool on current macOS, it's very likely using a system extension behind the scenes. This is why installing device software feels more like installing an app now, and why it no longer demands the risky deep-system access that kexts once did.
- 4
Approve extensions through System Settings
Because these extensions still touch hardware, macOS asks your permission before letting one run. After you install the vendor's software, you'll usually see a prompt saying a system extension was blocked and needs approval. Open System Settings, go to Privacy & Security, scroll down, and you'll find a message with an Allow button next to the blocked extension. Click Allow, authenticate with your password or Touch ID, and the driver activates. On some Macs you may also confirm a restart. This approval step is deliberate: it makes sure you, not a sneaky installer, decided to trust that piece of hardware software.
- 5
Know what breaks for older peripherals
Here's where owners of older gear get caught out. If a device relied on a legacy kext and its maker never released a DriverKit version, a macOS upgrade can leave it unsupported. Recent macOS versions have tightened or removed the ability to load many old kernel extensions, so the accessory that worked last year may go silent after an update. This most often hits older printers, scanners, audio interfaces, and niche USB devices from vendors that stopped updating their software. The hardware isn't broken; macOS simply won't load its outdated driver anymore, and no setting safely forces it back.
- 6
Check a device's modern support before upgrading
Before installing a major macOS update, spend a few minutes confirming your important peripherals are still supported. Visit the device maker's official support page and look for drivers or software listed for your macOS version by name. Support notes that mention DriverKit or a system extension, and downloads dated recently, are good signs. Silence, or software that only lists very old macOS versions, is a warning that the device may stop working. Doing this check first lets you decide whether to upgrade now or wait, rather than discovering a dead scanner or audio box after the fact.
- 7
Plan around unsupported hardware
If a peripheral has no modern DriverKit support, you have a few honest options. Sometimes a built-in macOS driver covers basic functions of a printer or audio device even without the vendor's software, so test the core features before giving up. You might keep an older Mac around for that one specialized device, or use a class-compliant replacement that needs no custom driver at all. What you should not do is chase unofficial workarounds that disable macOS security protections, since those reintroduce exactly the instability and risk Apple moved away from. When in doubt, contact the maker and ask about current support directly.