Information for developers
- Start reading the Development page.
- Read the X New Developer’s Guide.
- Read the Developer's FAQ and the guide to Building the X Window System.
- Read the ToDo, and add to it if you think it's lacking.
- RepoPolicy covers the general commit rules.
- CodingStyle gives a guideline for the general coding style in X.
- XorgTriage outlines our bugzilla workflow.
Module-specific information
- XServer
- Driver for Intel graphics chips
- Driver for Nvidia chips
- Driver for ATI/AMD Radeon chips
- Drivers for VMware virtual graphics
- xcb libraries
Source Code
Virtually all the source code of the server, the drivers and the default applications is hosted on the git server of freedesktop.org. It can be browsed on-line via the gitlab interface. For more details, refer to the git page.
Alternatively, all the most recent released packages can be found as tarballs at https://ftp.x.org/pub/individual/ .
Specifications and reference manuals
A lot of specifications can be found in the git tree, mostly in the modules they document, some in doc/xorg-docs. Short documents are in plain text format, while bigger ones tends to be in DocBook or troff format, and will therefore need to be compiled to be read easily.
Most have been posted online with the latest katamari release, at https://www.x.org/releases/current/doc/.
The documentation of each component is gradually split out into their respective modules. In particular:
You might also be interested by the list of specifications available at freedesktop.org.
Talking to the developers
If you like email, see the XorgMailingLists page. Development discussion usually happens on xorg-devel.
If you like IRC, see the XorgIRC page. Development chatter usually happens on #xorg-devel on OFTC.
You can also open design ideas as an issue ticket on gitlab.
Fixing bugs
Unassigned issues in the xorg gitlab need someone to take ownership of them. If you feel qualified to fix the bug, feel free to take ownership of the bug by reassigning it to yourself.
Submitting patches
Please read the patch submission guidelines
Requesting features
Please remember that X is just one component of the overall free desktop and that therefore future X enhancements should be thought through with this perspective. Also remember that the folks here are massively overloaded---by far the most reliable way to get a feature in is to put it there yourself.
To Do
See the ToDo page for a list of tasks that need to be done specific to Xorg. A more comprehensive list of unfinished X related projects (not necessarily involving working on the server itself) is also available. Both of these lists may be a bit out-of-date, so do hit the email lists once you've gotten yourself oriented.
The X.Org Endless Vacation of Code
A special program to provide financial support for student contributors who are unable to participate in the bigger (and better known) program of this type, Google Summer of Code. Open all-year round. Look at ToDo page for project ideas, and at the EVoC rules, and see if you can help.
X.Org Foundation Workgroups
In the early years of the X.Org Foundation, developers worked in formal groups on specific tasks, but these groups have all gone defunct now. Their pages remain as historical documentation of the work and design decisions they made.
Submitting Khronos conformance results
Kronos has accepted the X.Org Foundation as an adopter (pro bono). This allows developers of Community-based Open Source drivers to submit conformance test results for all the supported platforms of the driver.
Check out the Khronos page for more information.