Gallium3D Direct3D 9 For Wine Revived, Again

Written by Michael Larabel in Mesa on 13 January 2014 at 11:48 AM EST. 72 Comments
MESA
Back in 2010 there was native Direct3D 10/11 support on Linux via a Gallium3D state tracker implemented for the Radeon/Nouveau open-source drivers. The D3D 10/11 Linux support was ultimately removed but last year a Direct3D 9 state tracker was published with patches for it to be taken advantage of by Wine. That work has now been restored.

The Direct3D 9 support for Gallium3D had higher hopes when published since it fit closer with the Gallium3D design and it was published in a working state for games/applications. The state tracker was published with a Wine patch to use the state tracker in place of its own Direct3D to OpenGL translation layer.

While the Direct3D 9 support was interesting open-source GPU driver fans at first, it was ultimately short-lived, again. Not much happened and then on the Wine side their developers don't want to depend on a solution that's not cross-platform and universal among Linux users -- with the D3D9 state tracker just working for Gallium3D drivers, so basically users of the open-source Radeon and Nouveau drivers.

While the D3D9 Gallium3D out-of-tree state tracker hasn't generated news in months, this morning a developer reviving the work had posted in our forums.

David Heidelberger is trying to push along "Gallium Nine" since it delivers better Wine-based gaming performance for some games/hardware. The point he uses is Bioshock running 35-45 FPS with the Direct3D Linux support or just 23-35 FPS with the conventional Wine Direct3D to OpenGL translation layer. David fixed up the state tracker to work with Mesa 10.x. Thus it's now easy to play with and run the code.

The updated code is in this Mesa Git repository and there's an updated Wine support.

While the patches have been revived, they still stand likely small chance of being mainlined and maintained given the history of the Direct3D state trackers. There's also legal uncertainty about this Direct3D support for Linux, beyond the lack of upstream Wine support and no other Linux games/applications out there being focused on taking advantage of the D3D9 API.

A separate Wine project still ongoing for boosting the performance of the Direct3D layer is the command-stream patch-set which should be merged once it's all set and regression-free, but for now is already found in CodeWeavers' CrossOver 13.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,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 OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week