For Those Interested In Direct3D Over Gallium3D
Written by Michael Larabel in Mesa on 25 September 2010 at 02:27 PM EDT. 102 Comments
There still is great interest and discussion among many users interested in Direct3D 10 and 11 being natively implemented on Linux using a new state tracker that was published this week for the Gallium3D driver architecture. It seems some Wine developers are still in opposition to this effort even though their Direct3D 10 implementation within Wine is still very limited in terms of translating the calls to OpenGL and their Direct3D 11 support really hasn't taken off.

Besides our links to the original Git commits and mailing list posts, for those wishing to follow the development of this "D3D1X" state tracker and Wine, there's a few more links to pass along.

There is this mailing list post over on the Wine mailing list (the talks seemed to have stalled on the Mesa mailing list side), where Luca Barbieri who authored this Direct3D 10/11 state tracker and has even begun on some initial Wine DLLs provided more clarifications on his work.

Luca reiterates the plan is to implement all of the Direct3D core interfaces and to ship those within Mesa/Gallium3D as to allow any native Linux applications to use them. There's also the Wine DLLs that he started coding so that Wine can tap into Gallium3D for this native support. Though in some areas Wine may still need to provide some translation support such as for older Direct3D versions and effects. He went on to further clarify Microsoft's documentation efforts around Direct3D and other words to help clear the concerns about this state tracker's legal status.

There's also another post concerning the multi-OS support for this state tracker. While Mesa/Gallium3D is largely focused on providing Linux graphics support, Mesa and most of the drivers can be built and used under the *BSDs, Solaris, and even Mac OS X. Granted, not all of the hardware drivers will work on all platforms without the DRM/kernel-side code being ported, but in those cases you could really use LLVMpipe to run the commands using the Low-Level Virtual Machine off the GPU.

Luca's also talked about writing a Gallium3D driver that simply would convert things to OpenGL so that it could be used by another driver underneath. At the very least, exposing the D3D1X state tracker within Wine could be done as an optional feature.

Since the last time writing about this topic, Luca has pushed a few more Direct3D state tracker improvements into Mesa master too. There's (untested) support for geometry shader translation, shader dumping, and a few fixes.

About The Author
Author picture

Michael Larabel is the principal author of and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and automated benchmarking software. He can be followed via Twitter or contacted via

Related Mesa News
Popular News
Trending Reviews & Featured Articles