Nvidia has announced that it will be open-sourcing the Linux drivers for its graphics cards, starting with the R515 release, using a dual GPL/MIT license. The source code for the kernel modules will be available in the NVIDIA Open GPU Kernel Modules repo on GitHub, but at the moment only the code for data center GPUs is considered production-ready. GeForce and Workstation GPUs are considered "alpha quality" at this time.
With fully built packages available, as well as the source code, the move will make it easier for distro managers to include the drivers in their software repositories, with both Canonical (makers of Ubuntu) and SUSE named as developers who can now package the open kernel modules with their distros. Nvidia has been working with the two firms, as well as Red Hat, to improve packaging deployment and create better support models for customers.
Nvidia says the code is currently production-ready for data center GPUs in the Turing and Ampere families following the phased rollout of the GSP driver architecture over the past year. It has been tested across a wide variety of workloads to ensure feature and performance parity with the proprietary kernel-mode driver, but brings new functionality too, such as the DMA-BUF framework for sharing buffers across devices and subsystems that will come into its own with the Hopper architecture. Anyone running GPUs using an architecture that preceded Turing will need to carry on using the old-style proprietary drivers.
It's clear one of Nvidia's main goals with these drivers is to improve support and functionality for supercomputers and large data center installations. Every major supercomputer runs on some flavor of Linux, just about, and having closed-source drivers likely doesn't sit well with the people responsible for those installations.
The picture for home users isn’t quite so rosy right now, however, with only the deprecated and proprietary monolithic kernel module being considered anything but Alpha quality. Improvements are, according to Nvidia, planned throughout the year.
The new open-source kernel-mode driver works with the same firmware as the previous driver, and the same user-mode stacks such as CUDA, OpenGL, and Vulkan. The only stipulation is that all components of the driver stack must match versions within a release. Community-submitted patches will be considered for integration into future driver releases.
“The new Nvidia open source GPU kernel modules will simplify installs and increase security for Ubuntu users, whether they’re AI/ML developers, gamers, or cloud users,” said Cindy Goldberg, VP Silicon alliances at Canonical. The new drivers are expected to make their way into the recently launched Canonical Ubuntu 22.04 LTS within the next few months.
Nvidia also revealed that it is working on an upstream approach with the Linux kernel community and partners, as its current codebase does not conform to the Linux design conventions and is not a candidate for Linux upstream. The source code will also be used to improve the open-source Nouveau driver.
Developers can download the development drivers as part of CUDA Toolkit 11.7. A full data center driver will follow.
- MORE: Best Graphics Cards
- MORE: GPU Benchmarks and Hierarchy
- MORE: All Graphics Content
user space still closed though, But one step at a time!
And last but not least : it's not the driver that's being open sourced, but the kernel connector : user space stays closed source at least for now, with no scheduled release date.
What does it mean ? Simply that open source systems may now initialize the card's 2D mode without having to fallback to VESA compatibility, and when the ABI stabilizes, drivers may be updated without having to recompile the connector as is currently the case.
For more details, check out Phoronix' article on the matter.
because this effort has been done long before the incident happen. michael larabel (phoronix) said it is something that nvidia have work on since 2019 even if they did not officially talk about it. and yes this does not mean nvidia suddenly have open source driver. the effort is more for data center rather than geforce.