5 ms·
Linux purposely makes proprietary drivers crap. The kernel offers no stable binary interface so drivers become broken every single time linux updates unless the
by Polylactic_acid 7y ago
Linux purposely makes proprietary drivers crap. The kernel offers no stable binary interface so drivers become broken every single time linux updates unless the drivers get compiled as part of the kernel. This forces manufacturers to either decide that they will open source the drivers, not have any at all or put in the work to keep them up to date every release.
It seems like forcing the all or nothing choice made a lot of OEMs open source their drivers or provide none which lead to the community making them.
- catalogia 7y ago> Linux purposely makes proprietary drivers crap. As the situation on windows shows us, the alternative is drivers that are crap for other reasons. If Linux offered a stable binary interface for drivers, we'd have proprietary drivers that "worked" but were nevertheless still crap insofar as they were essentially malware, as is the case with this wacom driver.
- nerdponx 7y agoA standardized ABI does not inevitably lead to malware closed drivers. That's a ridiculous assertion. Device managers don't care about Linux anyway, and wouldn't suddenly start caring if Linux announced a stable ABI.
- catalogia 7y ago> Device managers don't care about Linux anyway, and wouldn't suddenly start caring if Linux announced a stable ABI. From what I've seen, facilitating proprietary drivers seems like the motivation of most people lamenting the lack of a stable ABI. An example of this being the comment I responded to; "Linux purposely makes proprietary drivers crap. [...]" Discounting proprietary drivers under the assumption that they wouldn't be written anyway, what does a stable ABI afford us? Out-of-tree FOSS drivers? In other words, drivers that aren't good enough to be accepted into the kernel?
- Polylactic_acid 7y agoOut of tree foss drivers are still not affected since you could most of the time just recompile them to work with the latest kernel. Also when I said linux made proprietary drivers crap I meant that as a good thing. It lead to open source drivers where there otherwise would not have been. Some OEMs like AMD eventually went open source on linux while remaining proprietary on windows.
- the8472 7y agoAnd yet google is pushing hard to keep ABI stable in the name of extending android support because manufacturers just won't release their SoC drivers.
- kick 7y agoProprietary surveillance company is okay with manufacturers creating proprietary drivers to be used for surveillance. Shocking.
- Polylactic_acid 7y agoProbably because desktop users expect their hardware to continue to work for a long time and to keep up with OS updates. For mobile people have been conditioned to accept throwing away and buying a new device every 2 years.
- dTal 7y agoRather cheeky to urge the Linux developers to change their ways so that Google can continue to profit off GPL violations.
- MaxBarraclough 7y agoThanks for mentioning the elephant in the room. Is there a reason the Linux folks don't do something about this? If I were them I wouldn't be happy seeing my licensing terms treated like a joke.
- snvzz 7y agoIf this was true, the BSDs would have terrible drivers. What happens instead is Linux drivers are mostly BSD ports. Go figure.
- dredmorbius 7y agoISTR a discussion some years back over the lagging of drivers on the BSDs relative to Linux. Not finding that now, though there's a 2014 discussion of a driver wrapper for FreeBSD to access Linux device drivers: https://www.phoronix.com/scan.php?page=news_item&px=MTgzMjY https://www.phoronix.com/scan.php?page=news_item&px=MTgzMjY Linux of course also makes use of some driver wrappers, the most well-known of which is probably NDISwrapper, supporting wireless networking cards: http://ndiswrapper.sourceforge.net/wiki/index.php/Main_Page http://ndiswrapper.sourceforge.net/wiki/index.php/Main_Page
- BurningCycles 7y ago>Linux purposely makes proprietary drivers crap. No it doesn't, the devs refuse to provide stable in-kernel APIs because they want the flexibility to be able to modify them as they please when a better solution comes along. Also maintaining support for proprietary drivers is harder due to them being black boxes, not only in terms of debugging, but also in security and stability. NVidia is basically the one major holdout these days, and its proprietary driver for Linux is very good, so it's not as if it's impossible to maintain a proprietary driver in the Linux ecosystem. The motivation here comes from Linux being huge in accelerated computing and 3d, not due to any particular love for Linux on Nvidia's part. Indeed the lack of a stable interface has made it cumbersome to maintain a out-of-tree driver, which is GREAT since it means hardware vendors are more likely to open source their drivers or at least give enough documentation for them to be created by a third party. This ends up being a huge part of Linux's success, as it supports the widest range of hardware of any system 'out of the box', hardware support which is then functional on any platform on which Linux runs, which in turn is practically everything under the sun. And if this wasn't enough, it is also a boon for alternative systems which will never see official proprietary drivers due to being niche, as they can port Linux drivers, or even add Linux driver compability layers.