Hacker News new | ask | show | jobs
by orbifold 2657 days ago
I'm sorry but this is not how it works. No-one maintains your drivers for free. The contributors to drivers in the Linux kernel are usually employed by the companies that make the product. In addition they might have to deal with subsystem maintainers that treat their part of the code base as their personal fiefdom. Just follow the hoops that the AMD developers had to jump through so that their driver components got accepted into the kernel. Basically they were told they were doing it all wrong and should really be using abstractions already in place, which were probably developed by Intel in order to get their graphics stack to work (https://lists.freedesktop.org/archives/dri-devel/2016-Decemb...). Imagine being treated like that while you also need to support two much larger platforms (consoles, windows and ideally a simulation backend for hardware development). Nvidia wisely decided to develop one driver stack to cover all of these platforms, while as far as I know AMD split their effort for a long time. Nvidia also had by far the highest quality OpenGL implementation in place (not sure about Vulkan).

Graphics card drivers happen to be very complex beasts, somewhere along the stack they do need a compiler for multiple custom and often proprietary architectures, which most definitely no-one will maintain for free for you. There is a huge incentive to keep most of the code platform independent and only maintain a minimal kernel specific component. This part of the code base is a comparatively trivial part, essentially the kernel should get out of the way as much as possible. The kernel specific abstractions like KMS are examples of such comparatively trivial things.

1 comments

"Maintain" was too broad for what I meant: I should have said they'll future-proof your driver. Any future changes to the kernel won't break your mainlined driver - this is what you get for free, not defect fixes or other types of refactors. What you get for free is your driver working with all future kernel releases at the time of release; unlike Nvidia's drivers which lag kernel releases.