Nvidia launches open source GPU kernel modules for Linux

Nvidia releases its Linux GPU kernel modules on an open source basis with a dual GPL/MIT license now available on GitHub.

It’s a good day for users of Linux distributions, as the hardware giant says the move will allow for tighter integration with the operating system and for developers to debug, integrate and contribute to their communities.

The move follows a period of colorful history between Linux and Nvidia, as Linus Torvalds, the Linux kernel’s chief architect, once dubbed Nvidia “the worst company we’ve ever dealt with” in a speech by 2012.

What does this mean for users?

Nvidia says the move will allow developers to follow code paths and see how kernel event scheduling interacts with their workload, allowing for faster debugging of root causes.

Additionally, Nvidia says enterprise software developers will now be able to embed the driver into the custom Linux kernel configured for their project.

This will help improve the quality and safety of the Nvidia GPU driver through contributions and feedback from the Linux end-user community according to the company.

The support isn’t configured to be shared equally across all of Nvidia’s hardware, however.

Code for its data center GPUs in the NVIDIA Turing and NVIDIA Ampere architecture families is production-ready, while support for GeForce and Workstation GPUs is merely alpha-quality, making this latest announcement less relevant for laptop users and general public.

Nvidia promises to introduce more GeForce and Workstation support in future releases and NVIDIA Open Kernel modules will eventually supplant the closed-source driver.

The open-source kernel-mode driver runs on the same firmware and user-mode stacks as some of its other offerings according to Nvidia, including CUDA, OpenGL, and Vulkan.

However, all components of the driver stack must match versions within a release.

If you want to try the new kernel modules, see the driver’s README document for instructions on installing the correct versions and for additional troubleshooting steps.

Leave a Comment