summaryrefslogtreecommitdiff
path: root/DeveloperStart.mdwn
blob: 3974c629e1588cd811f976a6b471de4c48bc6890 (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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72


## Information for developers

* Start reading the [[Development|Development]] page. 
* Read the [[Developer's FAQ|DevelopersFAQ]] and the [[ModularDevelopersGuide|ModularDevelopersGuide]]. 
* Read the [[ToDo|ToDo]], and add to it if you think it's lacking. 
* [[RepoPolicy|RepoPolicy]] covers the general commit rules. 
* [[CodingStyle|CodingStyle]] gives a guideline for the general coding style in X. 
* [[XorgTriage|XorgTriage]] outlines our bugzilla workflow. 

## Module-specific information

* [[XServer|XServer]] 
* [[IntelVideoDriver|IntelVideoDriver]] 
* [[Driver for Nvidia chips|http://nouveau.freedesktop.org/]] 
* [[Driver for ATI/AMD Radeon chips|radeon]] 
* [[Drivers for VMware virtual graphics|vmware]] 

## X.Org Foundation Workgroups

* [[Architecture Working Group|ArchitectureWorkingGroup]] 
* [[Modularization Working Group|ModularizationWorkingGroup]] 
* [[Release Wranglers|ReleaseWorkingGroup]] 
* [[Testing Working Group|TestGroup]] 

## 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 [[cgit interface|http://cgit.freedesktop.org/]]. For more details, refer to the [[git|http://www.freedesktop.org/wiki/Infrastructure/git]] page. 

Alternatively, all the most recent released packages can be found as tarballs at [[http://ftp.x.org/pub/individual/|http://ftp.x.org/pub/individual/]] . 


## Specifications and reference manuals

A lot of specifications can be found in the git tree, in [[doc/xorg-docs|http://cgit.freedesktop.org/xorg/doc/xorg-docs/tree/]]. Short documents are in plain text format, while bigger ones tends to be in troff or [[DocBook|DocBook]] format, and will therefore need to be compiled to be read easily. 

The documentation of each component is gradually split out into their respective modules. In particular: 

* [[XRandR|http://cgit.freedesktop.org/xorg/proto/randrproto/tree/randrproto.txt]] 
* [[DRI2|http://cgit.freedesktop.org/xorg/proto/dri2proto/tree/dri2proto.txt]] 
* [[XML-XCB|http://cgit.freedesktop.org/xcb/proto/tree/doc/xml-xcb.txt]] 
* [[Render|http://cgit.freedesktop.org/xorg/proto/renderproto/tree/renderproto.txt]] 
* [[DAMAGE|http://cgit.freedesktop.org/xorg/proto/damageproto/tree/damageproto.txt]] 
* [[XFIXES|http://cgit.freedesktop.org/xorg/proto/fixesproto/tree/fixesproto.txt]] 
* [[VAAPI|http://cgit.freedesktop.org/libva/tree/src/va.h]] 
You might also be interested by the [[list of specifications|http://www.freedesktop.org/wiki/Specifications]] available at freedesktop.org. 


## Fixing bugs

Bugs assigned to the [[freedesktop bugzilla|http://bugs.freedesktop.org]] pseudo-user [[xorg-team@lists.x.org|mailto:xorg-team@lists.x.org]] 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|http://wiki.x.org/wiki/Development/Documentation/SubmittingPatches]] 


## 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|ToDo]] page for a list of tasks that need to be done specific to Xorg.  A more comprehensive list [[of unfinished X related projects|http://www.freedesktop.org/wiki/FreedesktopProjects]] (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|ToDo]] page for project ideas, and at [[the EVoC rules|XorgEVoC]], and see if you can help.