Freier Linux-Treiber für Nvidia-GPU unterstützt OpenGL zukünftig via Vulkan
Bei neueren GeForce-GPUs werden Linux-Distributionen für OpenGL-Anwendungen einen Treiber nutzen, der die eigentliche Arbeit einem Vulkan-Treiber übergibt.
(Bild: heise online / dmk)
- Thorsten Leemhuis
Künftig setzen Linux-Distributionen bei Nvidias modernen Grafikchips zur 3D-Beschleunigung von OpenGL-Anwendungen auf den Treiber "Zink". Der universelle Treiber unterstützt OpenGL 4.6 und spricht die Grafikhardware nicht direkt an, sondern delegiert die eigentliche Arbeit an einen Vulkan-Treiber. Bei GeForce-GPUs ist das "NVK", ein Treiber, den eine Collabora-Entwicklerin Faith Ekstrand seit rund drei Jahren maßgeblich vorantreibt, seit Nvidia einen quelloffenen Kernel-Treiber für seine modernen Grafikchips veröffentlicht hat.
Fortschritte auch beim freien Kernel-Treiber
Davon abgesehen hat NVK aber nichts mit Nvidias hauseigenem Treiber zu tun, denn NVK spricht GeForce-GPUs über andere Treiber an. Bei schon etwas betagten GPU-Generationen ist das der im Linux-Kernel bereits seit Langem enthaltene Treiber "Nouveau", bei den neuesten der neuere Treiber "Nova".
Letzterer ist nicht in C, sondern in Rust geschrieben. Haupttriebkraft ist hier der Red-Hat-Entwickler Danilo Krummrich, der erste Bestandteile des Treibers am Sonntag zur Aufnahme in den offiziellen Kernel eingereicht hat. Daher ist es durchaus noch möglich, dass diese in Linux 6.15 einziehen, das in der zweiten Juni-Hälfte erscheinen dürfte. Wahrscheinlicher ist aber, dass es eine spätere Version sein wird. Ohnehin geht es eben nur um erste Teile, daher ist der Weg bis zu einer weitreichenden Praxistauglichkeit und guter Performance noch länger.
Nvidias eigener Kernel-Treiber wird wohl nie in den Linux genannten Kernel einziehen. Unter anderem, weil Nvidia die Schnittstellen zu Userspace-Treibern für Vulkan, Video-Beschleunigung, OpenGL, & Co. mit jeder größeren Überarbeitung verändert – was bei Linux tabu ist.
Videos by heise
OpenGL-via-Vulkan-Umsetzung nur mit neuesten Grafikchips
Die Änderung bei OpenGL-Support betrifft indes nur Grafikchips seit der Turing-Generation – also GeForce-Karten seit den 2018 eingeführten GTX-16- und RTX-20-Generationen. Bei älteren GPUs bleibt es beim OpenGL-Treiber "Nouveau", der wie NVK und Zink zu Grafiktreiber-Bibliothek und -Treibersammlung Mesa gehört und verwirrenderweise den gleichen Namen trägt wie der Kernel-Treiber, auf dem er aufbaut.
Gängige Linux-Distributionen richten Mesa samt dessen Treibern standardmäßig ein, wodurch der jetzt für die Version 25.1 vorgenommene Wechsel des OpenGL-Treibers alle Nutzer mit entsprechend neuen Nvidia-GPUs betrifft. Laut einem begleitenden Blog-Post der leitenden NVK-Entwicklerin Ekstrand soll sich die Stabilität und Performance für Anwender dadurch leicht verbessern. Version 25.1 sollte in rund drei bis vier Monaten erscheinen.
Vermutlich dürften die meisten Besitzer solcher Karten Nvidias hauseigenen proprietären Treiber-Stack nutzen, denn die in Linux und Mesa enthaltenen Kernel- und OpenGL-Treiber unterstützen die modernen Chips nicht sonderlich gut. Mit NVK und Nova sollte sich die Lage hier aber mittelfristig deutlich verbessern.
c't Open Source Spotlight abonnieren
Innovative Software, spannende Projekte: Erweitern Sie Ihre Möglichkeiten und werden Sie Teil der Open Source Community.
E-Mail-Adresse
Ausführliche Informationen zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten erhalten Sie in unserer Datenschutzerklärung.
Zink dürfte sich auch anderswo durchsetzen
Der seit 2018 entwickelte Mesa-Treiber Zink erspart Entwicklern viel Arbeit, da sie sich zur 3D-Beschleunigung so voll auf ihren Vukan-Treiber konzentrieren können. Daher zeichnet sich schon ab, dass auch andere Entwickler zukünftig auf Zink setzen wollen, um sich die Arbeit an einem hardwarespezifischen OpenGL-Treiber zu sparen.
Dank vieler in den letzten Jahren erfolgter Optimierungen an Zink soll die 3D-Performance mit Zink dabei ungefähr das Niveau nativer OpenGL-Treiber erreichen. Dazu müssen Entwickler diese aber auch aufeinander abstimmen. Mit dem Wechsel jetzt dürfte Zink zudem neue Nutzerschichten erreichen, daher ist es recht wahrscheinlich, dass sich noch Bugs im Treiber auftun – genau wie bei jedem anderen neuen Grafiktreiber auch.
(ktn)