Hacker News new | ask | show | jobs
by pjmlp 2624 days ago
Sure there are, they are known as "legacy HALs" on Project Treble documentation.
1 comments

Literally any driver that has a piece that runs in interrupt context has to have (in part) a kernel mode driver under Linux.

On top of that, GPUs generally have to have a kernel component, even under systems that put as much as possible under user mode like sel4, because they have their own MMUs that can subvert kernel integrity.

Again, yes there are drivers running in the kernel space, yes they are mostly GPL, no Google isn't re-writing them into Binderized HALs, they can stay as Passthrough HALs.

Nothing of that prevents that all new drivers, except for the ones marked as legacy, are required to be Binderized.

The kernel code of a driver from OEMs allergic to GPL, is hardly different from a signal handler, implementing the minimal set of kernel code and deferring everything else to userspace.

Sort of...

I'm going to go out on a limb here and guess that you don't actually write kernel drivers like I do professionally.

Ah appealing to authority as last argument, naturally any kind of opinion and knowledge of what I might have as Android developer, or former professional experience in systems programming is worthless.

Nice.

More that I recognized a position that comes from a cursory understanding of the situation. About the level I'd expect from having taken a few classes on it, but lacks true experience in the domain. One of those "in theory, theory and practice are the same. In practice, they're not" sort of situations. You've taken those ideas to conclusions that could have been valid, but the industry took other options.

Now, as someone who has spent a decade in that domain, I'm down to continue having a conversation about it and helping overcome a few of those hurdles, but you need to be willing to hear something that isn't your own conclusions.

Just like you need to be willing to accept that GPL won't stay forever on Android, but you are right I don't have a clue.

As for systems programming experience, you would be surprised, but I am not here to justify myself with appeals to authority.

Linux has countless LKMs (modules that run in the kernel, but are not -- broadly -- bound by the GPL). Many, many are closed-source and proprietary. Others aren't because they don't have to be.

You hinted that this transgresses the GPL, and there are those that argue that virtually anything transgresses the GPL. But a lot of very large corporations say otherwise, and there have been zero successful challenges against it.