Nvidia unter Linux: Freie Kernel-Module kommen mit GeForce-Treiber-Serie 560

Marek Lindlein
68 Kommentare
Nvidia unter Linux: Freie Kernel-Module kommen mit GeForce-Treiber-Serie 560

Nvidia hat im eigenen Entwickler-Forum angekündigt, dass mit der kommenden 560er Treiberserie freie Kernel-Module für Linux einziehen, die mit Grafikkarten ab der Turing-Generation (RTX 2000 oder GTX 16xx) zum Einsatz kommen können. Die Option zum Installieren des proprietären Modules bleibt bestehen.

Gleiche Codebasis, unterschiedliche Features

Laut der Installationsanleitung zu den Open Linux Kernel Modules verwenden sowohl der freie Kernel Treiber als auch der proprietäre die gleiche Codebasis, es gibt aber auch Einschränkungen.

Starting in the release 560 series, it will be recommended to use the open flavor of NVIDIA Linux Kernel Modules wherever possible (Turing or later GPUs, or Ada or later when using GPU virtualization).

If installing from the .run file, installation will detect what GPUs are present and default to installing the open kernel modules if all NVIDIA GPUs in the system can be driven by the open kernel modules. Distribution-specific repackaging of the NVIDIA driver may require additional steps, specific to that packaging, to choose the open flavor.

In the release 560 series, it will still be possible to configure the .run file to install the proprietary flavor of kernel modules, with the --kernel-module-type=proprietary command line option. However, in the future, some GPUs may only be supported with the open flavor.

So funktionieren die freien Module nur mit GPUs ab der Turing-Generation, da Nvidia den GPU System Prozessor (GSP) voraussetzt. Dabei handelt es sich um einen kleinen RISC-V-Prozessor innerhalb des Grafikprozessors, welcher unter anderem die Aufgabenverwaltung übernehmen kann, statt diese vom Treiber auf der CPU ausführen zu lassen.

Ziel auf lange Sicht für Nvidia ist, die proprietären Kernel-Module mit der Open-Source-Variante auf dem freien Betriebssystem zu ersetzen. Die meisten Funktionen werden bereits jetzt unterstützt, Nvidia verweist auf CUDA, Vulkan, OpenGL, OptiX und X11. Obendrein gibt es Funktionen, welche exklusiv nur mit den freien Modulen funktionieren, darunter:

  • NVIDIA Confidential Computing
  • Magnum IO GPUDirect Storage (GDS)
  • Heterogeneous Memory Management (HMM)
  • CPU affinity for GPU fault handlers
  • DMABUF support for CUDA allocations

Was hingegen aktuell nicht möglich sein wird, ist G-Sync auf Notebooks sowie der Erhalt des Videospeichers im Rahmen des Power-Managements.

Noch nicht fehlerfrei

Da die Entwicklung noch nicht abgeschlossen ist, wird es noch zu Einschränkungen im Vergleich zu den vorherigen Kernel-Modulen kommen. So ist die GPU-Initialisierung langsamer, wenn Anwendungen davon Gebrauch machen wollen. Ebenso gibt es Verzögerungen beim Wechsel zu und aus Stromsparmodi wie S3 und S4. Es kann auch in verschiedenen Situationen Auswirkungen auf den Stromverbrauch geben.

Der Modus Run Time D3 (RTD3) wird erst ab Ampere (RTX 3000) unterstützt. Die „Sync to vblank blits“-Funktion kann zu höherem Overhead in der Auslastung der GPU führen.

Die Entwicklung der Open-Source-GPU-Kernel-Module wurde bereits 2022 angekündigt und könnte in Zukunft im Zusammenspiel mit dem freien Vulkan-Treiber für Nvidia-GPUs (NVK) eine Alternative zum proprietären Treiber bilden und zum Standard unter Linux werden, so wie es bereits heute bei AMD und deren Open-Source-Treibern der Fall ist.

Microsoft Build 2024 (21.–23. Mai 2024): Alle News auf der Themenseite!