For Those Interested In Direct3D Over Gallium3D

Posted by Michael Larabel on September 25, 2010

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.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  2. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  3. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
  4. AMD Radeon Gallium3D More Competitive With Catalyst On Linux
Latest Software Articles
  1. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  2. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
  3. F2FS File-System Shows Regressions On Linux 3.10
  4. Previewing The Radeon Gallium3D Shader Optimizations
Latest Linux News
  1. Linux 3.10 Kernel Benchmarks On A Core i7 Laptop
  2. GCC 4.8.1 Compiler Due To Be Out Next Week
  3. Linux 3.10 Kernel Benchmarks For Intel Ivy Bridge
  4. Linux's "Ondemand" Governor Is No Longer Fit
  5. Firefox 22 Beta Enables WebRTC Support
  6. OpenSUSE 13.1 Milestone 1 Released
  7. DRM Graphics Driver Comes For Dove/Cubox
  8. JADE: An LLVM-Based Video Decoder For MPEG RVC
  9. Ubuntu 13.10 Likely Switching To Chromium Browser
  10. Unity 7, Compiz To Be Polished For Ubuntu 13.10
  11. Unity 8, Mir To Be Experimental Choice In Ubuntu 13.10
Latest Forum Talk
  1. Linux Game Development and a Qt Developers Rage
  2. Linux's "Ondemand" Governor Is No...
  3. Greater Radeon Gallium3D Shader Optimization Tests
  4. Fedora 19 Alpha Gets Its First Delay Due To UEFI
  5. OpenSUSE 13.1 Milestone 1 Released
  6. Firefox 22 Beta Enables WebRTC Support
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite