blob: 1a52f3fdfc7acd4c631834c3716a29b16b734bc3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
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|http://www.amazon.com/dp/B007QJKOGS/ref=rdr_ext_sb_ti_hist_1]]. 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|Development/Documentation/Glossary]]: Various terms used in X, and what they mean.
* [[Modular Developers Guide|ModularDevelopersGuide]]: For builders and developers working on the modular X.Org source tree
* [[Submitting patches|Development/Documentation/SubmittingPatches]]: How to submit a patch to an Xorg project.
* [[Making a release|Development/Documentation/ReleaseHOWTO]]: How to make an individual module release.
* [[Writing documentation|Development/Documentation/WritingDocumentation]]: How to document your work in X.
* [[Documentation being converted to DocBook|Development/Documentation/DocBookConversion]]: What needs to be converted and what is being converted
* [[X server source layout|Development/Documentation/XserverSourceLayout]]: A map to the different directories in the X server source
* [[The devPrivates system|Development/Documentation/DevPrivates]]: All about the private storage system in the server.
* [[Wrapping functions|Development/Documentation/WrappingFunctions]]: How to add hooks to functions in the server.
* [[Grab processing|Development/Documentation/GrabProcessing]]: How input grabs are dealt with in the server.
* [[Cursor handling|Development/Documentation/CursorHandling]]: Introduction into DIX cursor handling.
* [[Input event processing|Development/Documentation/InputEventProcessing]]: How input events are dealt with in the server.
* [[Security|Development/Documentation/Security]]: How to make use of the security facilities within X.
* [[Performance|Development/Documentation/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|Development/Documentation/XorgInputHOWTO]]: How to write an input driver for X.Org.
* [[How video cards work|Development/Documentation/HowVideoCardsWork]]: A conceptual overview.
* [[Xorg video driver HOWTO|Development/Documentation/XorgVideoHOWTO]]: How to write a basic video driver for X.Org.
* [[Kdrive Drivers|Development/Documentation/KdriveDrivers]]: notes for making new kdrive video drivers
* [[Dri Wiki|http://dri.freedesktop.org/wiki/]]: Information about using the Direct Rendering Infrastructure (DRI) with X.
* [[Multiseat|Development/Documentation/Multiseat]]: Various informations about how to obtain and develop such model.
* [[Deprecated and obsolete|Development/Documentation/Obsolescence]]: Notes on deprecated and obsolete extensions and server-side stuff.
* [[More Xorg Documentation|XorgDeveloperDocumentation]]: Some pointers from deep in the Wiki. This page should possibly be moved into Development/Documentation.
* [[Pointer acceleration|Development/Documentation/PointerAcceleration]]: information on the pointer accel mechanism.
#### Tools
* [[Using git|Development/Documentation/git]]: Information on using git.
* [[Server debugging|Development/Documentation/ServerDebugging]]: How to debug the X server with gdb.
* [[Server profiling|Development/Documentation/ServerProfiling]]: How to profile the X server.
* [[Using ctags to find functions|Development/Documentation/UsingCtags]]: Some tips to find a function in vim.
* [[Using Eclipse|Development/Documentation/UsingEclipse]]: Some tips to use Eclipse to develop X.Org.
#### Various Projects
* [[PciReworkHowto|PciReworkHowto]]: How to fix a video driver to use libpciaccess
* [[VgaArbiter|VgaArbiter]]: Routing VGA instructions correctly.
* [[Xv2, Render API|Development/Xv2]]: a long rambling discussion about giving Pictures GCs, and moving Xv to Render + RandR.
* [[X12|Development/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|Development/ContributionHOWTO]]: How to get started contributing bug reports, patches, fixes, or even entire drivers.
* [[ToDo|ToDo]]: Things that need doing.
* [[Janitor|Development/Janitor]] Xorg Janitor project page
|