X Eye Candy



One of the things people seem to love most about OS X in particular, is eye candy. Out of the box, OS X has bling -- the now generally-accepted term for anything to do with transparency, and anything graphical that looks rather nice and shiny. The icons scale smoothly, and the dock has a magnifying glass-style effect that scales the entire dock as if deformed by a sphere underneath. Windows are transparent.

Add-ons for Windows to add this kind of functionality are also very popular. Trillian, one of the most popular IM clients for Windows, has an option to make all its windows transparent (they are also very strangely-shaped). WinAmp has lots of crazy skins that can only be described as useless bling.

One of the most popular X toys in recent times has been Luminocity, where you can make your windows wobble as if made of a liquid, and throw them off the screen if you're really bored. While not actually at all useful, these sort of things are in demand. The Composite extension was also incredibly popular, and interest only really died off because the server-side part was horrifically slow.


Fulfill user demand. Have a compelling answer to, 'let's see Linux do THAT!' from OS X users; be able to do one better.

Scope and Use Cases

Xglx accelerates all X drawing primitives (whether core or Render) through GL. 3D engines are very, very fast at Render primitives (being Porter-Duff), and X's slowest case now is Composite, for a variety of reasons. Doing alpha blends (Porter-Duff Over with mask) is incredibly fast, and more than usable, on an i855, which is consumer-level laptop hardware with a very poor 3D engine. Even on today's fastest ATI and nVidia cards, Composite is barely usable without accelerating these operations through GL, largely due to architectural limitations in the X server's acceleration architecture.

Using Xglx makes the Composite extension entirely usable. Right now, the most bling most compositing managers provide is mainly to do with window translucency; the real adventurous stuff is currently being done in Luminocity.

Implementation Plan

Package Xglx and Luminocity, put these in universe. Packaging Xglx depends on having the modular tree packaged (pkg-config files, libXfont, libXfontcache, libfontcache), so wait until we have the client-side libraries from XRoadmap done.

Data Preservation and Migration


Packages Affected

  • xorg

  • all packages listed in XRoadmap

  • xserver-fdo

  • luminocity (needs to be included)

User Interface Requirements

  • Be very, very shiny.
  • "Out-bling OS X"
  • Be very usable, too

Outstanding Issues

  • Right now, we have low Bling.

UbuntuDownUnder/BOFs/XEyeCandy (last edited 2008-08-06 16:31:57 by localhost)