Screen Shots of Applications Using the New X Technology in the X11R6.8 Release
The combination of the XFixes extension, Damage extension, Composite extension and XEvIE (X Event Interception Extension) present in X11R6.8 present user interface designers with a wide range of here-to-fore difficult to achieve possibilities. While several of these enhancements (Composite and XEvIE) are not yet considered mature and may yet change it is important to make them available to desktop projects such as Gnome and KDE (existing applications do not in general need to be aware of them).
How do these new facilities work?
It can be a bit difficult to first understand how these facilities can be used to achieve the wide variety of effects observed in the screen shots. The most complete explanation can be found in the paper presented at the Ottawa Linux Symposium in July 2004. An earlier explanation and early screenshots are also available.
The X11R6.8 release has both the XEvie and Composite extensions disabled by default.
- XEvIE 1.0 is very useful for supporting screen magnifiers and it was important to make it available as soon as possible for use by the disabled. Work to deal with multiple clients and coordinate transformation is still needed for full generality and we know it is probable incompatible changes will be required before it can be considered stable.
- The Composite implementation using the existing XAA (XFree86) driver framework has mediocre performance at best (relative to what is possible in the long term) and the XAA driver framework would require significant changes for good performance. We have proof of principle of a high performance implementation using the kdrive driver framework (see the xserver project), running on a single chip family (Radeon R100 and R200), at very high performance. You may experience acceptable to good levels of performance on XAA drivers that have accelerated Render implementations; you should check the documentation for your display to see if Render has been accelerated and this may require further X server configuration to enable. Use of composite on drivers without Render acceleration will likely be unsatisfactory to most people. We felt it important to make the facilities available to the general developer community so that many developers could start their own development and give us feedback on the design of the new facilities, without requiring updates to binary drivers, or installation of an experimental X server. Developers may wish to enable composite and start work; very adventuresome developers with the right hardware may find the xserver X server useful.
- Render performance in software has been significantly improved on x86 by use of multimedia instructions; this support requires GCC 3.4. Some, but not all hardware drivers also support render at very high performance. The render transform primitive is present, but is currently very slow.
Please let us know if you'd like to work in any or all of these areas.
Current Screen Shots
Here is a mirror of a .avi video of this running found at http://payne.aldervista.de/xorg.avi. A nice screenshot of a live video application's window showing translucency and drop shadows can be found here.
Good samples of Gnome and KDE desktops with drop shadows, and so on can be found here, here, here, here, here, here, here, here, here, here, translucency here, here and here (jpg)/here (png), and its use on handhelds running Linux.
Owen Taylor has a good example of his Luminocity compositing manager performing performing thumbnailing.
Need magnifier example* We can expect widespread deployment of these within a year. Even more interesting possibilities become easy to implement. Both Project Looking Glass and Croquet Project are exploring the future of user interfaces.
- Need screenshots from both** Please send other samples to me for inclusion here.
-- Main.- 26 Jan 2005