Tuesday, January 18, 2011

Gallium3d: Directx 10/11 recreated, opensourced, and now on Linux

Directx 10/11 now has a completely FOSS implementation, made possible via Gallium3d, for applications to plug into, and has been implemented in Linux recently.

Phoronix.com has the (4 months old) scoop:

Sep 21,2010 phoronix.com:

"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!"

Directx 10/11 has been reimplemented, using clean room reverse-engineering, by the gallium 3d project. That is no Microsoft code was used, just a completely different implementation that behaves exactly the same to applications requesting functionality through the application programming interface.

liquidat.wordpress.com has technical info in simple terms:

"Currently Mesa3D implements the specifications of the OpenGL API on Linux. Mesa3D has backends for each hardware driver type, so implementing parts of the API again and again for each driver.
Gallium3D will now hop in by being the only backend Mesa3D needs to focus on. At the same time Gallium3D will also provide a single API to the driver developers: they only need to produce one driver, no matter if DirectX, OpenGL or OpenVG is used (yes, Gallium3D could even help on Windows). This makes developing drivers for new device classes (OpenVZ is interesting for example for mobile phones) much easier."

José Fonseca's Tech blog has a bit more on the architecture.

Choice of DirectX or OpenGl would no longer be a platform consideration.

Of course, games have a lot of windows only dependencies, such as .net, that will need developers to avoid, or use re-implementations that are open and function on 'nix. Mono is the opensource .net project incidentally.

Saurbaten powered by Gallium3d, using OpenGl, from youtube.