Moved from http://www.freedesktop.org/wiki/Software/Directories
Xserver Directory Layout
XXX: Add more directories, such as miext/ and the hw/kdrive/ subdirectories.
Name | Explanation |
dix/ | The device independent parts of X, for example the code used for dispatching requests (see Dispatch() in dix/dispatch.c) and handling resources. main() is located in this directory in main.c. |
doc/ | Less documentation than would be expected - contains the X server man page and an explanation of the scheduler. |
fb/ | Code for doing graphical operations on framebuffer surfaces, for example blitting and compositing images. |
hw/ | Hardware dependent code, driver APIs and configuration file operations. |
hw/dmx/ | Distributed Multi-Head X code - well documented in hw/dmx/doc/html/index.html. |
hw/kdrive/ | The kdrive server and associated code. |
hw/xfree86/ | Code associated with unix-like OSes, such as Linux or BSD. |
hw/xquartz/ | Mac OS X specific code. |
hw/xwin/ | Cygwin/X code, for running on Windows machines. |
include/ | Xserver include files lie here. |
mi/ | Machine independent code, used for things like high-level graphical operations. Makes calls down to the fb/ code through function pointers in screens, windows or gcs. |
os/ | Operating system dependent code that does not control hardware, things like authentication, or processing arguments passed to the server (see ProcessCommandLine() in util.c for example). |
randr/ | Code for the RandR extension. |
render/ | Code for the Render extension. |
Xext/ | Code for various extensions, for example Xinerama and Xv. |
xtrans/ | Code for handling network connections. |
-- Main.?AndersCarlsson - 23 Sep 2003