What's Next for X?

by Edd Dumbill

If you run Linux on your desktop or laptop machine, it's highly likely you know about the X Window System. In the normal course of things, there's no reason why the details of the graphical windowing system should be made explicit to the user, but even in the best of circumstances X requires a degree of irritating configuration.

The X Window System is around 20 years old, and has gone through a variety of transformations. Weird hardware from ancient Sun workstations to the first 386-based PCs has forced evolution-- and some nasty hacks--on the server. What we use today on most Linux distributions, XFree86, is the result of this development path.

To cut a long story short, the state of the X Window System isn't really a happy one. Leaving the deep technical issues aside, the impact on users of the Linux desktop includes:

  • irritating configuration issues
  • possible need for kernel changes to support your hardware
  • separate installation of proprietary drivers
  • no support for modern capabilities such as window translucency

A few years ago, we could have added "poor font handling" to that list. Happily, that situation has changed, and was among the first of a variety of changes. Some of these have landed already, and we're due to see an increase in the number of improvements hitting the Linux desktop over the coming months.

Due to various circumstances, the main branch of X development is now happening in the X.Org project, rather than XFree86, and it is this implementation of X that is likely to be included in most future Linux distributions. X.Org is the center of a lot of exciting work on new X features.

I attended the talks given by X Window System wizards Keith Packard and Jim Gettys at the recent Linux Symposium and a got a taste of what's coming soon.


The new composite extension to X will have the biggest user-visible impact. Until now, every X application has drawn straight to the screen. This means that if fancy effects such as translucency are required, then each application has to implement this itself. The latest KDE desktop does something like this. At best, results are mixed.

What composite does is make every application draw into an off-screen buffer, and then use a compositing manager to decide how the windows will be arranged on the screen. Among other things, this enables drop shadows and translucency on windows.

The neat thing about the composite extension is that there will be choices for implementing the compositing manager. Such managers could give a radically different view on to the desktop, such as the 3D environments provided by Sun's Looking Glass project.

The forthcoming release of X.Org (which has taken over from XFree86 as the favored X implementation by most Linux vendors) will include support for composite as an experimental feature. The idea is to get it out to users and developers for testing and improvement.

There is currently only one compositing manager available, xcompmgr. It allows some basic effects, such as smooth fading in and out of windows, drop shadows, and window translucency.

Screenshot of drop-shadows under windows
Figure 1. Shadowed windows

Detail of shadowed windows
Figure 2. Closeup of drop shadow on menu windows

Screenshot of windows of varying translucency
Figure 3. Windows of varying translucency

Pages: 1, 2

Next Pagearrow