NVIDIA Embraces Open Source GPU Kernel Drivers, Starting In The Datacenter
by
Zak Killian
—
Thursday, May 12, 2022, 05:10 PM EDT
NVIDIA's relationship with the open-source community has historically been a tale of intense on-again-off-again interactions. In recent years, the company has embraced open source more closely as of late, but its past refusal to open-source its graphics drivers, citing trade secrets and proprietary technology, has continued to be a point of friction between Team Green and Linux kernel developers.
Well, that all ends now, because NVIDIA has announced it will open-source the kernel portion of its graphics drivers. To be clear, there are huge swaths of NVIDIA's graphics drivers that are remaining closed-source, including all of the client-facing portions of the code as well as its drivers for OpenGL, Vulkan, OpenCL, and so on.
Still, this announcement is a humongous deal for open-source advocates, as it means that the NVIDIA graphics driver can be properly integrated into the kernel and use GPL-only kernel symbols and functionality. This will also result in improved integration with various subsystems, including HWMON, reducing the reliance on proprietary NVIDIA tools for hardware monitoring and management.
It would be easy to draw a connection between this change and the relative success of SteamOS on the Steam Deck, but gaming isn't really the play here. After all, the current state of the open-source drivers for desktop GeForce hardware is considered "alpha" by NVIDIA, meaning they're really not ready for prime-time.
Instead, these drivers are primarily for the company's datacenter hardware, at least for now—although everything using the Turing and Ampere architectures is supported. The "Turing and newer" limitation is apparently down to these drivers' reliance on those GPUs' inclusion of the GPU System Processor, which we talked about previously.
Of course, given that they're open source, things probably won't stay that way for long. NVIDIA itself says work is fully underway in transitioning to the open-source kernel driver as its primary Linux driver, and it's also inviting community members to create and contribute their own patches—although you'll have to sign a Contributor License Agreement to do so.
As for why NVIDIA made the decision to do this now, it's difficult to say. The company itself doesn't really elaborate in its announcement, beyond saying that it will help "improve NVIDIA GPU driver quality and security," which is a given. It's possible that the LAPSUS$ hack could have played a part in this choice, although as far as we've seen the majority of the stolen data was never released.
Whatever the reason, this is fantastic news for the open-source community. Everyone benefits from open-source software development, and this is the first step toward a fully open-source graphics driver for the green team's hardware. If you're a developer yourself, you can check out the code on Github right now.