summaryrefslogtreecommitdiff
path: root/SummerOfCodeIdeas2008.mdwn
blob: b199c1f4f4836b91ffeed5fdcc05cf672be48f3f (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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
## Goal

The X.org board treats GSoC as an opportunity to teach new developers rather than a chance to get a pile of free code. With this perspective, if, in two months, the student actually has learned how to contribute to X Window System, that's a huge step forward. Creating a project which guides this process with a maximal chance of success is the only tricky part.


## Ideas

Ideas for projects for students looking to participate in Google's Summer of Code.  Please note that these are just suggestions; if you have an idea for something else please ask.

When writing a proposal, please remember to make it detailed. Include at least the information called for in "[[What should a student application look like?|http://code.google.com/support/bin/answer.py?answer=60306&topic=10727]]", but including milestones and a project schedule is even better.  See [[X.Org-GSoC2008-Application|X.Org-GSoC2008-Application]] for guidelines.


### Xserver core

* Move the dmx muxing code into the server to replace the existing xinerama mux code
* EXA support for surfaces larger than the hardware limits
* Infrastructure for direct-rendering GL windows larger than the hardware supports
* Investigate redoing miarc/miwideline/etc. for smaller size and better performance

### Xinerama

* Composite/Xinerama integration
* Hotplugging additional local and remote displays
* Auto enabling and disabling Xinerama screens.
* Make Xinerama handle more than just X screens

### Xdmx

* Integrate with the rootless code a la Xdarwin and Cygwin/X, for floating window migration
* Add support for Fixes/Damage/Composite
* Fix input

### XCB

* Auto-generate server-side protocol stubs from XCB's protocol descriptions
* Implement a new language binding for XCB
      * Finishing the Haskell language binding would be really cool.
* Implement a more complete test suite for XCB
* Port Gdk and/or Qt to XCB
* Port the important X utilities (xdpyinfo, xhost, etc.) to XCB
      * The [[XCB demos|http://gitweb.freedesktop.org/?p=xcb;a=tree;f=xcb-demo]] include partial ports of xdpyinfo and xrandr.
      * You'd have to port a lot of applications to make this an interesting Summer of Code project.
* See [[XCBToDo|http://xcb.freedesktop.org/XCBToDo]] and Bugzilla(XCB) for more ideas, or contact [[jamey@minilop.net|mailto:jamey@minilop.net]] or [[xcb@lists.freedesktop.org|mailto:xcb@lists.freedesktop.org]].

### Xau/Xdmcp

* Implement the XDM-AUTHORIZATION-2 authentification protocol for better IPv6/XDM support. (See [[Bug 277|https://bugs.freedesktop.org/show_bug.cgi?id=277]] and the never-adopted draft of the XDM-AUTHORIZATION-2 changes to the XDMCP protocol spec.)
* Replace the old/uncompiliable KERBEROS-5 authentication with GSS-API authentication.

### Drivers

* Add more support for EXA in the drivers; see [[ExaStatus|ExaStatus]] for a list.
* Add dualhead support to an unsupported chip (trident, mach64, s3virge, [[nv|https://bugs.freedesktop.org/show_bug.cgi?id=5190]], etc.)
* Add basic DRI support to an unsupported chip (trident, s3virge, glint, siliconmotion, etc.)
* Do some work on [[nouveau|http://nouveau.freedesktop.org/]] ; ideas include adding 3D support for more cards, better Xv/XvMC support through gallium, suspend/resume support, (see our [[TODO page|http://nouveau.freedesktop.org/wiki/ToDo]] for more ideas)
* More DRI-related ideas are visible on [[http://dri.freedesktop.org/wiki/GSoC_2008|http://dri.freedesktop.org/wiki/GSoC_2008]]

### XQuartz (OSX)

Some of these might require changes to libXplugin (proprietary Apple code), but Apple is more than willing to provide the needed hooks.  Just join the [[xquartz-dev mailing list|http://trac.macosforge.org/projects/xquartz/wiki/MailingLists]]

* New extension support
   * RandR
   * Composite
* Fix OpenGL support
   * Switch to XF86DRI instead of AppleDRI
      * Write a Mesa DRI driver that uses OpenGL.framework
* Top-Of-Tree syncing
   * input model, keymapping needs to be reworked
* Copy/Paste proxying between OS-X and X11
* Eliminate the need for AppleWM extension to allow other WMs to work better
* Handle exposé / spaces events inside the X server rather than quartz-wm (so other WMs can be used)
* Compositing window manager to replace quartz-wm (once Composite is enabled)

### Misc

* Add test cases for more extensions, especially newer ones like Render, Composite, etc. (possibly to XTS5; see [[TestGroup|TestGroup]] wiki)
* Introspection extension to support tools like xscope
   * Would allow querying for request names and structures in generic fashion
   * Look at xcb-proto descriptions
* Integrate NX in XCB or X protocol
* Create GUI or textual tool for assisted editing of XKB configuration database.
* Formally documenting XKB configuration syntax and configuration database structure.

### DRI

* GLX_EXT_texture_from_pixmap
   * Update to latest spec
   * More efficient implementation, ideally texturing directly from offscreen pixmaps
* Integrate properly with Composite, in particular, render to redirected windows correctly
* Port new memory manager changes to drivers other than i915
* make the X server's Xsync extension use DRM vblank waits or signals (really a DRI/X cross project)
   * rough patch is already available
   * developer would get good exposure to server and DRM internals

See also: [[ToDo|ToDo]], [[Releases/7.4|Releases/7.4]], [[DRI ideas list|http://dri.freedesktop.org/wiki/SummerOfCode]].