Zum Hauptinhalt Zur Navigation

d3d1x: Direct3D 10 und 11 für Linux

Luca Barbieri hat mit d3d1x einen neuen State Tracker für Gallium3D in Mesa eingecheckt, was Linux Unterstützung für Direct3D 10 und 11 beschert. Letztendlich soll es so möglich werden, Windows-Spiele mit Wine unter Linux laufen zu lassen.
/ Jens Ihlenfeld
159 Kommentare News folgen (öffnet im neuen Fenster)

Bei dem jetzt veröffentlichten Code handele es sich zwar um eine allererste Version, doch das meiste funktioniere bereits, so Barbieri in seinem Commit(öffnet im neuen Fenster) . Ihm gehe es darum zu zeigen, dass Gallium mehrere APIs unterstützen kann und ein API zur Verfügung zu stellen, das mit einem einfache Wrapper für Gallium umgesetzt werden kann statt den recht komplexen Weg über OpenGL zu nehmen.

Darüber hinaus aber gehe es auch darum, Windows-Spiele, die Direct3D 10/11 nutzen, mit Wine unter Linux laufen zu lassen. Derzeit verfüge Wine nur über eine sehr eingeschränkte Direct3D-10-Implementierung auf Basis von OpenGL, Direct3D 11 werde gar nicht unterstützt. Bevor aber Spiele die neue Schnittstelle nutzen können, müssen noch Wine-DLLs zur Verfügung gestellt werden, was aber sehr einfach sein sollte, meint Barbieri.

Nach Ansicht von Barbieri sind Direct3D 10 und 11 wegen ihrer von Grund auf neuen Architektur OpenGL deutlich überlegen.

Barbieri hat zusammen mit seinem Code auch drei Demos veröffentlicht - d3d11tri, d3d11tex und d3d11gears -, die unter Windows und seiner Direct3D-Umsetzung laufen sollen. Zudem gibt es einen Downloader für Microsofts HLSL-Compiler, um Shader neu zu kompilieren. Entsprechende Binärdateien sind ebenfalls in Barbieris Commit enthalten.

Die Bibliothek Gallium3D wurde zunächst von der Firma Tungsten Graphics entwickelt, bevor die Firma von VMware im Jahr 2008 aufgekauft wurde. Die Grafikbibliothek dient als Schnittstelle zwischen der grafischen API und dem Betriebssystem, um 3D-Unterstützung beispielsweise über OpenGL zu bieten. Die Schnittstelle wird in den virtuellen Applikationen von VMware eingesetzt. Code aus der Gallium3D-Bibliothek wandert immer wieder in das parallel entwickelte Mesa-Projekt. Einige Treiber des Linux-Kernels können bereits Gallium3D verwenden.


Relevante Themen