Live data from Hacker News

macOS extensions are moving away from the kernel

eclecticlight.co

61–70 of 149 posts

Re: macOS extensions are moving away from the kernel

#61
post #20

Earlier quoted context omitted.

As you wish, I am no longer going to debate the pedantic meaning of pure microkernel ideology. I rather be happy for the improvements in the long term roadmap and overall outcome for the eco-system.

"Pedantic"? If you just consider disallowing 3rd party modules to be a "microkernel" all while the kernel itself still loads most if not all (approved) drivers such as PCI bus, storage devices or filesystems in the same address space, then _all_ current major operating systems are "microkernels".

I was under the impression Apple intend to move those ( including their own ) outside as well with NetworkKit and DriverKit?

Which is what pjmlp implies, once they are out, isn't it microkernel?

Re: macOS extensions are moving away from the kernel

#62
post #46

I hope this won't effect tools like "Karabiner Elements"[1]? It's an essential tool I use to re-program the whole keyboard. [1] https://karabiner-elements.pqrs.org/

Just got an answer from the dev of Karabiner Elements[1]. It won‘t be affected.

[1] https://github.com/pqrs-org/Karabiner-Elements/issues/2760

Re: macOS extensions are moving away from the kernel

#63
post #46

I hope this won't effect tools like "Karabiner Elements"[1]? It's an essential tool I use to re-program the whole keyboard. [1] https://karabiner-elements.pqrs.org/

Karabiner Elements switched to DriverKit already. I think it will survive the next transition but it’s surprisingly hard to find confirmation.

[EDIT: see sibling comment - developer confirmed the above.]

Re: macOS extensions are moving away from the kernel

#64
post #58

You can still find the official documents about how to make changes in the MacOS X kernel itself (dated 2004 or so...). It's really sad that we have come to this. The platform became more and more closed off in the name of security and no serious law or regulation is preventing that. And if at least it was bug free it would be worth it, maybe. But my kernel extensions are all for circumventing bugs or stuff that does…

You don’t need to use Karabiner for that: keyboard preferences has a modifier keys setting (per keyboard) that achieves this exact remapping with no kernel extensions.

And even if it were required, Karabiner-Elements is already running as a userspace DriverKit device instead of a kernel extension:

> Changed the virtual keyboard and mouse implementation to DriverKit from deprecated kernel extension.

https://karabiner-elements.pqrs.org/docs/releasenotes/#karab...

Re: macOS extensions are moving away from the kernel

#65
They already can: extension authors can specify that their extension only operates on specific URL's.

The problem is that most extensions are designed to work on all web sites, so you have to choose between security and convenience. https://yvanced.com/

Most users pick the latter and trust the former.

Re: macOS extensions are moving away from the kernel

#67
post #55
post #43

Earlier quoted context omitted.

From all pratical purposes for a third party driver writer persona, the only path forward are user space drivers. What you call a kernel like that?

Non-extensible? Locked? "A kernel that only allows user-space third party drivers"? That this style doesn't have a nifty name isn't a good reason to weaken the established definition of microkernel just so it does.

It is kind of hard to implement a mikrokernel without any kind of drivers on the kernel.

So, then it becomes a balancing act how many are allowed the priviledge to be part of the main act.

Re: macOS extensions are moving away from the kernel

#68

To me, this sounds kinda like the following: - XNU was born from a fork of the Mach microkernel - When the microkernel hype simmered down due to them being way too slow for '90s machines, NeXT bolted on lots of chunks taken from BSD to speed up XNU - After 20+ years, computers are fast enough to run true microkernels, so Apple is bringing them back again So it's finally time for microkernels to shine again?

Outside UNIX land they were always kind of shining, even if the light wasn't like footbal stadium.

QNX, Symbian, Nintendo Switch, type 1 hypervisors,....

Re: macOS extensions are moving away from the kernel

#69

This article does a good job of explaining how kernel extensions worked under Intel and how they will work under M1, and the blessed replacement for kernel extensions by Apple under M1. What it's missing, and what I assume everyone's questions is: Are the capabilities of Apple's user-level APIs sufficient to replace most legitimate uses of kernel extensions?

"blessed" replacement Why did you use the word Blessed? I'm curious what made your brain choose that word instead of something neutral. Reminds me of "Walled garden" marketing speak instead of "Walled Prison". Edit- is there some sensitive nerve I hit?

> "Walled Prison"

I'm curious what made your brain choose that word instead of something neutral.

Re: macOS extensions are moving away from the kernel

#70
post #60

Earlier quoted context omitted.

For sure. That would mean I couldn't use a decent keyboard, and that's gonna be a show-stopper. I don't know what happened there... Apple used to make wonderful keyboards, but it seems like every model they make now just plain sucks.

Perhaps you can contact the macOS team that develops this and ask them to provide some kind of hook for keyboard drivers. From experience, I can tell that the Logic team listens to its users, but it's a smaller, and highly technical user group, of course. I wouldn't know if the kernel/extensions team reacts in the same way.

> ask them to provide some kind of hook for keyboard drivers

They already have.

Post reply on HN