This release is a huge step in bettering the experience of using NVIDIA GPUs in Linux, allowing for closer integration with the OS and easier debugging, integration, and contribution from developers. The open source modules make it easier for Linux distribution providers to use. They also sign and distribute the NVIDIA GPU driver to improve the out-of-the-box user experience. Canonical and SUSE can bundle open kernel modules for Ubuntu and SUSE Linux Enterprise Distributions right away.
For faster root cause debugging, developers can trace into code pathways and understand how kernel event scheduling interacts with their workload. Furthermore, enterprise software developers can now simply integrate the driver into their project’s customised Linux kernel.
With input and reviews from the Linux end-user community, NVIDIA GPU driver quality and security will be improved even more. NVIDIA releases a snapshot of the source code on GitHub with each new driver release. Patches supplied by the community are assessed and, if approved, are included in a future driver release.
For further information, see the NVIDIA contribution rules and an overview of the driver release cadence and life-cycle documentation. R515 is the first open GPU kernel module release. The drivers are available in fully-built and bundled versions in addition to the source code.
This code is ready for production on NVIDIA Turing and NVIDIA Ampere architecture data centre GPUs. This was made possible by NVIDIA’s year-long staggered rollout of the GSP driver architecture, which was meant to make the transition as painless as possible for customers. To ensure feature and performance consistency with the proprietary kernel-mode driver, we focused on testing across a wide range of workloads. On the NVIDIA Hopper architecture, features like HMM will be a core component for secret computing in the future.
Support for GeForce and Workstation GPUs is alpha quality in this open source release. Users of GeForce and Workstation GPUs can use this driver to run Linux desktops and take advantage of capabilities like multiple monitors, G-SYNC, and NVIDIA RTX ray tracing in Vulkan and NVIDIA OptiX on Turing and NVIDIA Ampere architecture GPUs. The kernel module parameter NVreg EnableUnsupportedGpus, as mentioned in the documentation, can be used to opt in. In following editions, more sophisticated and feature-rich GeForce and Workstation support will be added, and the NVIDIA Open Kernel Modules will eventually replace the closed-source driver.
Customers with Turing and Ampere GPUs have the option of picking and choosing which modules to install. Customers that purchased pre-Turing will continue to use the closed source modules. The open source kernel-mode driver uses the same firmware and user-mode stacks as the commercial driver, including CUDA, OpenGL, and Vulkan. Within a release, however, all components of the driver stack must match. For example, you can’t take a prior or future release of the source code, build it, and execute it with the user-mode stack from that release.
Both the closed-source driver and the open source kernel modules are precompiled in the R515 release. These versions are mutually exclusive, and the user must choose between them during the installation process. Silent instals will choose the best path for NVIDIA Volta and older GPUs against Turing+ GPUs if the default option is used.