Nvidia Open-Sources Linux Drivers

So many Nvidia GPUs, so little open-source Linux driver support... until now!
(Image credit: Tom's Hardware)

Nvidia has announced that it will be open-sourcing the Linux drivers for its graphics cards, starting with the R515 release, using a dual GPL/MIT license. The source code for the kernel modules will be available in the NVIDIA Open GPU Kernel Modules repo on GitHub, but at the moment only the code for data center GPUs is considered production-ready. GeForce and Workstation GPUs are considered "alpha quality" at this time.

(Image credit: Nvidia)

With fully built packages available, as well as the source code, the move will make it easier for distro managers to include the drivers in their software repositories, with both Canonical (makers of Ubuntu) and SUSE named as developers who can now package the open kernel modules with their distros. Nvidia has been working with the two firms, as well as Red Hat, to improve packaging deployment and create better support models for customers.

Nvidia says the code is currently production-ready for data center GPUs in the Turing and Ampere families following the phased rollout of the GSP driver architecture over the past year. It has been tested across a wide variety of workloads to ensure feature and performance parity with the proprietary kernel-mode driver, but brings new functionality too, such as the DMA-BUF framework for sharing buffers across devices and subsystems that will come into its own with the Hopper architecture. Anyone running GPUs using an architecture that preceded Turing will need to carry on using the old-style proprietary drivers.

It's clear one of Nvidia's main goals with these drivers is to improve support and functionality for supercomputers and large data center installations. Every major supercomputer runs on some flavor of Linux, just about, and having closed-source drivers likely doesn't sit well with the people responsible for those installations.

The picture for home users isn’t quite so rosy right now, however, with only the deprecated and proprietary monolithic kernel module being considered anything but Alpha quality. Improvements are, according to Nvidia, planned throughout the year.

The new open-source kernel-mode driver works with the same firmware as the previous driver, and the same user-mode stacks such as CUDA, OpenGL, and Vulkan. The only stipulation is that all components of the driver stack must match versions within a release. Community-submitted patches will be considered for integration into future driver releases.

“The new Nvidia open source GPU kernel modules will simplify installs and increase security for Ubuntu users, whether they’re AI/ML developers, gamers, or cloud users,” said Cindy Goldberg, VP Silicon alliances at Canonical. The new drivers are expected to make their way into the recently launched Canonical Ubuntu 22.04 LTS within the next few months.

Nvidia also revealed that it is working on an upstream approach with the Linux kernel community and partners, as its current codebase does not conform to the Linux design conventions and is not a candidate for Linux upstream. The source code will also be used to improve the open-source Nouveau driver.

Developers can download the development drivers as part of CUDA Toolkit 11.7. A full data center driver will follow.

Ian Evenden
Freelance News Writer

Ian Evenden is a UK-based news writer for Tom’s Hardware US. He’ll write about anything, but stories about Raspberry Pi and DIY robots seem to find their way to him.

  • aetolouee
    this actually makes me consider nvidia for my next pc. nouveau developers have a lot to do now
    user space still closed though, But one step at a time!
    Reply
  • -Fran-
    Does this mean we'll finally see AMD being able to emulate/run CUDA via the RadeonSI drivers? :D

    Regards.
    Reply
  • weilin
    So... where does this leave their Driver/FW Hash limiter? Open source means those "optimizations" can be trivially removed no?
    Reply
  • jkflipflop98
    It also opens up a plethora of attack vectors into your server.
    Reply
  • mitch074
    Funny how it follows LAPSU$'s threat of releasing a huge data dump if Nvidia won't open source their drivers... Even funnier how the article didn't make that association.
    And last but not least : it's not the driver that's being open sourced, but the kernel connector : user space stays closed source at least for now, with no scheduled release date.
    What does it mean ? Simply that open source systems may now initialize the card's 2D mode without having to fallback to VESA compatibility, and when the ABI stabilizes, drivers may be updated without having to recompile the connector as is currently the case.
    For more details, check out Phoronix' article on the matter.
    Reply
  • renz496
    mitch074 said:
    Funny how it follows LAPSU$'s threat of releasing a huge data dump if Nvidia won't open source their drivers... Even funnier how the article didn't make that association.

    because this effort has been done long before the incident happen. michael larabel (phoronix) said it is something that nvidia have work on since 2019 even if they did not officially talk about it. and yes this does not mean nvidia suddenly have open source driver. the effort is more for data center rather than geforce.
    Reply
  • mitch074
    renz496 said:
    because this effort has been done long before the incident happen. michael larabel (phoronix) said it is something that nvidia have work on since 2019 even if they did not officially talk about it. and yes this does not mean nvidia suddenly have open source driver. the effort is more for data center rather than geforce.
    It's still interesting that the first bit of open sourcing from Nvidia in years follow the LAPSU$ thingie, especially since if they really had been looking at doing so for the data center only, they would have put a lock somewhere in the boot images to restrict this to headless cards, and they probably wouldn't have published anything before reaching the beta stage at the very least. I'm not gonna spit on it, far from it, but it does look a bit... Fortuitous.
    Reply
  • edzieba
    mitch074 said:
    It's still interesting that the first bit of open sourcing from Nvidia in years follow the LAPSU$ thingie, especially since if they really had been looking at doing so for the data center only, they would have put a lock somewhere in the boot images to restrict this to headless cards, and they probably wouldn't have published anything before reaching the beta stage at the very least. I'm not gonna spit on it, far from it, but it does look a bit... Fortuitous.
    Given they may have had access to the last few years of development roadmaps, it's easy to declare a 'win' if you demand something you already know is about to happen.
    Reply