Ask HN: Why no stable binary kernel interface for drivers?

  • This is addressed in the docs, at "stable_api_nonsense.txt": https://github.com/torvalds/linux/blob/master/Documentation/...

    (You might disagree with that doc, but if so you should address its arguments directly.)

  • Maintaining the drivers together with the rest of the system allows subsystem maintainers to make broad improvements to the functioning of drivers, and encourages vendors to upstream them as free software.

    If you want a stable kernel driver ABI, then you're going to have to maintain your own wrapper which will retain all of the anachronisms that have been excised from the upstream kernel.

    You are perfectly at liberty to do this for yourself, just don't expect kernel maintainers to willingly make their own lives harder, reduce the quality of running kernels, and reduce the enthusiasm for releasing and upstreaming high quality drivers.

    As an alternative to a stable ABI, you can just go with a single LTS release, and you can expect binary compatibility on the order of four years.

  • As http://lkml.iu.edu/hypermail/linux/kernel/1604.0/03993.html states, you can get binary stability for in the order of five years from the likes of Red Hat and SuSe.

    I don't know where you can get binary stability for decades, but it wouldn't surprise me if some military applications guaranteed that.

    Since there's nothing stopping suppliers from selling it, there apparently isn't that much demand for it.

  • I use a Ubuntu desktop daily as a development workstation and have for a decade at least. Never really had a problem, though it slows down Virtual Box installation once or twice a year. shrugs

  • > The (proprietary) driver issue is a big pain for people who want to use Linux for desktop as a workstation e.g. development. I would say that it is the biggest obstacle for adaption of Linux desktop.

    Simply don't buy Nvidia. Apart from that there shouldn't be a lot of hardware requiring blobs on the desktop.