Nvidia unternimmt den ersten Schritt in Richtung Open-Source-Linux-GPU-Treiber

Vergrößern / Die RTX 3080 Ti.

Sam Machkovech

Nach Jahren von andeutendNvidia gab gestern bekannt, dass es sein würde Open-Source-Teil seines Linux-GPU-Treibers, wie es sowohl Intel als auch AMD seit Jahren tun. Bisher mussten Linux-Anwender, die Nvidias proprietären Treiber umgehen wollten, auf Reverse-Engineering-Software wie zurückgreifen das Nouveau-Projektdas auf älterer Hardware am besten funktionierte und bestenfalls unvollständige Unterstützung für alle GPU-Funktionen von Nvidia bot.

„Diese Version ist ein bedeutender Schritt zur Verbesserung der Erfahrung bei der Verwendung von NVIDIA-GPUs in Linux, für eine engere Integration mit dem Betriebssystem und für Entwickler zum Debuggen, Integrieren und Gegensteuern“, sagt er. ein Blogbeitrag mehreren Nvidia-Mitarbeitern zugeschrieben. „Für Anbieter von Linux-Distributionen erhöhen die Open-Source-Module die Benutzerfreundlichkeit. Sie verbessern auch die sofort einsatzbereite Benutzererfahrung beim Signieren und Verteilen des NVIDIA-GPU-Treibers. Canonical und SUSE sind in der Lage, die offenen Kernel-Module sofort damit zu packen Ubuntu und SUSE Linux Enterprise-Distributionen.”

Nvidia veröffentlicht ausdrücklich einen Open-Source-Kernel-Treiber unter einer doppelten MIT / GPL-Lizenz und ist es nicht derzeit Open-Source-Teile des Treibers, die im User Space laufen. Dazu gehören neben der Firmware für den GPU System Processor (GSP) auch Treiber für OpenGL, Vulkan, OpenCL und CUDA, die noch Closed Source sind. Nvidia sagt, dass diese Treiber „Closed Source bleiben und mit vorgefertigten Binärdateien veröffentlicht werden“, so dass es nicht so klingt, als gäbe es unmittelbare Pläne, Open-Source-Versionen zu veröffentlichen.

Nvidia liegt bei Open-Source-GPU-Treibern immer noch hinter Intel und AMD – beide Unternehmen pflegen Open-Source-Kernel- und User-Space-Treiber sowie Closed-Source-Firmware. Dies ist jedoch ein erster Schritt in Richtung Open-Source-Parität für Nvidias Linux-Treiberpakete.

Die Open-Source-Treiber von Nvidia unterstützen nur die Turing-basierten GPUs des Unternehmens und neuer, einschließlich der GeForce GTX 1600-Serie, der RTX 2000- und 3000-Serie und Quadro-Workstation-GPUs, die auf derselben Architektur basieren. Die proprietären Treiber des Unternehmens gehen bis zur Kepler-Architektur von 2012 zurück.

Auch die Open-Source-Treiber werden noch nicht in den Linux-Kernel integriert, da wie Phoronix berichtet, die API, ABI und die Schnittstelle zwischen dem Kernel-Treiber und der GSP-Firmware-Schnittstelle wurden noch nicht fertiggestellt. Das bedeutet, dass alles, von der Firmware über den Kernel-Treiber bis hin zu den User-Space-Treibern, mit den Versionen übereinstimmen muss, um richtig zu funktionieren (die heutige Version ist Version R515.43.04). Sobald diese Schnittstellen fertiggestellt sind, kann der Treiber in den Kernel hochgeladen werden, und verschiedene Versionen der Firmware, des Kerneltreibers und der User-Space-Treiber sollten in der Lage sein, zusammenzuarbeiten.

Nvidia sagt, dass die Unterstützung für seine Rechenzentrums-GPUs in den aktuellen Treibern in dieser ersten Version „produktionsreif“ ist, aber dass die Unterstützung für GeForce, Quadro und andere Consumer-GPUs „Alpha-Qualität“ ist – das ist keine Software, die Sie wollen Eile zu installieren, es sei denn, Sie möchten auf einem Testbed-System die Reifen treten oder selbst zum Code beitragen.

Hector Martin, einer der Entwickler hinter dem Asahi-Linux Verteilung, kritisiert Nvidia für die Verlagerung vieler Funktionen in seine Closed-Source-Firmware, die dann vom Open-Source-Treiber aufgerufen wird. Martin Anrufe der Open-Source-Treiber „ein Nettogewinn für praktische Zwecke“, da der Blob des proprietären Codes leichter in einer Sandbox abgelegt werden kann. “Aber es wurde keine Freiheit gewonnen, für Leute, die sich darum kümmern”, schreibt er. “[About] die gleiche Menge an Code ist geschlossen [as before].”

Leave a Reply

Your email address will not be published.