Hacker News new | ask | show | jobs
by xyzzy_plugh 1854 days ago
I half agree with you. It's not so much that Linux lacks a clean driver interface, it's really that OEMs write shitty software that doesn't belong upstream. Ideally vendors stop writing garbage drivers and distributing hacked up kernels with their "sample code" (but ends up in production) and opaque binary blobs.

Android unified vendors but simultaneously made them even lazier. It's somewhat hard to get non-android code from vendors in the past 5+ years. Which makes me very sad.

Will Fuchsia somehow convince vendors to produce better drivers? I don't see how Fuchsia makes this problem significantly easier. Shitty vendors will continue to be shitty vendors and take the easiest path to making money.

In any case, the Kernel's super power is its community, not the software itself. The LKML is vast and full of knowledge, a strange intersection of open source, research and corporate exploits.

I don't see Fuchsia replacing that anytime soon.

2 comments

I think OP's point is it doesn't matter if the drivers are crappy, as long as they only use a fixed and we'll defined interface.

If drivers all had a well defined interface, the exact same driver, binary or source, can be used across any OS version, and maybe even on other OS's with the right shims.

Then you don't need driver manufacturers to all collaborate to update the OS.

The point is not to produce better drivers, rather a stable driver interface.

It is no accident that Project Treble drivers follow a similar mikrokernel approach to Fuchsia.

On Android, after Project Treble, classical GNU/Linux drivers are considered legacy mode drivers.

https://source.android.com/devices/architecture/hal

Fuchsia is the next step.

I wonder if a stable driver interface could also result in higher driver quality: if the same driver keeps working across many versions, even with relatively few users it could aggregate incremental improvements from various parties?