summaryrefslogtreecommitdiff
path: root/DDX.mdwn
blob: 0a89cb9fdaf603754f378de7396a4bb90a79c4c3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23


## 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|Git]] and hosted on `git.freedesktop.org`, which is accessible via a web interface at [[http://cgit.freedesktop.org/|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|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?