An overview of modern fancy UNIX desktop systems
By free-zombie on 18 Aug 2006
Composite, which allows rendering of windows offscreen buffer, allowing an application (called a composite manager) to do the actual drawing. This allows effects like drop shadows and true transparency. All of the presented systems aim to enrich the possibilities of
Compositeby somehow integrating OpenGL, the system used for three-dimensional drawing, to accelerate existing effects and add new ones like wobbly windows and animated workspace switching. However, the ways they do this varies.
XglxXglx, more commonly known as just Xgl, is a complete X11 server using GLX (X11+OpenGL) for communicating with the hardware, like a driver. This means that you need 2 X servers running at once whenever you want Xglx - this created some overhead. Also, the indirectness makes it difficult to integrate special features of graphics cards and direct rendering (fast). For special effects, Xgl relies on an external composite and window manager, the most common today being compiz.
XeglXegl is closely related to Xglx, with the major difference in choice of driver. While Xglx relies on GLX, and thus a separate traditional X server, Xegl uses EGL (embedded openGL), a kernel-level OpenGL API. Xegl is little known and almost not used or developed currently since only very few graphics card drivers support EGL. Xegl shares much the same problems as Xglx: by relying fully on OpenGL, it neglects special features a graphics card might have (e.g.: Multihead support, special shader APIs).
For more information about Xglx and Xegl see wikipedia and the openSUSE wiki.
LuminocityLuminocity was a testbed of Fedora and GNOME developers for new special effects not yet ready for Metacity. It relies on a traditional X server to provide an OpenGL API and on the nested X server Xfake for the applications to connect to. Luminocity itself is a Window and Composite manager that draws the Windows from the Xfake server into a window (often fullscreen) on the traditional server via OpenGL, providing effects like wobbly windows or transparency that compiz manages under Xgl (=Xglx/Xegl).
For more information about Luminocity see GNOME Live!.
AIGLXAIGLX stands for "Accelerated Indirect GLX". It is an extension to the core X server developed mainly by the Fedora team providing Xgl-like functionality. It eliminated the extra X server needed with Xglx, saving development effort and allowing the integration of card-specific features as always. Like Xgl, it relies on an external application for effects. Mostly, this is a version of Metacity including code originally from Luminocity. Compiz can also be used on AIGLX and Metacity can be used on Xgl due to mostly compatible APIs. The main "problem" for AIGLX is that it requires support at driver level, which currently is only available in free drivers. However, it is known that NVIDIA is actively developing full AIGLX support in their proprietary drivers.
For more information about AIGLX see the Fedora Project Wiki.
ConclusionMost Linux distributions and users have embraced Xglx and compiz, owing to the fact that it works right now with any GL-capable driver and it was, contrary to the similar Luminocity, well publicised (by Novell). Only few, most notably NVIDIA and Red Hat/Fedora, support AIGLX. I personally think that AIGLX is the right path - but Xglx remains the only viable option for most at present and was good for some short-term publicity.