TL;DR

NVIDIA mở mã nguồn Linux GPU kernel modules qua repo NVIDIA/open-gpu-kernel-modules dưới giấy phép dual GPL/MIT. Khởi động với driver R515 (tháng 5/2022), trở thành mặc định từ R560 (2024), và bản stable mới nhất hiện là 595.58.03. Các GPU Turing, Ampere, Ada Lovelace, Hopper, Blackwell đều chạy open driver; Grace Hopper và Blackwell bắt buộc phải dùng open (proprietary không còn hỗ trợ). User-space (CUDA, OpenGL, Vulkan, OpenCL) vẫn đóng.

Hero banner NVIDIA HPC / datacenter

What's new

Trước 2022, NVIDIA là tên tuổi lớn cuối cùng vẫn ship kernel driver GPU dưới dạng blob đóng trên Linux — trong khi AMD và Intel mở cả kernel lẫn user-space hơn một thập kỷ. Tháng 5/2022, NVIDIA công bố open-source kernel modules kèm driver R515, lần đầu phát hành dưới dual GPL/MIT. Repo GitHub chứa src/ (OS-agnostic), kernel-open/ (Linux interface layer cho nvidia.ko, nvidia-drm.ko, nvidia-modeset.ko, nvidia-uvm.ko) và nouveau/ (script Python trích GSP firmware cho driver Nouveau).

Sơ đồ installer R515: closed vs open modules

Hai năm sau, NVIDIA chuyển hẳn sang open modules từ R560: mặc định của package manager, runfile installer, và CUDA metapackage đều trỏ về open driver. Tag mới nhất trên repo hiện là 595.58.03, cùng branch datacenter LTSB 580.142 (tháng 3/2026).

Why it matters

Mấu chốt không phải "miễn phí hóa" — driver đã miễn phí từ lâu — mà là quyền kiểm tra và tích hợp. Kernel module đóng là kernel taint, lâu nay là mối đau đầu của mọi CISO chạy GPU NVIDIA trong datacenter. Mở kernel code cho phép:

  • Distro (Canonical, Red Hat, SUSE) tự sign và package driver, giảm ma sát cài đặt.
  • Kỹ sư trace code path kernel, debug cross giữa workload và driver — đặc biệt quan trọng khi benchmark AI training.
  • Tích hợp vào kernel custom (hardened, realtime) mà không chờ NVIDIA ship bản riêng.
  • Confidential computing, HMM (heterogeneous memory management), coherent memory cho Grace CPU+GPU — đòi hỏi kernel-side hook mà blob đóng khó cung cấp an toàn.

Technical facts

Thuộc tínhChi tiết
LicenseDual GPL / MIT
Phiên bản mới nhất595.58.03 (stable); 580.142 (datacenter LTSB, 3/2026)
GPU hỗ trợTuring, Ampere, Ada Lovelace, Hopper, Blackwell
GPU không hỗ trợMaxwell, Pascal, Volta và cũ hơn (không có GSP)
Kernel modulesnvidia.ko, nvidia-drm.ko, nvidia-modeset.ko, nvidia-uvm.ko
CPU archx86_64, aarch64
Linux kernel tối thiểu4.15
User-spaceCUDA, OpenGL, Vulkan, OpenCL — vẫn closed-source

Lý do hard requirement Turing+ là driver phụ thuộc GSP (GPU System Processor) — một microcontroller RISC-V nhúng trong GPU, thay thế Falcon cũ. GSP load binary firmware tại runtime và xử lý init/management tác vụ trước đây CPU host phải làm. Không có GSP, không có open driver.

Comparison

So với closed driver NVIDIA: theo NVIDIA, open modules đạt performance ngang bằng hoặc tốt hơn. Open còn có DMA-BUF (closed thiếu) và dùng được GPL-only kernel symbols. Trên Grace Hopper và Blackwell, open là lựa chọn duy nhất.

So với Nouveau (community): Nouveau trước đây không re-clock được GPU đời mới do thiếu firmware power management — chơi game về cơ bản là "junk". Open modules công khai GSP firmware giúp Nouveau quản lý clock/thermal; tương lai xa Nouveau Mesa có thể gọi thẳng vào open kernel driver.

So với AMD/Intel: AMD mở cả user-space (Mesa) từ 2015, Intel Arc cũng vậy. NVIDIA vẫn giữ CUDA/OpenGL/Vulkan/OpenCL đóng — FOSS purist chưa hài lòng. Nhưng trong HPC/AI, CUDA trưởng thành hơn ROCm và oneAPI rất xa, nên datacenter vẫn chọn NVIDIA.

Use cases

CUDA metapackage từ 12.6 cài open driver mặc định

  • Datacenter / AI / HPC: hưởng lợi nhiều nhất. Security review dễ hơn, bật confidential computing, tận dụng HMM + coherent memory trên Grace.
  • Distro maintainer: Canonical (Ubuntu), SUSE (SLE 15 SP4), Red Hat đều đã package open modules out-of-the-box.
  • DevOps và kernel engineer: trace được vào driver code để debug gốc vấn đề GPU — trước đây phải mò mẫm qua stracenvidia-smi.
  • Linux desktop / game thủ: sau giai đoạn alpha, GeForce RTX đã parity đủ tốt để là default từ R560 — multi-display, G-SYNC, ray tracing Vulkan/OptiX đều chạy.
  • Nouveau contributor: dùng open driver làm reference, kéo GSP firmware vào Nouveau để cải thiện FOSS stack.

Limitations & pricing

  • User-space vẫn đóng: CUDA, OpenGL, Vulkan, OpenCL là binary. Tất cả component driver phải cùng version trong một release — không ghép lẫn được.
  • Pre-Turing không hỗ trợ: Maxwell, Pascal, Volta phải tiếp tục dùng closed driver hoặc Nouveau.
  • Repo là snapshot: mỗi release là một git commit lớn, không có lịch sử chi tiết. Refactor lớn từ community khó merge ngược.
  • Cần CLA: đóng góp code phải ký Contributor License Agreement của NVIDIA.
  • Chưa upstreamable: codebase chưa match Linux kernel design conventions; API/ABI + GSP firmware interface chưa stable.
  • Chỉ Linux: FreeBSD vẫn dùng proprietary driver.

Pricing: hoàn toàn miễn phí. Source trên GitHub. Prebuilt binary qua package manager distro, CUDA toolkit, hoặc installer .run. License dual GPL/MIT cho phép phân phối lại tự do.

What's next

Lộ trình tiếp theo: stable hóa API/ABI và GSP firmware interface để tiến tới mainline upstream Linux kernel — NVIDIA đang làm việc với Canonical, Red Hat, SUSE. Nouveau dần chuyển sang gọi thẳng vào open kernel driver. Và — rất xa — có thể một ngày user-space cũng mở; nhưng CUDA là "crown jewel" kinh tế của NVIDIA, đừng kỳ vọng trong tương lai gần.

Với Linux user, thông điệp đơn giản: nếu GPU của bạn là Turing trở lên, hãy dùng nvidia-driver-open-XXX. Nó là default, nó nhanh hơn hoặc ngang bằng, và nó cho bạn quyền đọc code khi cần.

Nguồn: GitHub NVIDIA/open-gpu-kernel-modules, NVIDIA Developer Blog (R515), NVIDIA Developer Blog (R560), Phoronix, The Register.