== 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 "[[http://code.google.com/support/bin/answer.py?answer=60306&topic=10727|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 [[http://summer.cs.pdx.edu/propose|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 * [[http://xorg.freedesktop.org/wiki/MovingMouseHandlingCode|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 [[http://gitweb.freedesktop.org/?p=xcb;a=tree;f=xcb-demo|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 [[http://xcb.freedesktop.org/wiki/XCBToDo|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, [[https://bugs.freedesktop.org/show_bug.cgi?id=5190|nv]], etc.) * Add basic DRI support to an unsupported chip (trident, s3virge, glint, siliconmotion, etc.) * Do some work on [[http://nouveau.freedesktop.org/|nouveau]] ; ideas include better DRI support, better Xv/XvMC support, suspend/resume support, EXA support for more ops (see our [[http://nouveau.freedesktop.org/wiki/ToDo|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, [[http://dri.freedesktop.org/wiki/SummerOfCode|DRI ideas list]].