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