Grafik-Hardware für Linux-Anwender

Grafik-Hardware für Linux-Anwender

Test & Kaufberatung | Kaufberatung

Linux-Anwender sollten beim Grafikkarten-Kauf mit Bedacht vorgehen, denn keine der aktuellen GPUs kann alle Wünsche erfüllen. Schuld daran sind die Treiber.

Für alle bei Notebooks und PCs gängigen Grafikprozessoren gibt es auch Linux-Treiber. Für gelegentliche Experimente mit aktuellen Versionen von Debian, Fedora, Ubuntu, & Co. eignen sich diese alle. Bei Qualität und Funktionsumfang der Treiber gibt es aber riesige Unterschiede. Linux-Anwender sollten Grafik-Hardware daher nicht blindlings kaufen. Hinzu kommt, dass keine Kombinationen aus Grafikprozessor und Linux-Treiber alle Wünsche abdeckt. Ohne Kompromisse geht es also nicht.

Überarbeiteter Artikel aus c't 24/2017

Der nebenstehende Text stammt aus einem Artikel in c't 24/2017. Wir haben darin einige zwischenzeitlich überholte Angaben entfernt und einiges aktualisiert. In der ab Ende Oktober erhältlichen c't Ausgabe 24/2018 nennen wir weitere Details zum aktuellen Stand von Linux-Grafiktreibern; die hier erwähnten Grundlagen werden darin nur angerissen.

Die wenigsten Kompromisse müssen Sie bei AMD eingehen – zumindest, sofern Sie eine mit aktuellen Treibern ausgestattete Distribution einsetzen. Für Office, Internet-Surfen und genügsame Spiele eignen sich die GPUs in Intels Prozessoren ebenso gut oder ein klein wenig besser als jene von AMD. Für anspruchsvolle Linux-Spiele sind Nvidias GeForce-GPUs ein klein wenig besser geeignet: Deren Treiber machen meist etwas mehr Performance locker, sind im Alltag aber bockiger. Das sind aber nur Faustregeln, bei genauem Blick ist die Lage komplizierter.

Simpel ist die Lage nur bei den Grafikkernen in Intels modernen Prozessoren: Sie disqualifizieren sich durch ihre dürftige 3D-Leistung für anspruchsvolles Gaming, empfehlen sich zugleich aber für alle anderen Einsatzzwecke. Das ist einer Familie von Grafiktreibern zu verdanken, die alle gängigen Funktionen ziemlich zuverlässig unterstützen. Diese quelloffenen Treiber entwickelt Intel selbst. Die drei wichtigsten (Basis-, OpenGL- und Vulkan-Treiber) sind ein fester Bestandteil von Linux-Kernel respektive Mesa, die zu den Kernkomponenten von Linux-Distributionen zählen. Letztere bringen die Treiber daher nicht nur mit, sondern richten sie auch vollautomatisch ein, sodass sich Anwender um nichts scheren müssen.

Zum Grafiktreiberstack von Linux-Distributionen und dem Zusammenspiel der verschiedenen Treiber der Grafiktreiberfamilien siehe auch: Thorsten Leemhuis, Bilderwege, Die Grafiktreiber-Architektur von Linux, c't 23/2014, S. 160

Der Nachteil dieses Ansatzes: Neue Fassungen der Treiber lassen sich nur einspielen, indem man auf neuere Versionen von Kernel oder Mesa wechselt. Solche liefern Ubuntu und viele andere klassisch gewartete Distributionen aber nicht bei den normalen Updates, sondern erst mit ihrer nächsten Version. Diese Problematik betrifft vor allem PCs und Notebooks mit erst kurz zuvor eingeführten Prozessorgenerationen von Intel, denn für die braucht man oft brandaktuelle Treiber. Solche Prozessoren sollten Sie daher die ersten Wochen und Monate nach der Einführung besser meiden; danach braucht man meist topaktuell ausgestatteten Distributionen, bis die Treiber schließlich auch in konservativer gewarteten Linuxen einfließen.

Für Nvidias Grafikprozessoren gibt es zwei Grafiktreiberfamilien. Standardmäßig richten Linux-Distributionen die Treiberfamilie „Nouveau“ ein, die von der Open-Source-Community entwickelt wird. Diese bekommen allerdings so gut wie keine Unterstützung von Nvidia, daher dauert es manchmal Monate oder sogar Jahre, bis Nouveau die wichtigsten Funktionen neuer Nvidia-GPUs grundlegend unterstützt. Selbst dann entlockt Nouveau vielen GPUs nur einen Bruchteil ihres jeweiligen Leistungspotenzials und kann auch deren Stromsparmodi nicht oder nur teilweise nutzen. Lüfter laufen dadurch lauter und der Akku von Notebooks geht früher zur Neige. Das gilt insbesondere bei den modernen Grafikchip-Generationen (900er-Serie und neuer), denn da macht es Nvidia der Open-Source-Gemeine noch schwerer: Nouveau kann diese nicht in die schnellsten und sparsamsten Betriebsmodi versetzen, denn das ist mit der GPU-Firmware nicht möglich, die Nvidia zur Integration in Linux-Distributionen von und Nutzung mit Nouveau bereitstellt.

Nvidias proprietärer Treiber ist bei Ubuntu zwar leicht einzurichten, aber auch dort häufiger mal ein Problemverursacher.

Ziemlich gut funktioniert hingegen die proprietäre Grafiktreiberfamilie „Nvidia“, die das Unternehmen selbst entwickelt. Deren Funktionsumfang steht den Windows-Treibern in nicht viel nach, es fehlen aber Funktionen wie HDR. Die Treiber entlocken den Grafikprozessoren zugleich ordentlich 3D-Leistung. Sie sind allerdings proprietär, was verschiedene Nachteile mit sich bringt. Einer: Linux-Distributionen richten die Treiber nicht vollautomatisch ein.

Die Nachrüstung gelingt bei Ubuntu und einigen anderen Distributionen mit wenigen Mausklicks. Bei vielen anderen ist die Installation aber umständlicher oder nur mit fortgeschrittenen Kenntnissen stemmbar. Die können auch bei Ubuntu nötig werden, wenn man eine besonders aktuelle Treiberversion braucht – beispielsweise, weil man eine Grafikkarte mit einer erst jüngst eingeführten GPU sein Eigen nennt. Außerdem gibt es gerade mit proprietären Treibern immer wieder Probleme beim Zusammenspiel mit neuen Kernel- und X-Server-Versionen; der Treiber harmoniert zudem nicht gut mit der Wayland Display Architecture, mit denen die Desktops manche Distributionen ihre Bedienoberflächen standardmäßig zusammensetzen. Anwender, die auf möglichst reibungslos arbeitende Treiber bedacht sind, meiden Nvidia-Karten daher besser.

Für moderne Radeon-GPUs gibt es wie bei Nvidia zwei Treiberfamilien: die quelloffene „Amdgpu“ und die proprietäre „AMDGPU-PRO“. Beide entwickelt AMD selbst; in AMDGPU-PRO stecken sogar einige der quelloffenen Treiber der Amdgpu-Familie.

Die proprietäre Treiberfamilie war früher auch für Gaming-Systeme interessant. Dafür eignet sie sich aber immer schlechter, denn AMD stimmt sie mehr und mehr auf professionelle Einsatzgebiete wie CAD und HPC ab. Offiziell unterstützt AMDGPU-PRO daher nur vier dort gängige Distributionen: CentOS, RHEL, SLES und LTS-Versionen von Ubuntu. Unter anderen Distributionen arbeitet die Treiberfamilie oft nicht oder nur mit Mühen. Selbst zu neueren Ubuntu-LTS-Versionen oder Point-Releases wie 16.04.y ist AMDGPU-PRO manchmal monatelang inkompatibel.

AMDs quelloffene Treiberfamilie hat in den vergangenen Jahren massiv zugelegt und ist bei der 3D-Performance in Spielen meist sogar schneller als die proprietären. Auch Kompatibilitätsprobleme mit Spielen sind selten geworden: Spieleschmieden optimieren ihre Linux-Portierungen nicht mehr nur auf Nvidias proprietäre Treiber, sondern stimmen diese immer häufiger auch auf Radeonsi ab, den OpenGL-Treiber der Amdgpu-Treiberfamilie ab.

Distributionen richten AMDs quelloffene Treiber der Amdgpu-Familie automatisch ein, ein Aktualisieren ist aber schwer – aus denselben Gründen wie bei Intels Treibern.

Linux-Distributionen bringen die besten Treiber für die Grafikprozessoren von AMD und Intel gleich mit; wenn man neue braucht, wird es aber schwierig.

Als wäre das alles nicht schon kompliziert genug, sind die erwähnten Vor- und Nachteile der verschiedenen Treiber nur ein kleiner Ausschnitt eines noch komplexeren Gebiets. So gibt es auch beim De- und Enkodieren von Videos mithilfe der GPU größere Unterschiede, schließlich sind auch dazu spezielle Treiber nötig. Ebenso verhält es sich beim Rechnen auf Grafikchips über OpenCL oder CUDA.

Tücken zeigen sich auch mit zuschaltbaren Grafikchips, wie sie sich häufiger in Notebooks finden. Nvidias Zuschaltechnik „Optimus“ funktioniert mit den proprietären Grafiktreibern zumindest unter Ubuntu so einigermaßen: Man kann die Grafikchips aber nicht mal auf die Schnelle zu- oder wegschalten, sondern muss sich dazu immer ab- und anmelden.

Durch die ständige Weiterentwicklung von Treiber und Linux-Distributionen ändert sich die Situation bei den GPU-Treibern zudem ständig: Was heute nicht funktioniert, kann morgen womöglich schon einfach so laufen. (thl)

Kommentare

Anzeige