DDX
For each type of graphics card there is a Device Dependent X (DDX) driver which does initialization, manages the display and performs 2D rendering. XFree86 4.0 introduced a new device driver interface called XAA which should allow XFree86 drivers to be backward compatible with future versions of the X server.
Each 2D driver has a bit of code to bootstrap the 3D / DRI features.
Where does the DDX driver resides?
The DDX drivers reside in a package called xf86-video-foo
, where foo
is usually the company that produces the hardware, or the hardware brand name, or something related (e.g. xf86-video-intel, xf86-video-ati, xf86-video-nouveau). The open source drivers are developed using ?Git and hosted on git.freedesktop.org
, which is accessible via a web interface at http://cgit.freedesktop.org/.
The source code to the part of the DDX which is relevant to DRI and thus 3D acceleration is typically in files called *_dri.[ch]
.
Possible future developments
With the introduction of ?Kernel Mode Setting, it has become possible to write a generic DDX, called xf86-video-modesetting
. This is only an experiment as of this writing (October 2008). The generic DDX would use a Gallium3D backend for hardware acceleration purposes.
At XDC 2009, it was suggested to move many of the "main" DDX back into the X server Git repository.
Todo: Merge/Link this page to something in the main X.org Wiki to avoid redundancy?