1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

Direct3D 10/11 Is Now Natively Implemented On Linux!

Michael Larabel

Published on 21 September 2010
Written by Michael Larabel
Page 1 of 1 - 270 Comments

It's a pity Luca Barbieri or any Mesa / Gallium3D developers are not at Oktoberfest as they are deserving of more than a few Maß of Augustiner. In fact, today a new Gallium3D state tracker was pushed into Mesa and it's perhaps the most interesting state tracker for this open-source graphics driver architecture yet. It's a state tracker that exposes Microsoft's DirectX 10/11 API on Linux! And it's already working and can be hooked into Wine!

Luca Barbieri made a rather significant commit today that adds a state tracker dubbed "d3d1x", which implements the Direct3D 10/11 COM API in Gallium3D. Luca says this is just the initial version, but it's already working and can run a few DirectX 10/11 texturing demos on Linux at the moment. This is not a matter of simply translating the Direct3D calls and converting them to OpenGL like how Wine currently handles it, but is natively implemented within Gallium3D and TGSI to speak directly to the underlying graphics driver and hardware. Thanks to Gallium3D's architecture, this Direct3D support essentially becomes "free" to all Linux drivers with little to no work required.

As said in the commit, "The primary goal is to realize Gallium's promise of multiple API support, and provide an API that can be easily implemented with just a very thin wrapper over Gallium, instead of the enormous amount of complex code needed for OpenGL. The secondary goal is to run Windows Direct3D 10/11 games on Linux using Wine."

In regards to Wine taking advantage of this state tracker, no DLLs have been published yet for Wine to hook into this state tracker, but Luca says that should be quite easy to accomplish.

If things could not get any better, "Fglrx and nvidia drivers can also be supported by writing a Gallium driver that talks to them using OpenGL, which is a relatively easy task. Thanks to the great design of Direct3D 10/11 and closeness to Gallium, this approach should not result in detectable overhead, and is the most maintainable way to do it, providing a path to switch to the open Gallium drivers once they are on par with the proprietary ones."

This is incredible news especially as Wine only has limited DirectX 10.0 support and lacks no form of DirectX 11.0 at the moment.

As another goal of this state tracker, "The third goal is to provide a superior alternative to OpenGL for graphics programming on non-Windows systems, particularly Linux and other free and open systems. Thanks to a very clean and well-though design done from scratch, the Direct3D 10/11 APIs are vastly better than OpenGL and can be supported with orders of magnitude less code and development time, as you can see by comparing the lines of code of this commit and those in the existing Mesa OpenGL implementation."

For those thinking that Direct3D 10/11 on Linux will be sub-par, "Finally, a mature Direct3D 10/11 implementation is intrinsically going to be faster and more reliable than an OpenGL implementation, thanks to the dramatically smaller API and the segregation of all nontrivial work to object creation that the application must perform ahead of time."

VMware previously was working on a Direct3D state tracker and it was not going to be open-source and primarily targeted for Gallium3D on Windows, but this is different and is open-source thanks to its development by a community members. This VMware / Tungsten state tracker also targeted Direct3D 9.0.

Prost to Gallium3D and the open-source Mesa developers for making this milestone possible! Hopefully soon we can finally see an OpenGL 3.x/4.0 state tracker too. Implementing Direct3D 10/11 on Linux required around 26,000 lines of code to be added to Mesa. I have to wonder though what the Microsoft executive that was buying me beers has to say about Direct3D on Linux.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Articles & Reviews
  1. Preliminary Tests Of Intel Sandy Bridge & Ivy Bridge vs. Broadwell
  2. AMD FX-8320E Performance On Linux
  3. Linux Compiler Benchmarks Of LLVM Clang 3.5 vs. LLVM Clang 3.6-rc1
  4. Intel Broadwell HD Graphics 5500: Windows 8.1 vs. Linux
  5. Linux Benchmarks Of NVIDIA's Early 2015 GeForce Line-Up
  6. NVIDIA GeForce GTX 960: A Great $200 GPU For Linux Gamers
Latest Linux News
  1. Now-Closed KDE Vulnerabilities Remind Us X11 Screen Locks / Screensavers Are Insecure
  2. Vivaldi: A New Chromium-Powered, Multi-Platform Browser
  3. KDE Plasma 5.2 Officially Released
  4. Intel Broadwell On Linux Has Working OpenCL 1.2, VP8 Video Acceleration
  5. GParted 0.21 Brings ReFS Detection, EXT4 For RHEL5, Reiser4 For Linux 3.x
  6. Wine Staging Update Has Better CUDA Support, Driver Testing Framework
  7. Nouveau In Linux 3.20 Will Have A Lot Of Code Cleaning
  8. Compare Your Linux System To The i7-5600U Broadwell X1 Carbon ThinkPad
  9. Debian 8.0 "Jessie" Installer RC1 Released
  10. Chromebook "Rush" With 64-bit Tegra SoC Support Lands In Coreboot
Most Viewed News This Week
  1. Windows 10 To Be A Free Upgrade: What Linux Users Need To Know
  2. LibreOffice 4.4 Is Coming Soon With New Features
  3. Google Admin Encourages Trying Btrfs, Not ZFS On Linux
  4. TraceFS: The Newest Linux File-System
  5. My Initial Intel Broadwell Linux Experience With The ThinkPad X1 Carbon
  6. Keith Packard Leaves Intel's Linux Graphics Work
  7. Interstellar Marines On Linux With Catalyst: Bull S*#@
  8. Faster VP9 Decoding Is On The Horizon