NVIDIA graphics cards are well-known for their performance. In the Linux world, they’re known for something else too—frustration with drivers. So much frustration that you may have come across a video or GIF of Linux founder Linus Torvalds referring to NVIDIA with a middle finger. That’s why it’s big news that NVIDIA has finally released an open-source kernel driver for their GPUs.
Does this mean installing Linux on an NVIDIA-powered machine will be less of a pain? Well, not yet. But eventually, hopefully, that answer will become yes.
NVIDIA’s Open-Source Driver for Newer GPUs
NVIDIA has decided to publish Linux GPU kernel modules as open-source software for the first time, starting with the R515 driver release. This source code is available on GitHub.
The driver only supports NVIDIA Turing Chip GPUs and newer ones. These were first launched in 2018. So if you’re using hardware older than that, and most Linux users are, then this source code is of no benefit to you for the time being.
Who Is This Driver For?
At launch, this driver has been tested to support CUDA on data center GPUs.
People using GPUs for work in the cloud, or for such work as developing artificial intelligence and machine learning, can benefit right away from having greater integration between NVIDIA GPUs and the rest of their Linux system.
What Are the Limitations of NVIDIA’s Driver?
As Christian Schaller of the Fedora Project details on his blog, the code for displays is neither complete nor fully tested. This is the code relevant to those of us who use NVIDIA graphics cards on our personal computers.
This is also only the kernel-related code. Much of a modern graphics driver is found at the firmware and userspace level. Those aspects of NVIDIA’s driver remain closed. If you are a gamer hoping you can opt out of the proprietary driver and receive similar performance, and similar supporting software, that is not yet the case. And it won’t be for quite some time.
What Can You Expect in the Near Future?
Don’t have big expectations for much in the short term. But this is a sign of NVIDIA’s increased cooperation with the community and gives reason to believe the cooperation may even grow.
A specific example of progress could relate to the development of the Nouveau driver, the open-source driver the community has developed for NVIDIA graphics cards. This project began as an effort in reverse engineering, but in recent years there has been active support from NVIDIA.
The driver is fully functional, but it cannot re-clock the NVIDIA card, which is one way it cannot deliver full performance compared to the binary driver. This new code provides a path to close some of the gaps.
For newer cards, for technical reasons, the community may have to work with NVIDIA to create a new open driver that could communicate both with NVIDIA’s proprietary userspace and the open MESA userspace. But for older cards, the Nouveau driver will continue to be the one open-source option in town. Improvements to Nouveau especially matter on hardware old enough that the proprietary driver no longer receives updates.
Did This Come Out of Nowhere?
On the surface, yes. There hasn’t been much big news of NVIDIA open-sourcing its products. But behind the scenes, there has been a fair bit of collaboration with various open-source partners, such as Canonical, Red Hat, and SUSE. You could think of this as NVIDIA taking the next step.
Eventually, open drivers may become less of a reason for Linux users to turn to AMD cards instead.
AMD vs. NVIDIA GPUs on Linux: Which Should You Use?