*** Welcome to piglix ***

Device Dependent X

X.Org Server
X.Org Server logo
Developer(s) X.Org Foundation
Initial release 6 April 2004; 13 years ago (2004-04-06)
Stable release
1.19.3 / 15 March 2017; 61 days ago (2017-03-15)
Repository http://cgit.freedesktop.org/xorg/xserver, git://anongit.freedesktop.org/git/xorg/xserver, git://anongit.freedesktop.org/xorg/xserver
Written in C
Operating system Cross-platform
Size 3.7 MiB
Available in English
Type Display server
License MIT License
Website www.x.org

X.Org Server is the free and open source implementation of the display server for the X Window System stewarded by the X.Org Foundation.

Implementations of the client side of the protocol are available e.g. in the form of Xlib and XCB.

The services with which the X.Org Foundation supports X Server include the packaging of the releases; certification (for a fee); evaluation of improvements to the code; developing the web site, and handling the distribution of monetary donations. The releases are coded, documented, and packaged by global developers.

The X.Org Server implements the server side of the and extensions to it, e.g. RandR.

Version 1.16.0 integrates support for systemd-based launching and management which improved boot performance and reliability.

The Device Independent X (DIX) is the part of the X.Org Server that interacts with clients and implements software rendering. Basically everything in the server except for the hw/ directory. The main loop and the event delivery are part of the DIX.

An X server has a tremendous amount of functionality that must be implemented to support the X core protocol. This includes code tables, glyph rasterization and caching, XLFDs, and the entire core rendering API that draws stippled lines, polygons, wide arcs and many more state-of-the-1980s style graphics primitives.

The Device Dependent X (DDX) is the part of the x-server that interacts with the hardware. In the X.Org Server source code, each directory under "hw" corresponds to one DDX. Hardware comprises graphics cards as well as mouse and keyboards. Each driver is hardware specific and implemented as a separate loadable module.

For historical reasons the X.Org Server still contains graphics device drivers supporting some form of 2D rendering acceleration. In ancient times, the mode-setting was done by some x-server graphics device drivers specific to some video controller/graphics card. To this mode-setting functionality, additional support for 2D acceleration was added when such became available with various GPUs. The mode-setting functionality was moved into the DRM and is being exposed through an DRM mode-setting interface, the new approach being called "kernel mode-setting" (KMS). But the 2D rendering acceleration remained.


...
Wikipedia

...