DirectX 9

Hardware theme

Supports or requires DX9 compliant hardware. Possibly needs only the run-time in case no hardware acceleration is used.


Alternate name: DX9

Note: Developers listing "DirectX 9" in system requirements of native Linux games may claim they mean 'DirectX 9 compliant hardware'. But they do not say this, and even if they did, both ways of saying this are misleading, fraudulent, and completely non-applicable. Akin to Toyota saying a Lexus LFA requires Nissan GT-R35 Software Version 11-12 (not installable to the LFA) because of the LFA's nitrogen filled tires (which are not an option offered with the LFA). Gallium3D, nor any other driver-level solution to run DX9 calls on Linux have anything to do with devs listing"DirectX 9" in system requirements.

On September 21, 2010, native support for DirectX 10 & 11 was added to Gallium3D by developers. DirectX 9 was added in 2013. This is an effective implementation of the DirectX API on non-Windows based machines such as Linux, *BSD, and such (anything that runs Gallium3D). This is not emulation or a 'compatibility layer', this is native code. Note that this does not mean existing DirectX games will run on natively on other operation systems (they are still written for Windows). It does offer the option to developers to port their Windows games without touching the DirectX code at all. Formally, they needed to convert everything to OpenGL (or, gadzooks!, software rendering, which some did). And, in theory, developers familiar with DirectX can create a native Linux game from scratch using DirectX code. Previously, developers have had various complaints about creating and porting games to Linux (especially porting) that centered around their enslavement to DirectX. And well, they still complain about it, but we now know their complaint is baseless.

Gallium3D is integrated into Mesa for the vast majority of operating systems that use it.

There are other areas where DirectX in Galium3D can be a huge help as well:
Virtualizing. Rather than using the extra step of translating DirectX through the host's graphics drivers (which can involve going through OpenGL/Mesa and X11 and compositors), just send untranslated code directly to the hardware via Galium3D.
Emulation. One less thing to Emulate. Actually most emulators don't bother with DirectX emulation at all (DirectX simply doesn't work on the emulator). But not they can add this compatibility.
WINE compatibility layer. But this one is complicated. WINE devs chose not to simple translate Direct3D to OpenGL. They chose a more complicated route that apparently depends heavily on Mesa and other graphics subsystems in a way that is not easily changed. However, the Wine DLLs can access Gallium3D so there is at least this alternative that may improve performances in some games.
MS-DOS. Yup, DJGPP added a driver that uses Mesa, which has Gallium3D. Thus, its entirely possible to port or create DirectX games for DOS. Note to Developers, code is available via LGPL despite SciTech's omission of this fact in their documentation (SciTech is one of the parties in the Mesa-DOS chain); choose your license accordingly
New features:
* High level shader language
* Shader Model 2.x
* Floating-point texture formats
* Multiple render targets
* Texture look-up in Vertex shaders
* XInput API to replace older DirectInput

DX 9Ex was special release that could take benefit of the Windows Display Driver Model in Vista.

The first DirectX 9 video game was released in 1996.

Ubisoft, Electronic Arts and THQ published most of these games.

Parent group



Windows 835
Linux 107
Mac OS X 13

By year

96980002040608101214161820 1203060900 ABCDE
A2002 - DirectX 9 released
B2004 - DirectX 9.0c released (SM 3.0 introduced)
C2005 - First 64bit version of DirectX
D2006 - DirectX 10 introduced
E2008 - OpenGL 3.0

Popular tags

aspectratio-16-9 aspectratio-4-3 cdrom cpplanguage demo directx10 directx11 download drm dvd firstpersonshooter fmod leveleditor lua mediaindrive milessound mmog openal physx securom7 serialkey shadermodel1 shadermodel2 shadermodel3 steamworks tactical ubuntu vorbis widescreen win2k win98 winvista winxp