---++X server to do list

X server

                 * nVidia acceleration.  The obfuscated fbdev or XFree86 driver code could be stolen and adapted for kdrive. 
                 * General mode-setting framework with backends for vesa, fbdev, and native mode setting where available. 
                 * DRI integration.  This will allow drivers to use the DRM for implementing acceleration, possibly reducing userland CPU usage greatly (<a href="../../../EricAnholt/">EricAnholt</a> is working on this). 
                 * Mach64 Render acceleration.  This chip is pretty simple, and would make a good demonstration of how to accelerate Render to cover the cases needed by the existing xcompmgr demo. 
                 * Mach64 Yuv scaler usage.  Switching from video overlays to Yuv scaling would fix issues with overlaying translucent images on top of the video.  Performance would suffer though; some testing is likely needed. 

X Compositing Manager

Note that the current xcompmgr application is a giant hack; a good project would be to write a "real" application that did the same job but was nicely split up and cleanly coded. However, the current one still has "issues" that will probably carry over into a rewrite.

                 * Paint shadows better.  Current code recomputes the gaussian curve and the entire convolution with the sharp shadow each time a window is mapped or resized.  Splitting the shadow into pieces (four corners, four edges and the middle) would help an awful lot in resize performance. 
                 * Check window stacking tracking.  I've seen xcompmgr get confused about window stacking; some validation code could be added and then suitable bug fixes could be figured out. 
                 * Figure out some primitive hints so wms and apps can tell xcompmgr about translucency values and suchlike. 

-- Main.KeithPackard - 18 Nov 2003