Last May, we shared here on the blog the news about the changes that NVIDIA had prepared for Linux, since as we mentioned in the note, in the next release of its drivers “NVIDIA 560” owners, Open Linux kernel modules will be used by default.
Well, now NVIDIA has announced its plans to transition its proprietary drivers to default Linux kernel modules, starting with the Turing microarchitecture (GeForce GTX 1600 and RTX 2000).
It is worth mentioning that modules for Linux were opened in spring 2022 under the MIT and GPLv2 licenses, and the plan to use them as defaults was revealed two months ago. This change implies that the default driver package will use existing open modules, previously offered as an option. However, core firmware functionality and user-space components, such as libraries for CUDA, OpenGL, and Vulkan, will remain proprietary.
Two years later, we have achieved equivalent or better application performance with our open source GPU kernel modules and have added substantial new capabilities:
-Heterogeneous memory management (HMM) support
-Confidential computing
-The consistent memory architectures of our Grace platforms
-And more
We are now at a point where fully transitioning to open source GPU kernel modules is the right decision, and we are making that change in the upcoming R560 driver release.
Until now, proprietary controllers included module variants both proprietary and open source, updated synchronously, but the proprietary modules were used by default.
The main difference Among the available options is that open modules can only be used with GPUs equipped with a GSP microcontroller (separate GPU System Processor). This microcontroller allows the GPU initialization and control operations to be moved from the controller to the proprietary firmware. GSP is found in video cards based on microarchitectures such as Turing, Ampere, Ada and Hopper.
In addition to the new GPUs, the Proprietary modules still support older GPUs that are not equipped with GSP, such as those based on Maxwell, Pascal and Volta microarchitectures. NVIDIA intends to stop implementing support for new GPUs in proprietary modules and focus solely on the development of open modules. For example, support for the new NVIDIA Grace Hopper and NVIDIA Blackwell platforms is now available in open modules, which are not supported by proprietary modules.
Not all GPUs are supported by open source GPU kernel modules.
For next-generation platforms like NVIDIA Grace Hopper or NVIDIA Blackwell, you should use open source GPU core modules. Proprietary drivers are not supported on these platforms.
For newer GPUs on the Turing, Ampere, Ada Lovelace, or Hopper architectures, NVIDIA recommends switching to open source GPU kernel modules. For older GPUs on Maxwell, Pascal, or Volta architectures, open source GPU core modules are not supported on your platform. Please continue to use the NVIDIA proprietary driver.
For mixed deployments with older and newer GPUs on the same system, continue using the proprietary driver.
With the release of NVIDIA 560 drivers for GPUs based on the Turing microarchitecture and for GPU virtualization based on Ada, open versions of the modules will be released of the kernel installed by default and nvidia-peermem.ko in situations where its use is possible. In the distributions Ubuntu, Debian, SUSE and openSUSE, it is recommended to use the "nvidia-open" package to install the open module version of the NVIDIA drivers. On RHEL-based distributions, it is recommended to use the “nvidia-driver«.
It is worth mentioning that NVIDIA offers a new script «nvidia-driver-assistant» aid for detection, which simplifies the selection of the optimal version of kernel modules. Although, on the other hand, for users who prefer to do it with commands, if they want to install proprietary kernel modules on the system, they must specify the option «–kernel-module-type=proprietary» when running the installation file with NVIDIA drivers.
finally if you are interested in knowing more about it, you can check the details in the following link