For more years than I care to recall, Linux users have hated NVIDIA, the world’s leading Graphics Processing Unit (GPU) company. Why? Because years after all the other companies open-sourced their drivers, NVIDIA refused to do so. Nor would it give the Linux kernel developers the data they needed to build open-source drivers for them. That left Linux users stuck with proprietary, second-rate drivers. Now, NVIDIA has finally opened up its GPU driver code.
Hate wasn’t too strong a word. In a famous interview, a frustrated Linus Torvalds said, “I’m also happy to very publicly point out that Nvidia has been one of the worst trouble spots we’ve had with hardware manufacturers, and that is really sad because then Nvidia tries to sell chips – a lot of chips – into the Android Market. Nvidia has been the single worst company we’ve ever dealt with. [Lifts middle finger] So Nvidia, f**k you.”
Also: Linux kernel 6.10 officially rolls out: Here’s what’s new and improved
And, lest we forget, in 2022, the Lapsus$ ransomware gang threatened to leak Nvidia’s GPU files if the company refused “to COMPLETELY OPEN-SOURCE (and distribute under a foss license) their GPU drivers for Windows, macOS and Linux, from now on and forever.” This was not your usual ransomware demand.
That didn’t work, but NVIDIA is transitioning fully towards open-source GPU kernel modules as it closes in on a three-trillion-dollar market cap. This marks a major change in its long-standing — and frankly wrong-headed — policy.
This transition began in May 2022 with the release of the R515 driver, which included a set of Linux GPU kernel modules as open source with dual GPL and MIT licensing. Initially, this release targeted data center compute GPUs, with GeForce and Workstation GPUs in an alpha state.
<!–>
Over the past two years, NVIDIA has worked diligently to improve these open-source modules, achieving equivalent or better application performance than their closed-source counterparts. The company has also added substantial new capabilities, including:
- Heterogeneous memory management (HMM) support
- Confidential computing
- Support for the coherent memory architectures of NVIDIA’s Grace platforms
These features won’t help much with getting the best possible gaming performance, but they could assist cryptocurrency miners or artificial intelligence (AI) developers.
Also: How open source attracts some of the world’s top innovators
With the upcoming R560 driver release, NVIDIA will complete its transition to open-source GPU kernel modules. This move is expected to benefit the Linux community by allowing for better integration with the operating system and enabling more robust community development and support.
However, it’s important to note that this transition doesn’t apply to all NVIDIA GPUs. The open-source modules are mandatory for cutting-edge platforms like NVIDIA Grace Hopper or NVIDIA Blackwell. NVIDIA recommends switching to open-source modules for GPUs from the Turing, Ampere, Ada Lovelace, or Hopper architectures. Older GPUs from the Maxwell, Pascal, or Volta architectures will continue using the proprietary driver, as they’re incompatible with the open-source modules.
Need help determining what you’ve got under your computer’s hood? NVIDIA provides a shell script, nvidia-driver-assistant, to help you. Once that’s done, you can install the CUDA Toolkit and the appropriate GPU drivers using your Linux distros’ package manager.
Also: Latest AI training benchmarks show Nvidia has no competition
This move by NVIDIA is a step towards creating a more open ecosystem for Linux users and developers. It also puts NVIDIA in a better position to compete with AMD, which has long been known for its open-source-friendly approach in the Linux space.
While this is a significant development, let me remind you that NVIDIA’s transition to open-source is currently limited to the kernel modules. The driver’s userspace components remain proprietary, which means that full open-source integration, particularly for gaming applications, may still be some way off.
As the tech community digests this news, many hope this could begin a broader shift towards open-source practices at NVIDIA, potentially leading to improved compatibility and performance for Linux users.