Contribute
Register

Apple Deprecating KEXTs. End of Hackintosh?

pastrychef

Moderator
Joined
May 29, 2013
Messages
15,783
Motherboard
Gigabyte Z390 M Gaming
CPU
i9-9900K OC'd @ 5.0GHz
Graphics
Radeon VII
Mac
  1. MacBook
  2. Mac Pro
Classic Mac
  1. iBook
  2. Power Mac
  3. PowerBook
Mobile Phone
  1. iOS
Seems pretty clear Apple will announce ARM at WWDC. What does this mean for the lifespan of hackintosh and do you think ARM will be instituted across the entire portfolio or just the MacBook lines? If they keep Intel for Mac Pro, can I assume hackintoshers are safe?

Life span? My guess is about 5-7 more years of Intel support.

Entire portfolio? If the move to ARM, yes, I think it will be across the entire portfolio.
 

MacMan

Administrator
Staff member
Joined
Feb 2, 2010
Messages
8,589
Motherboard
ASUS TUF Z390-PRO GAMING - 2606 - UEFI
CPU
i9-9900K
Graphics
Vega 64
Mac
  1. MacBook Pro
  2. Mac Pro
Classic Mac
  1. Power Mac
  2. PowerBook
Mobile Phone
  1. iOS
macOS KEXTS can be either a kernel extension to gain kernel-level access or a system extension that extend the functionality of macOS without requiring kernel-level access. It's a shame that they used the same file extension ".kext" for either type of extension.

As you can see below, they are only depreciating kernel extensions that need kernel-level access and have created new alternative frameworks that developers can use in their place. So the functionality still exists, it's just implemented differently.

The following is from https://developer.apple.com/support/kernel-extensions/:

Deprecated Kernel Extensions and System Extension Alternatives
System extensions on macOS Catalina (10.15) allow software like network extensions and endpoint security solutions to extend the functionality of macOS without requiring kernel-level access. At WWDC19, we announced the deprecation of kernel extensions as part of our ongoing effort to modernize the platform, improve security and reliability, and enable more user-friendly distribution methods. Kernel programming interfaces (KPIs) will be deprecated as alternatives become available, and future OS releases will no longer load kernel extensions that use deprecated KPIs by default.

Transitioning Your Kernel Extensions
If your software uses deprecated and supported KPIs, you’ll need to factor out deprecated components into a stand-alone system extension. If your software uses new system extensions and legacy kernel extensions, you can distribute to supported operating systems. Software that supports a broad range of macOS versions should continue to use kernel extensions for older versions and run system extensions where supported.

So what does this mean to macOS users?

If I'm a manufacturer of a scanner I will need to rewrite my driver that used IOUSBFamily to use the new USBDriverKit Framework.

As for hackintosh drivers like IntelMausi.kext, there shouldn't be an issue as of now. It's a hardware driver and will still need kernel access and none of the KPIs they use have been depreciated. If Apple does depreciate the KPIs it uses, they will have to update it. Or maybe Clover or OpenCore can come up with work arounds for loading kernel extensions like it from the the EFI folder.
 
Top