zurück zum Artikel

Linux-Grafiktreiber erhalten Direct3D-9-Unterstützung

Linux-Grafiktreiber erhalten Direct3D-9-Unterstützung

Die Open-Source-Treiber für die 3D-Einheiten von GeForce- und Radeon-GPUs unterstützen neben OpenGL nun auch Microsofts Direct3D 9. Das kann die Performance beim Ausführen von Windows-Spielen mit Wine verbessern.

Einige 3D-Treiber der von Linux-Distributionen eingesetzten Software Mesa verarbeiten neben OpenGL- nun auch Direct3D-9-Befehle. Das ist dem Gallium3D-State-Tracker "nine" zu verdanken, der in den Entwicklerzweig von Mesa eingezogen ist [1].

Dieser Gallium3D-State-Tracker kann die 3D-Performance erheblich verbessern, wenn auf Direct3D 9 angewiesene Windows-Software unter dem Windows-API-Nachbau Wine läuft. Dieser muss bislang Direct-3D-Befehle interpretieren und entsprechende OpenGL-Befehle generieren, um 3D-Beschleunigung nutzbar zu machen. Mit dem neuen State-Tracker kann sich ein leicht angepasstes Wine [2] diesen Aufwand sparen, da es die Direct3D-Befehle zur Verarbeitung an den 3D-Treiber übergeben kann.

Ähnlich sollte das auch mit dem auf Wine aufbauenden und kommerziell vertriebenen CrossOver möglich sein, mit dem viele Windows-Spiele unter Linux laufen. Derzeit sieht es aber so aus, als wollen Wine und CrossOver den neuen State-Tracker nicht nutzen, um sich nicht mit zwei Direct3D-9-Implementationen herumschlagen zu müssen; Details liefern Beiträge einer erst kürzlich geführten und bislang ergebnislosen Diskussion (beispielsweise 1 [3], 2 [4]).

Der State-Tracker funktioniert nur mit den in Mesa enthaltenen Treibern, die auf das in Mesa enthaltene Gallium3D aufbauen. Das ist etwa bei den Grafiktreibern der Fall, die viele Linux-Distributionen standardmäßig einrichten, um die 3D-Beschleunigung der meisten modernen GeForce- und Radeon-GPUs von AMD und Nvidia zu unterstützen. Die für Intel-GPUs eingerichteten Mesa-3D-Treiber bauen hingegen nicht auf Gallium3D auf, daher beherrschen sie nach wie vor kein Direct3D. Letzteres gilt auch für die proprietären 3D-Treiber von AMD und Nvidia.

Der neue State-Tracker steckt nicht nur im Entwicklerzweig, sondern auch in der ersten Vorabversion von Mesa 10.4 [5]; die finale Version dieser Versionsreihe soll Anfang Dezember erscheinen. Die dort enthaltenen 3D-Treiber werden zudem mehr OpenGL-4-Funktionen unterstützen als die der derzeit aktuellen Mesa-Version 10.3; bislang beherrscht allerdings keiner alle mit OpenGL 4.0 vorgeschriebenen Erweiterungen, daher melden die Treiber nach wie vor, maximal OpenGL 3.3 zu unterstützen.

Zum Grafikstack von Linux-Distributionen siehe auch die folgenden Artikel in c't 23/14:

(thl [9])


URL dieses Artikels:
http://www.heise.de/-2459135

Links in diesem Artikel:
[1] http://cgit.freedesktop.org/mesa/mesa/commit/?id=01c9bf999ed85a7e6ffa2326e48ecfebafed8641
[2] http://download.ixit.cz/d3d9/
[3] http://thread.gmane.org/gmane.comp.video.mesa3d.devel/88654/focus=89187
[4] http://thread.gmane.org/gmane.comp.video.mesa3d.devel/88654/focus=89196
[5] http://article.gmane.org/gmane.comp.video.mesa3d.devel/89415
[6] https://www.heise.de/ct/ausgabe/2014-23-Die-Grafiktreiber-Architektur-von-Linux-2415770.html
[7] http://www.heise.de/ct/ausgabe/2014-23-Probleme-mit-den-Grafiktreibern-von-Linux-loesen-2415764.html
[8] http://www.heise.de/ct/ausgabe/2014-23-Wayland-vereinfacht-den-Grafikstack-von-Linux-2416016.html
[9] mailto:thl@ct.de