whatisgithub

What is open-gpu-kernel-modules?

nvidia/open-gpu-kernel-modules — explained in plain English

Analysis updated 2026-06-24

16,991CAudience · ops devopsComplexity · 5/5Setup · hard

In one sentence

NVIDIA's open-source Linux kernel driver modules for their GPUs, letting advanced users, distribution packagers, and system integrators build the low-level GPU driver from source and inspect how it works.

Mindmap

mindmap
  root((NVIDIA open GPU))
    What it does
      Open-source kernel driver
      Build from source
      GPU hardware interface
    Architecture
      OS-agnostic binary component
      Kernel interface layer
      Matching GSP firmware
    Platforms
      Linux x86 64-bit
      Linux aarch64
      Turing GPU and newer
    Use cases
      Distro packaging
      Firmware extraction
      Driver inspection
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build NVIDIA kernel modules from source to package them for a custom or hardened Linux distribution.

USE CASE 2

Inspect how the NVIDIA driver communicates with the Linux kernel for security auditing or research.

USE CASE 3

Extract firmware blobs from the NVIDIA driver release so the open-source Nouveau driver can use them on Turing-class hardware.

USE CASE 4

Compile and install open-source kernel modules on an aarch64 server with an NVIDIA Ampere GPU.

What is it built with?

CLinuxGCCClangMake

How does it compare?

nvidia/open-gpu-kernel-modulesuberguidoz/flipperwoltapp/blurhash
Stars16,99116,99816,980
LanguageCCC
Setup difficultyhardmoderateeasy
Complexity5/52/52/5
Audienceops devopsdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

Must be paired with the matching NVIDIA driver release (v595.71.05), requires root, kernel headers, and a Turing-or-later GPU.

License information is not mentioned in the repository description.

So what is it?

This repository holds NVIDIA's open-source code for the Linux kernel modules that let an NVIDIA graphics card work on a Linux computer. The kernel module is the low-level piece living inside the operating system kernel that talks to the GPU hardware, what every program ultimately depends on to reach the card. Until this project, that piece of NVIDIA's driver was closed source. The README is mostly build and packaging instructions. You compile the modules with a single make modules command and install them with make modules_install as root. The modules built here must be paired with matching GSP firmware and user-space driver components from the same NVIDIA driver release (the README pins version 595.71.05), the rest of the driver can be installed from NVIDIA's .run file with a flag that skips its built-in kernel modules. Both x86_64 and aarch64 CPU architectures are supported. Any reasonably modern GCC or Clang works, and Linux kernel 4.15 or newer is supported. Each NVIDIA kernel module is split into an OS-agnostic component, shipped as a pre-built binary because it is large and slow to compile, and a kernel interface layer that has to be rebuilt for the specific kernel you are running. The repo also includes scripts for extracting firmware so the community Nouveau driver can use it. Compatible hardware is anything from the Turing generation of GPUs onward. Use this code if you are a Linux distribution packager, system integrator, or advanced user who wants to build NVIDIA's modules from source rather than using the prebuilt installer, or if you want to inspect or contribute to how the driver speaks to the kernel. The full README is longer than what was provided.

Copy-paste prompts

Prompt 1
Walk me through compiling and installing NVIDIA's open-source kernel modules from source on Ubuntu 22.04 with an RTX 3090, including pairing with the matching user-space driver version.
Prompt 2
I am packaging NVIDIA open-source kernel modules for a custom Linux distribution. What build flags and kernel compatibility requirements do I need to know?
Prompt 3
How do I use the NVIDIA open-gpu-kernel-modules repo to extract firmware for the Nouveau driver and enable it on a Turing GPU?
Prompt 4
I have an aarch64 server with an NVIDIA A100. Walk me through building and installing the open-source kernel modules and verifying they load correctly.

Frequently asked questions

What is open-gpu-kernel-modules?

NVIDIA's open-source Linux kernel driver modules for their GPUs, letting advanced users, distribution packagers, and system integrators build the low-level GPU driver from source and inspect how it works.

What language is open-gpu-kernel-modules written in?

Mainly C. The stack also includes C, Linux, GCC.

What license does open-gpu-kernel-modules use?

License information is not mentioned in the repository description.

How hard is open-gpu-kernel-modules to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is open-gpu-kernel-modules for?

Mainly ops devops.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.