September 30, 2022


Networking, PBX, IT, DIY Solution

Why are NVIDIA open source drivers so important to Linux?

5 min read

Why are NVIDIA open source drivers so important to Linux?


Why are NVIDIA open source drivers so important to Linux?

In a blog post, Christian FK Schaller, director of desktop, graphics, infotainment and i18n at RedHat, shares some of his thoughts on NVIDIA’s open source Linux GPU kernel modules and analyzes the importance of NVIDIA’s open source drivers to the Linux community.


Why are NVIDIA open source drivers so important to Linux?


What are open source drivers

The first thing to be clear: NVIDIA has open sourced the out of tree source code kernel driver. These drivers have been tested to support CUDA use cases on GPUs as datacenters, but not yet for graphics displays. Although there is code to support graphics, it has not been written or fully tested.


Also, only the kernel part is open source, whereas a large part of modern graphics drivers are in firmware and userspace components, which are still closed source. So, for the average Linux desktop user, NVIDIA’s open source drivers currently don’t offer some obvious benefits.


But anyway, there is now an NVIDIA kernel driver that can use the gpl-only APIs in the linux kernel, which lays the foundation for what’s to come.



Can open source drivers replace binary drivers?

Not yet, the open source driver only supports NVIDIA Turing chips and newer GPUs, which means it won’t work on GPUs prior to 2018.

Also, even if you are using a Turing or newer GPU, binary drivers will still be required in your system until the open source kernel modules are fully tested and extended for graphics display use cases.


Also, as said above, a large part of modern graphics drivers are in firmware and userspace components, so even if open source kernel drivers have graphics capabilities, binary drivers will continue to exist.


How open source drivers affect Nouveau

Nouveau is a project aimed at building high-quality, free, open-source drivers for NVIDIA GPUs. It was originally developed as a reverse-engineered driver, but has been actively supported by NVIDIA in recent years.

Nouveau is fully functional, but is severely hampered by the inability to recalculate the clock of NVIDIA graphics cards and other functions, which means that it cannot provide full performance like binary drivers, this time NVIDIA open source GPU kernel modules are of great interest to the Nouveau community and project help.


One caveat: The Linux kernel doesn’t allow multiple drivers for the same hardware, so to get the new NVIDIA kernel driver to work in the current Linux version, you must exit the current Nouveau, or at least be limited to a set of on different hardware.

Just like binary drivers, a large part of Nouveau is not in the kernel, but the userspace part found in the Nouveau-specific firmware currently provided by Mesa and NVIDIA.


The plan currently being discussed by distributions such as NVIDIA and RadHat is for NVIDIA’s binary driver and Mesa to share a single kernel driver, which could be an entirely new driver designed to meet both NVIDIA userspace and Mesa userspace needs.

But it could take a few years for that to happen. This has clear advantages for both the open source community and NVIDIA.

For the open source community, this means that there will now be a kernel driver and firmware that allows changing the GPU’s clock to provide the display performance one would expect from an NVIDIA graphics card, which means that Linux will have a kernel driver and firmware that can be used in the first place Access firmware and kernel-updated drivers for next-generation NVIDIA hardware.




What does open source drivers mean for Linux distributions?

In the near term, it won’t have a major impact. But over time, it provided a way to radically simplify support for NVIDIA hardware.

In the long run, users will have the opportunity to get the same experience on NVIDIA hardware that Linux provides for Intel and AMD hardware, i.e. some out-of-the-box features.

Open source also means that Linux distributions can support new NVIDIA chips for the first time, and a high-performance NVIDIA open source Mesa driver will allow Linux distributions to sign NVIDIA drivers and other parts of the kernel for features like Safe Reboot.


Since the first open source driver release, R515, is for compute GPUs, it can be expected that these options will also be available first to compute users and then to graphics card users.




What’s next?

NVIDIA needs to continue working on this new driver capability, both for computing and graphics display use cases.

And the Linux community and NVIDIA need to work together to develop a plan for the future unified kernel driver and a model around it that works for it.

Either the Linux community or NVIDIA needs to add things like the Mesa Vulkan driver, similar to how RADV is provided for AMD.


The editor’s understanding of the driver is limited. If there are some misunderstandings, you are welcome to correct and criticize. If a friend is interested in this article, you can read it in detail in the blog .




Copyright © All rights reserved. | Newsphere by AF themes.