Hacker News new | ask | show | jobs
by sdfqasdghj 2083 days ago
I'm confused. Drivers are kernel level right? All the distros use the same underlying kernel code (plus patches and binary blobs). But basically if a driver works for RHEL it will work for Ubuntu. Even better once the driver is mainlined in the kernel it will be supported going forward.

The problem for hardware manufacturers is that they think their drivers are valuable trade secrets and don't want to mainline them into the kernel...

1 comments

The problem isn't distros, but different kernel versions. Linux has no stable driver ABI by design, so unless you open source all your code and get it in the mainline, you have to rewrite it for potentially every single kernel release.

Again, this is by design to try and force manufactures to open their driver code. To me, that seems like a lost cause now thanks to the proliferation of binary blobs required for hardware anyway.

Source for it being by design?
https://github.com/torvalds/linux/blob/master/Documentation/...

> So, if you have a Linux kernel driver that is not in the main kernel tree, what are you, a developer, supposed to do? [...] Simple, get your kernel driver into the main kernel tree (remember we are talking about drivers released under a GPL-compatible license here, if your code doesn't fall under this category, good luck, you are on your own here, you leech).

In order for a driver to be in-tree, it has to be open.

Incidentally, this document is full of the kinds of arrogant and user-hostile arguments that the Linux community is known for, for example: "You think you want a stable kernel interface, but you really do not, and you don't even know it."