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?", but including milestones and a project schedule is even better. Some good guidelines are at the Google/PSU Summer of Code proposal page.
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
Moving the mouse handling code into a separate thread (student: TiagoVignatti, mentor: DanielStone)
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 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 and Bugzilla(XCB) for more ideas, or contact jamey@minilop.net or xcb@lists.freedesktop.org.
Drivers
Add more support for EXA in the drivers; see ExaStatus for a list.
Add dualhead support to an unsupported chip (trident, mach64, s3virge, nv, etc.)
- Add basic DRI support to an unsupported chip (trident, s3virge, glint, siliconmotion, etc.)
Do some work on nouveau ; ideas include better DRI support, better Xv/XvMC support, suspend/resume support, EXA support for more ops (see our TODO page for more ideas)
Darwin (OSX)
- Fix the build system
- Sync with latest Apple code
- New extension support
- 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 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
See also: ToDo, ChangesForX11R73, DRI ideas list.


