# Moved from http://www.freedesktop.org/wiki/Software/Directories ##META:TOPICINFO{author`"AndersCarlsson" date`"1064392890" format`"1.0" version`"1.2"}% ##META:TOPICPARENT{name="HackersGuide"}% == 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 [[http://en.wikipedia.org/wiki/KDrive | 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 Process``Command``Line() in util.c for example). || || randr/ || Code for the [[Projects/XRandR|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