AMD liefert Open-Source R600/700-3D-Treiber

Thomas Hübner
19 Kommentare

Die Bedeutung von Linux wächst kontinuierlich. Dies haben auch die großen Grafikkartenhersteller erkannt, die ihren Produkten nun regelmäßig neue Treiber für das offene Betriebssystem zur Verfügung stellen. Die Qualität und Dokumentationen wird immer besser und der Quellcode zunehmend offener. AMD liefert jetzt erstmalig R600/R700-3D-Code.

Während Intel für seine integrierten Grafiklösungen bereits seit Urzeiten für Jedermann offene Treiber bereit stellt, haben Nvidia und ATi/AMD ihre Entwicklungsressourcen größtenteils auf proprietäre Closed-Source-Treiber konzentriert, um damit so wenig wie möglich über die interne Struktur ihrer Hardware – oder noch schlimmer – die wohl gewählten Softwareoptimierungen preis geben zu müssen. Es steht außer Frage, dass die Closed-Source-Treiber von Nvidia und ATi haben in diesem Jahr große Fortschritte gemacht haben (Auswertung Nvidia, Auswertung ATi/AMD). Insbesondere AMD hatte hier im Vergleich zu Nvidia einiges aufzuholen – was auch gelang, wie folgendes Zitat der zuvor verlinkten Artikel zeigt.

„While many users continue to have hardship over AMD on Linux, 2008 was another significant year for this company on Linux. This year AMD Linux customers were presented with CrossFire, OverDrive, Catalyst AI, Stream Computing, new anti-aliasing functions, MultiView, SurroundView, and the list goes on. Perhaps though the most significant change this year is now AMD's decision to ensure that when new GPUs ship there will be an available Linux driver.“

AMD Linux 2008 Year in Review, phoronix.com

Dennoch haben die proprietären Linux-Treiber noch immer nicht den unter Windows gebotenen Funktionsumfang erreicht, da diese Plattform (zur Recht) die Entwicklungspriorität genießt. So bleibt der Universal Video Decoder der ATi-Grafikkarten unter Linux derzeit noch ungenutzt, während sich die Nvidia-Linuxgemeinde erst seit diesem Jahr über die Purevideo-Unterstützung – die Windows-Plattform unterstützt es seit Ende 2004 – im Treiber freuen kann.

Während Nvidia derzeit nach wie vor kein Interesse daran hat, quelloffene Treiber oder entsprechende Dokumentationen für ihr Grafikkarten bereit zu stellen – das Nouveau-Projekt zur Realisierung von quelloffenen 3D-Treiber wird von Nvidia nicht unterstützt – hat sich AMD im September 2007 entschieden, parallel zur Entwicklung ihren proprietären Linux-Treibern auch die Open-Source-Gemeinschaft mit Informationen unterstützen zu wollen. Der Schritt hin zu einem offenen Treiber verschafft den Vorteil, das so die Produkte stabiler, flexibler, performanter und einfacher zu unterstützen sind als die der verbliebenen Konkurrenz (Nvidia).

AMD hat im Zuge der Open-Source-Strategie umfangreiche 3D-Dokumentation zu seiner R500-Chipfamilie (Radeon X1300, X1500, X1800) veröffentlicht. Bereits im März 2008 war der OpenGL-Benchmark glxgears auf einer ATi Radeon X1300 Pro und Radeon X1800XT lauffähig, im Mai 2008 wurde mit dem offenen Treiber erstmalig der OpenGL-Desktop Compiz von R500-Grafikkarten unterstützt. Bereits zu diesem Zeitpunkt gehörte die R500-Familie jedoch zum alten Eisen.

Schon im Mai 2007 gingen der R600 (Radeon HD 2900 XT) und verwandte Grafikkarten (RV610, RV630) an den Start. Mit den Radeon HD-3000- und 4000-Familien sind inzwischen zwei Nachfolgeserien im Handel erhältlich. Seither wartet die Entwicklungsgemeinschaft auf die nötigen Informationen, um auch für diese quelloffene 3D-Treiber bereitstellen zu können. Kurz vor Neujahr hat das Warten ein Ende. Zwar stehen die Dokumentation noch nicht zur Verfügung (soll Ende Januar 2009 folgen), dafür hat AMD jedoch Quellcode für die R600/700-Familien veröffentlicht, die den Direct Rendering Manager (DRM) und 3D-Beschleunigung unterstützen.

Der freigegebene Code ist derzeit nur für Entwickler von Interesse. Es wird erwartet, dass bis April ein Open-Source-Treiber bereit steht, der einen Funktionsumfang auf Niveau des R500-Treibers liefert. Informationen über den Entwicklungsstand Mesa/DRM- und Xfree86-Treibers sind auf Freedesktop.org einsehbar.