Development/Documentation/XserverSourceLayout

Include all attachments?

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