Mesa 17.2: Weiterer Performance-Schub für 3D-Treiber von Linux

Trends & News | News

Das neue Mesa entlockt insbesondere Radeon-Karten und Raspi mehr 3D-Performance. Außerdem bringt es eine für neue Spiele benötigte Technik und legt den Grundstock zur Unterstützung von OpenGL 4.6.

Geschwindigkeitssteigerung bei den 3D-Treibern, Anfänge des OpenGL-4.6-Supports sowie Unterstützung für neue Grafikprozessoren von AMD und Intel sind die Highlights des jetzt erhältlichen Mesa 17.2. Die Verbesserungen werden die Spieletauglichkeit und die Hardware-Kompatibilität von Fedora, Ubuntu und anderen Linux-Distributionen verbessern, denn die richten die Grafikbibliothek samt ihrer 3D-Treiber standardmäßig ein. Für AMD- und Intel-Chips sind das typischerweise auch die besten 3D-Treiber, wie der Kasten am Artikelende erläutert.

Wie jüngst üblich gab es die größten Fortschritte beim OpenGL-Treiber Radeonsi, der bei den Grafiktreiberfamilien "Radeon" und "Amdgpu" zum Einsatz kommt und moderne Grafikchips von AMD unterstützt. Bei diesem maßgeblich von AMD entwickelten Treiber gab es abermals sehr viel Feintuning, das die 3D-Performance mancher Spiele deutlich steigert. Das ist etwa dem "Threaded Gallium for Radeonsi" zu verdanken, der laut Tests des zuständigen AMD-Entwicklers bei mehreren Spielen die Framerate um 10 bis 20 Prozent steigern konnte; bei OpenArena waren es in einem Benchmark sogar 27 Prozent.

Teilweise um 50 Prozent höhere Bildraten versprechen einige Umbauten, durch die Mesa das im Mai mit Mesa 17.1 eingeführte "OpenGL Threaded Dispatch" nun in bestimmten Spielen automatisch aktiviert. Das regelt eine Whitelist, auf der derzeit die folgenden Spiele stehen: Alien Isolation, American Truck Simulator, BioShock Infinite, Borderlands 2, Civilization 5 und 6, Euro Truck Simulator 2, The Witcher 2 und War Thunder. Bei Pflege und Erweiterung dieser Whitelist freuen sich AMDs Mesa-Entwickler über Hinweise von Anwendern.

Was gemeinhin als "Linux-Grafiktreiber" bezeichnet wird ist in Wirklichkeit eine Familie von Treibern, die unterschiedliche Aufgaben übernehmen.
Was gemeinhin als "Linux-Grafiktreiber" bezeichnet wird, ist in Wirklichkeit eine Familie von Treibern, die unterschiedliche Aufgaben übernehmen. Bild: c't 23/2014, S. 160

Radeonsi unterstützt jetzt auch die optionale OpenGL-Erweiterung ARB_bindless_texture, auf die unter anderem die Linux-Version von Warhammer 40.000: Dawn of War III angewiesen ist. Der 3D-Treiber implementiert OpenGL 4.5 nun auch bei den kürzlich vorgestellten Grafikkarten Radeon RX Vega 64 und 56. Außerdem unterstützt Radeonsi bereits jetzt den Grafikkern der noch in diesem Jahr erwarteten Prozessoren mit dem Codenamen "Raven Ridge". Dabei handelt es sich um eine neue Generation von APUs (Accelerated Processing Units), die eine mit AMDs Vega verwandte GPU mit der auch beim Ryzen verwendeten Zen-Mikroarchitektur kombiniert. Das neue Mesa bringt zudem auch einen Video-Treiber für die Video-Beschleunigungsfunktionen von Raven Ridge mit.

AMDs Treiberfamilie
Der Radeonsi-Treiber, den die Treiberfamilien Amdgpu und Radeon nutzen, greift bei der Arbeit auf das Amdgpu-Backend von LLVM zurück. Bild: Marek Olšák

Für Vega- und Raven-Ridge-Support ist Radeonsi aber auf LLVM 5.0 angewiesen, das zufällig kurz nach dem neuen Mesa erscheinen soll. Außerdem muss auch der Amdgpu-Treiber des Kernels die Chips unterstützen – das kann er derzeit erst mit einer DC (ehemals DAL) genannten Patch-Sammlung, bei der es noch einiges zu tun gibt, bevor diese in den offiziellen Kernel einziehen kann.

Radv, der in Mesa enthaltene Vulkan-Treiber für AMD-GPUs, erhielt allerlei Fehlerkorrekturen und einige Performance-Verbesserungen. Allerdings haben die Entwickler den Vega-Support in Radv aufgrund größerer Probleme vorübergehend deaktiviert. Erstmals haben indes auch AMD-Entwickler einige Änderungen zu diesem unabhängig von AMD entstandenen Treiber beigesteuert. Dieser soll jetzt auch nahezu alle der Features beherrschen, die SteamVR für Linux erfordert. Einige dieser Verbesserungen stammen von den Spiele-Herstellern Valve und Feral Interactive, die dieser Tage häufiger Änderungen zu Radeonsi und Radv beitragen.

Der für Intel-Chips zuständige OpenGL-Treiber i965 unterstützt jetzt auch den Grafikkern der Coffee-Lake-CPUs, die in einigen Monaten zu Intels kürzlich eingeführter Core-i-8000-Serie stoßen sollen. In dieser bislang nur "Kaby Lake"-CPUs enthaltenen Familie will Intel auch Mobil-Prozessoren der "Cannon Lake"-Generation vertreiben. Für deren GPU bringt der Treiber jetzt eine als "Preliminary Support" gekennzeichnete und daher noch unvollständige, rudimentäre Unterstützung mit. Für ordentliche Treiberunterstützung sind noch mehr Umbauten nötig, denn die Cannonlake-CPUs haben eine GPU der zehnten Generation ("Gen10"); die von Coffee-Lake-CPUs zählt wie die der Vorgänger Skylake und Kaby Lake zur neunten GPU-Generation ("Gen9"), daher waren zum Support dieser Grafikprozessoren deutlich weniger Änderungen nötig.

Mesa 17.2 und der Entwicklerzweig von Mesa unterstützten bereits einige der Extensions von OpenGL 4.6.
Die Treiber des zu Mesa 17.3 führende Entwicklerzweigs unterstützten bereits viele der Extensions von OpenGL 4.6. Bild: mesamatrix.net mit Entwicklungsstand 01.09.2017

Der für Intel-GPUs zuständige und ebenfalls in Mesa enthaltene Vulkan-Treiber "Anv" unterstützt jetzt einige der mit Vulkan 1.0.54 spezifizierten Erweiterungen. Mesa erhielt zudem einige Anpassungen zum Support des kürzlich spezifizierten OpenGL 4.6. Die OpenGL-Treiber für Chips von AMD, Intel und Nvidia implementiert bereits einen signifikanten Teil der bei dieser Version verpflichtenden OpenGL-Erweiterungen. Die Unterstützung für weitere ist bereits in Entwicklung, daher dürfte es beim in drei Monaten erwarteten Mesa 17.3 nochmal deutlich besser aussehen.

Neben den erwähnten Änderungen an den Treibern für PC-Grafikchips von AMD und Intel gab es noch viele andere Änderungen. Einige Optimierungen sollen Berichten zufolge die Desktop-Performance des OpenGL-Treiber VC4 spürbar verbessern, der die GPUs der verschiedenen Raspberry-Pi-Modelle unterstützt. Details zu diesen und weiteren Neuerungen finden sich in der Freigabemail und auf einer Webseite zu Mesa 17.2. Wie jede neue Mesa-Version mit größeren Änderungen gilt auch 17.2 als Development Release; auf Stabilität bedachte Anwender sollen laut den Entwicklern bei der Vorversion bleiben und auf 17.2.1 warten, das in den nächsten Wochen erscheinen dürfte.

Praxisrelevanz der Mesa-Treiber für Grafikprozessoren von PCs

Die in Mesa enthaltenen OpenGL- und Vulkan-Treiber sind die besten und einzigen 3D-Treiber für die Grafikkerne aktueller Intel-Prozessoren.

Langsam aber sicher wird die Lage bei Grafikprozessoren von AMD ähnlich wie bei Intel. Für Radeon-GPUs gibt es zwei Treiberfamilien: Eine quelloffene und eine proprietäre. Der quelloffenen 3D-Treiber steckt in Mesa. Er ist in den letzten Jahren deutlich mächtiger und performanter geworden; selbiges gilt für den zur Treiberfamilie gehörenden Kernel-Treiber, über den der OpenGL-Treiber von Mesa auf den Grafikchips zugreift. Es gibt aber durchaus noch einige Schwachstellen in der maßgeblich von AMD selbst entwickelten und von Distributionen automatisch eingerichteten Familie von Open-Source-Treibern.

AMDs proprietäre Treiberfamilie "AMDGPU-Pro" hat aber ebenfalls eine Reihe von Schwächen. Die größte ist die Inkompatibilität zu vielen modernen Distributionen, denn AMD zielt mit diesen Treibern mittlerweile vorwiegend auf den Einsatz in der professionellen IT (CAD, HPC & Co.). Daher stimmt das Unternehmen die Treiber auch nur noch auf die dort gängigen Distributionen CentOS, RHEL, SLES und Ubuntu 16.04 ab. Unter anderen aktuellen Distributionen arbeitet der proprietäre Treiber oft nicht oder nur mit Mühen. Selbst zu Ubuntu 17.04 waren die Treiber monatelang nicht kompatibel, was sich erst in der ersten Augusthälfte geändert hat. Auch der Support für 16.04.3 erschien erst zwei Wochen nach der Einführung dieser Version; bei Nutzern des Treibers führte ein Wechsel auf die neue Ubuntu-Version daher zu größeren Problemen, wie AMD selbst eingestehen musste.

Anders als vor einigen Jahren liefern AMDs proprietäre Treiber auch nicht in jedem Fall mehr 3D-Performance, denn AMDs proprietäre und quelloffene 3D-Treiber sind sich auf aktuellen GPUs mittlerweile oft ebenbürtig. Bei einige Spielen ist der eine Treiber schneller, bei anderen der andere. Bei den neuen Vega-Chips sollen die quelloffenen Treiber sogar in den meisten Fällen die schnelleren sein, wie erste im Internet kursierende Messungen zeigen.

Mit dem in Mesa enthaltenen Treiber für Grafikchips von Nvidia ist allerdings nicht viel zu holen. Das liegt vor allem am zugehörigen Kernel-Treiber Nouveau: Er liefert nur dürftige Grafikperformance, weil er die meisten modernen GeForce-GPUs nicht in ihre schnellsten Betriebsmodi schalten kann. Hauptschuld daran trägt Nvidia, denn das Unternehmen hält die dazu nötigen Programmierinformationen geheim. Außerdem stellt es für Linux auch nur eine GPU-Firmware bereit, die den Wechsel in die schnellsten oder sparsamen Betriebsmodi blockiert.

(thl)

Forum zum Thema

Kommentare

Kommentare lesen (68 Beiträge)

Anzeige