This page has general information on X development, including how to get started.
A common misconception is that developers need to understand all of X to get started. This is not true, and even of the "core" developers, only few actually know all the pieces that put X together. The best way to get started is to simply pick a problem and give it a try.
There is also a new book in the Amazon Kindle format, Hands-on Projects for the Linux Graphics Subsystem. This includes a number of original projects on the X.Org implementation of the Linux graphics subsystem. The book is aimed for instructors, students and any other OS internals enthusiasts.
Documentation
Glossary: Various terms used in X, and what they mean.
Modular Developers Guide: For builders and developers working on the modular X.Org source tree
Submitting patches: How to submit a patch to an Xorg project.
Making a release: How to make an individual module release.
Writing documentation: How to document your work in X.
Documentation being converted to DocBook: What needs to be converted and what is being converted
X server source layout: A map to the different directories in the X server source
The devPrivates system: All about the private storage system in the server.
Wrapping functions: How to add hooks to functions in the server.
Grab processing: How input grabs are dealt with in the server.
Cursor handling: Introduction into DIX cursor handling.
Input event processing: How input events are dealt with in the server.
Security: How to make use of the security facilities within X.
Performance: A fairly detailed document explaining what our performance problems actually are, and things that aren't performance problems at all.
Xorg input driver HOWTO: How to write an input driver for X.Org.
How video cards work: A conceptual overview.
Xorg video driver HOWTO: How to write a basic video driver for X.Org.
Kdrive Drivers: notes for making new kdrive video drivers
Dri Wiki: Information about using the Direct Rendering Infrastructure (DRI) with X.
Multiseat: Various informations about how to obtain and develop such model.
Deprecated and obsolete: Notes on deprecated and obsolete extensions and server-side stuff.
More Xorg Documentation: Some pointers from deep in the Wiki. This page should possibly be moved into Development/Documentation.
Pointer acceleration: information on the pointer accel mechanism.
Tools
Using git: Information on using git.
Server debugging: How to debug the X server with gdb.
Server profiling: How to profile the X server.
Using ctags to find functions: Some tips to find a function in vim.
Using Eclipse: Some tips to use Eclipse to develop X.Org.
Various Projects
PciReworkHowto: How to fix a video driver to use libpciaccess
VgaArbiter: Routing VGA instructions correctly.
Xv2, Render API: a long rambling discussion about giving Pictures GCs, and moving Xv to Render + RandR.
X12: a list of things we'd fix if we ever get around to a new version of the core X protocol
Helping out
ContributionHOWTO: How to get started contributing bug reports, patches, fixes, or even entire drivers.
ToDo: Things that need doing.
Janitor Xorg Janitor project page


