Grafiktreiber unter Linux: Kaum Besserung in Sicht

Schicke 3D-Effekte sollen dem Linux-Desktop zu neuer Ansehnlichkeit verhelfen. Die schönsten Effekte bleiben ohne leistungsfähige Grafiktreiber jedoch unerreichbar – und gerade die sorgen immer wieder für Streitigkeiten und Probleme.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 10 Min.
Von
  • Thorsten Leemhuis
Inhaltsverzeichnis

Dave Airlie, Mitentwickler bei X.org und beim Linux-Kernel, fasst in seinem Vortrag auf dem Ottawa Linux Symposium (OLS) den aktuellen Stand rund um Linux-Grafikkartentreiber unter dem Titel "Open Source Graphic Drivers – They Don’t Kill Kittens" (PDF, Seite 19 bis 26) zusammen. Dabei hält er sich mit Kritik in die verschiedensten Richtungen keineswegs zurück.

Unter den Grafikchipherstellern erntet praktisch nur Intel Lob: Der mit einem Stückzahlmarktanteil von rund 32 Prozent größte Desktop-Grafikchiphersteller entwickelt zusammen mit der Firma Tungsten Graphics den Open-Source-Treiber "i810". Einen eigenen, proprietären Treiber pflegt Intel nicht. Der i810-Treiber bietet umfassende 3D-Unterstützung. Mit Ausnahme des gestern vorgestellten G965 kann er alle Intel-Chipsätze mit integrierter Grafik ansprechen – für den Neuling dürften aktualisierte Treiber vermutlich in Kürze verfügbar sein.

Aber auch bei Intel ist nicht alles eitel Sonnenschein: Airlie mokiert, dass die Open-Source-Gemeinde seit dem i830 keine technischen Dokumente zur Treiberentwicklung mehr erhalte, lediglich Tungsten Graphics würden die nötigen Informationen noch zur Verfügung stehen. Ebenfalls nicht unproblematisch: Der Treiber ist zur Einstellung der Auflösung auf die Hilfe der Video BIOS Extensions (VBE) angewiesen. Da in vielen Grafik-BIOSen selbst gängige Auflösungen in den VBE-Tabellen fehlen, lassen sich unter Linux einige Auflösungen häufig nicht einstellen – erst Programme wie 915resolution schaffen Abhilfe, indem sie das Grafik-BIOS zur Laufzeit modifizieren und fehlende Auflösungen nachtragen. Das ist beispielsweise auf zahlreichen Notebooks nötig, um das Display mit der nativen Auflösung anzusteuern. Ein neuer, derzeit noch experimenteller Treiber umgeht diese Limitierung.

In unseren eigenen Tests bei c't sind weitere Probleme mit dem Intel-Treiber aufgetreten. So arbeitet der Zweischirmbetrieb zumeist nicht oder nur mit fehlerhafter Darstellung. Der TV-Ausgang liegt häufig brach oder sendet nur ein NTSC-Signal, mit dem die meisten hiesigen Anzeigegeräte nicht umgehen können. Und die auf der Intel-Homepage angebotenen Treiber-Updates lassen sich zumeist nur von Experten installieren: Für den 945GM etwa stellt das Unternehmen ein rund 22 MByte großes tgz-Paket mit den kompletten Quelltexten von X.org 6.8 mit einem aktualisierten Treiber bereit. Diesen Brocken zu übersetzen und in das eigene Linux-System einzuspielen dürfte manchen Linux-Anwender überfordern. Zudem fehlen dem Ende vergangenen Jahres von Intel freigegebenen Quellcode zahlreiche Korrekturen für in letzter Zeit gefundene Sicherheitslücken.

Der demnächst von AMD übernommene Grafikchiphersteller steht massiv unter Kritik. Früher unterstützte ATI die Open-Source-Gemeinde vorbildlich und stellte – nicht zuletzt durch Druck eines großen Kunden – genug Informationen zur Entwicklung freier Grafikkartentreiber mit 3D-Unterstützung für die r100- und r200-Serien (Radeon 7xxx, 8xxx und 9xxx bis zu 9250) zur Verfügung. Mittlerweile gibt sich das Unternehmen jedoch verschlossen – Airlie zählt es zur Gruppe der "kitten killers". So hat ATI nur noch ausgewählte Entwickler mit Informationen zu den r300- und r400-Chips (Radeon 9500 bis x850) versorgt, die zudem nur die Programmierung eines 2D-Treibers ohne 3D-Unterstützung ermöglichten. Die Open-Source-Gemeinde hat jedoch im r300-Projekt per Reverse-Engineering anderer Treiber einiges über die 3D-Hardware herausgefunden und unterstützt die 3D-Beschleunigung mit verbesserten Treiber.

Für die aktuellen r500-Chips (Radeon x1300 bis x1900) hat ATI keinerlei Informationen an Open-Source-Entwickler herausgegeben. Die meisten Linux-Distributionen installieren daher Treiber, die den Grafikchip über VESA-Funktionen ansteuern. Damit lassen sich nur bestimmte Auflösungen bei zumeist flimmernden Bildwiederholraten ansteuern. Zudem ruckeln bereits Videos mit geringen Datenraten bei der Wiedergabe, da die VESA-Treiber keine Video-Beschleunigung bieten.

Airlie konnte jedoch den Treiber für ältere ATI-Chips so modifizieren, dass er auch grundlegend mit einer Radeon x1300 zusammenarbeitet. Airlie nutzte bei der Entwicklung allerdings Dokumentation und Programme, die ihm ATI unter einem NDA (Non-disclosure agreement) zur Verfügung gestellt hatte. Daher kann er die seit Monaten fertige, nur rund 600 Zeilen Code umfassende Erweiterung nicht ohne Zustimmung seitens ATI freigeben. Etwas frustriert berichtet Airlie, dass das Unternehmen schon seit vier Monaten alle Anfragen wegen einer Veröffentlichungserlaubnis ignoriere. Laut Airlies Blog soll sich daran auch nach dem Vortrag auf der wichtigen Entwicklerkonferenz nichts geändert haben.

Für Besitzer neuerer ATI-Karten bleibt daher nur der von ATI selbst entwickelte Closed-Source-Treiber "fglrx". Der jedoch hat eine Reihe von Problemen, ist beispielsweise auf einigen Grafikkarten langsamer als der Open-Source-Treiber und führt auch schon mal anfangs zu Systemabstürzen bei Software wie Doom3, die die 3D-Funktionen nutzen.

Auch in den c't-Tests zeigten sich zahlreiche Probleme. Schon das Einspielen des Treibers mit ATIs Installationsprogramm erweist sich auf vielen Distributionen als schwierig. Immer wieder erlebten wir Schwierigkeiten beim Übersetzen des Kernel-Moduls für sehr aktuelle Kernel-Versionen. Zudem hinkt ATI der eigenen Hardwareentwicklung hinterher: Die X1xxx-Chips etwa unterstützt das Unternehmen erst mit einer Mitte April 2006 vorgestellten Treiber-Version – da waren die Grafikkarten mit den neuen Chips schon ein halbes Jahr verfügbar.