2 ms·
> Windows drivers do work for much longer stretches of time than Linux drivers do simply because you don't have to recompile them for every minor change to the
by shmerl 8y ago
> Windows drivers do work for much longer stretches of time than Linux drivers do simply because you don't have to recompile them for every minor change to the kernel.
So do Linux dkms drivers. Windows is just using "dkms" like approach for everything. But it doesn't have any advantage in compatibility time period.
> There's no reason Linux couldn't have stable ABIs for major kernel versions
Not sure what you are talking about. Linux does have such stable interfaces.
- AnIdiotOnTheNet 8y ago> Not sure what you are talking about. Linux does have such stable interfaces. Not sure what you're talking about either. I've never had to write a Linux driver, but it is a frequent complaint that one has to recompile drivers for new kernel versions. If the ABI was stable, that wouldn't be necessary.
- shmerl 8y ago> one has to recompile drivers for new kernel versions. dkms requires compilation, but it happens automatically with kernel upgrade. Read more about its design: * https://wiki.archlinux.org/index.php/Dynamic_Kernel_Module_Support https://wiki.archlinux.org/index.php/Dynamic_Kernel_Module_S... * https://en.wikipedia.org/wiki/Dynamic_Kernel_Module_Support https://en.wikipedia.org/wiki/Dynamic_Kernel_Module_Support * https://github.com/dell/dkms https://github.com/dell/dkms So not sure where you saw "frequent complaints", those are likely from people who have no clue what they are talking about.
- AnIdiotOnTheNet 8y ago> dkms requires compilation So not a stable ABI at all then.
- shmerl 8y agoStable API, not stable ABI. Installation through compilation is normal. Those who complain about it have no clue what they are complaining about, because they don't even see it when dkms drivers are recompiled. So again, go learn about it, before saying it's a problem. Otherwise you are tilting at windmills.
- AnIdiotOnTheNet 8y agoI don't think you're understanding anything I'm saying if you think that an API that requires recompilation from source of drivers on every kernel release is at all comparable to a multi-year stable driver ABI. What was this all about again? Oh right: Linux has bad support for some hardware, you blame the "driver manufacturers" for writing bad drivers, I blamed the kernel for accepting bad drivers. Here's the crux of my argument: If it is the manufacturer's responsibility to create and maintain drivers, then they shouldn't have to open source them and mainline them because they did all the work and took responsibility. However, the kernel devs refuse to provide a stable ABI for drivers, making this nigh impossible. They claim that this is because it ensures higher quality drivers that can be maintained without the manufacturer, but that is clearly false because many drivers are crap and not maintained despite being mainlined. So instead of taking any responsibility for bad drivers, people like you just blame everyone else. A tried and true practice of Linux Desktop evangelists.
- shmerl 8y ago> Here's the crux of my argument: If it is the manufacturer's responsibility to create and maintain drivers, then they shouldn't have to open source them and mainline them because they did all the work and took responsibility. I already said about both requirements. Only those who don't upstream or don't maintain their drivers have such problems. Remove either one - and problems are guaranteed. Stable ABI is only going to cause issues because developers won't care to fix anything thinking that "they are done with it" like you said. And review by the kernel maintainers is a good thing. There should be no trust for blobs. TL;DR: things are working well with responsible hardware makers. So use their hardware, and avoid irresponsible ones. There is no reason for Linux maintainers to change their approach which works.