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.
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 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, 2).
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; 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:
- Bilderwege – Die Grafiktreiber-Architektur von Linux
- Diagnosepunkte – Probleme mit den Grafiktreibern von Linux lösen
- Bye-bye X-Server – Wayland vereinfacht den Grafikstack von Linux
(thl)