5 ms·
I understand the frustration to some degree. Part of me even agrees with it. However, what I don't see is that nVidia should have any obligation (ethical, leg
by rleigh 6y ago
I understand the frustration to some degree. Part of me even agrees with it.
However, what I don't see is that nVidia should have any obligation (ethical, legal or otherwise) of any sort to provide a Linux driver at all. The demands of Linux developers and users alike seem particularly entitled.
Linux is the only mainstream kernel, free or proprietary, which doesn't have a sane and supported driver interface. And while I can see some of the justifications for it, I think after nearly 20 years they are starting to wear a little thin. The way other out of tree subsystems, like ZFS, have been treated is appalling. Deliberately using the GPL as a cudgel to beat other projects into submission is just plain nasty, and to treat other open source projects this way is spiteful and unnecessary.
- shmerl 6y agoNo obligation, yes. Nvidia are messing things up for Nouveau and don't upstream their own driver. So Linux users don't have any obligation to use Nvidia either ;) I'd say good riddance, AMD and Intel are doing a good job. Also, imagine Linux didn't enforce GPL. Would Nvidia be more motivated to upstream their driver? Not in the least. They don't care about GPL. What they want is to have a leverage over the market and charge more for industrial usage, by forcing usage of the blob on their terms (which upstreamed driver would prevent by giving ability to use the hardware to anyone on any terms). That's their whole motivation in this as far as I understand.
- jcranmer 6y ago> Linux is the only mainstream kernel, free or proprietary, which doesn't have a sane and supported driver interface. I don't believe OpenBSD or FreeBSD has such an interface either, and I'd classify those as mainstream kernels. > However, what I don't see is that nVidia should have any obligation (ethical, legal or otherwise) of any sort to provide a Linux driver at all. Well, they don't. But they have a commercial need for Linux support: their recent revenue growth has been in datacenter usage of GPUs, and Linux support is necessary for that computing environment. To that end, IMHO NVidia is the entity that needs to align its development practices to support the existing Linux driver community rather than Linux needing to align its process to accommodate NVidia's wishes. This isn't to say that Linux has been right in its treatment of other external entities: the treatment of ZFS, as you note, does seem to be driven more by spite than actual technical reasons. But in the case of NVidia, there is definitely a good deal of fault on NVidia's side that needs to be acknowledged.
- rleigh 6y agoMy understanding is that FreeBSD freezes its kernel ABI for each major release and this enables third-party drivers to be written against it and supported for that major release. There are out-of-tree graphics drivers in the ports tree making use of this today. Both AMD and Nvidia drivers from what I can tell. Other non-graphics drivers as well. A freeze for a couple of years seems like a reasonable compromise to me. It's not forever, but it's long enough for third-parties to develop, validate and support a product for. The closest Linux gets to this is vendor kernels which are both vendor-specific, and highly-custom and badly dated. This at least gets you something reasonably current and supported to work with.
- bryanlarsen 6y agoSure, neither nVidia nor Linux have any obligation to support each other. But given that nVidia makes billions every year selling hardware to companies to run CUDA on Linux I would argue that it's nVidia that's acting entitled rather than the Linux developers.
- hs86 6y agoThere is 1. the political aspect of creating an incentive for vendors to inline their drivers and 2. the technical aspect of not having to provide a stable ABI for kernel drivers. About 2: I have no idea how difficult this is. Microsoft makes it look easy, but on the other hand, Apple is about to remove any 3rd party code out of their kernel. About 1: I believe that this hurts more than it helps. Expecting nVidia to move their OS-agnostic codebase into the Linux kernel sounds like a massive effort with no real benefit for them. That seems unlikely to happen. With, for example, OpenZFS, this might be possible if Oracle relicenses their last open-source version. Still, I don't see the Android OEMs budging on their stance of releasing binary blobs alongside their SoCs. Android is currently the largest install base of Linux kernels across the world, and the lack of a stable ABI means that none of these devices can run the latest and greatest Linux version ever during their lifetime. It is easy to shove all the blame over to Qualcomm, Mediathek, etc. but we also have to see it as a failure of Linux as a platform. Not every participant of a platform will always play nice, and these kinds of issues could all be solved by providing a stable ABI.
- shmerl 6y ago> About 1: I believe that this hurts more than it helps. Expecting nVidia to move their OS-agnostic codebase into the Linux kernel sounds like a massive effort with no real benefit for them. That seems unlikely to happen. Nouveau is already upstream. Nvidia should just stop messing it up and allow it to access GPU registers for proper reclocking. So there is no valid argument about difficulty at all. It's purely political and anti-competitive on Nvidia's part.