Starting in the release 560 series, it will be recommended to use the open flavor of NVIDIA Linux Kernel Modules 119 wherever possible (Turing or later GPUs, or Ada or later when using GPU virtualization).
NVIDIA developer forums
Slowly but surely, NVIDIA is taking a more favourable position towards open source. It still feels surreal.
This line is potentially earth-shattering:
This sounds an awful lot like they are planning to scrap the proprietary driver long-term. I was under the impression that the proprietary nVidia drivers are still ahead of the open ones in terms of features and performance? Is this still true? Based on this announcement it seems like the gap must have been closed.
Well, looking at the *other* article link, they really are planning to replace the proprietary driver with the open one.
That page also has lists all the differences between the proprietary and open versions in detail – it really does look like there’s no reason to use the proprietary kernel module anymore. Good stuff!
They have already moved most of the “magic” onto the card anyway.
The “driver” is open, but how it functions cannot be decoded from the CPU side of the things. The firmware now handles these as essentially a “remote procedure call”.
Is this a good move? Maybe.
It closes the door to a truly open driver completely. However at the same time, for almost 20 years, Linux tried to catch up and failed.
Moochman,
If you recall a while back nvidia mainlined a shim for their proprietary drivers. It did not open source their actual GPU driver code though, What it did is create an open kernel interface, but that’s it. I looked at the linked repo and I couldn’t find FOSS drivers for any of these subsystems: cuda/vulkan/opengpl/optix/x11. The FOSS Nouveau driver is there of course but that’s not on par with nvidia’s own driver performance or features. I believe nvidia are just referring to the kernel module shim becoming default but NOT open source Nouveau driver.
The actual GPU drivers are in userspace and they talk to the GPU via the shim. I don’t see any source for these and as far as I know there are no plans to open them. I think there’s some confusion around “open linux kernel modules” with the assumption that it would include the GPU drivers.
Hmm, I see.. well, that’s a downer.
Thom Holwerda,
I’ll believe it when we see the source code. The linked repo is not what people are assuming it is. It’s not quite as impressive in FOSS terms when you realize it’s just a kernel interface for the drivers to access the GPU. I am glad they opened it at all (GPL compliance and all), but the actual drivers where the magic happens are in userspace and remain proprietary (bah!).
Tivoization at it’s finest.
Not really. They just moved the kernel portion of their Linux driver into a RISC-V microcontroller on the card where, being accessed via RPC, the GPL has no qualms with it, and now they’re working to get what used to be their “GPL condom” upstreamed.
yes, exactly. as one prominent hacker said – nvidia were so desperate to keep their stuff proprietary, they put another cpu on the card.
then again, amd has atombios with similar approach, only perhaps much more low-level.
but, on the other hand – this may make supporting newly released cards faster in the opensource driver stack – not that nvidia was ever lagging in that respect on their end.
But they really *needed* to keep these proprietary.
In the good old days where hardware primitives were more aligned with API primitives like OpenGL or DirectX calls, it did not make much difference how you programmed your drivers.
Today, there is significant competitive advantage in being able to optimize these higher level CUDA or workgraph inputs into low level primitives in an optimized way.
Just recently, AMD tried to sponsor an open source project for emulating CUDA on ROCn, but it apparently failed:
https://www.phoronix.com/review/radeon-cuda-zluda
*IF* they had access to nvidia sources, this could have been a very different story (and loss of that competitive advantage)
I thought the consensus was it worked rather well, but AMD chasing Nvidia’s tail was a dumb idea.
Flatland_Spider,
I mean a project management failure, not a failure of the project itself.
As you said, it would be constant catch up mode, and would probably require increasingly more effort as time went on.
Weird. I though their open source push was for Automotive Linux since Tegra does rather well in that market.