Xgl

2006 - 2008
dead
february 2006, a novell demo showed a linux desktop rotating on the faces of a cube with windows you could see through, and for about eighteen months that clip was the most persuasive argument the linux desktop had. xgl was the thing underneath it, written by david reveman to put every drawing operation on top of opengl instead of beside it. nvidia argued at the x developer conference that year that stacking a whole server this way hid what the card could actually do, and the alternative they preferred won. the code came out of the x.org server on 12 june 2008 and the cube kept spinning on something else.

~ the goodbye ~

Xgl was a display server. It spoke the X Window System protocol like the server already on your machine, but instead of drawing into the framebuffer through a driver written for that purpose, it pushed everything through OpenGL. David Reveman started it inside Novell in 2004, worked on it in public for a while and then behind closed doors for the last few months, and released it on 2 January 2006. The pitch was that 2D drawing on Linux was frequently unaccelerated at a time when the same card would happily render a first-person shooter, which is a strange arrangement once you say it out loud.

Acceleration was the argument, but compositing was the product. A server that treats every window as a texture can hand those textures to a window manager that does whatever it likes with them. Reveman wrote Compiz for exactly that, the first real OpenGL compositing window manager for X, after an earlier attempt called glxcompmgr proved that the effects needed the window manager and the compositor to be the same program. Beryl forked off Compiz in September 2006 and the two merged back in April 2007 as Compiz Fusion.

In 2006 I had a TTNet line fast enough to download video, and the cube arrived the way most things arrived that year, as a clip somebody posted to a Turkish hardware forum. Windows Vista was still months from shipping and its preview screenshots were being argued over on every board that discussed hardware, and then here was a free operating system doing something visibly stranger for nothing. Nobody in those threads said Xgl. The demo was the argument, and the argument was that Linux had caught up on the one axis where it had always been assumed to be behind.

~ the chronicle ~

Born2 January 2006, first public release out of Novell
PeakFebruary 2006, when the rotating cube ran on every Linux news site at once
Killed12 June 2008, removed from the X.Org server
Lifespantwo years and five months
Made byDavid Reveman at Novell, hosted at freedesktop.org
Killed byAIGLX, which did the same job without replacing the server

~ the cube ~

The February 2006 demo was staged by Novell's desktop team, and it worked because it was legible in four seconds to somebody with no interest in graphics architecture. The desktop was a cube, and you dragged it and it turned. Windows wobbled while you moved them and then scattered into a grid when you asked to see all of them at once. Nothing in there was new as an idea. What was new was that it ran on a commodity card under a free stack, and that you could get it by adding a repository.

SUSE Linux 10.1 shipped it as a non-default option, and SUSE Linux Enterprise Desktop 10 carried it too. Ubuntu 6.06 and 6.10 could be talked into it with unofficial packages, and it existed as a Gentoo overlay and an Arch build. That distribution pattern says something about its status: available everywhere, default nowhere, always one deliberate step off the normal path.

~ the decline ~

NVIDIA came to the 2006 X developer conference with a presentation arguing this was the wrong direction, and their objection was practical rather than territorial. A server layered on top of OpenGL abstracts the card away from the code that needs it, so anything specific to the hardware becomes harder to reach. Dual monitor support was the example everyone cared about and 3D glasses was the example nobody did, but the shape of the complaint held for both. Their position was that the existing driver framework could composite the desktop without a new server, and that position became AIGLX.

The two backends made the problem worse rather than better. Xglx, the one that actually worked, required a running X server underneath it to create the OpenGL window, the same way Xnest needs a host server. That was always understood to be a development shortcut. Xegl was the real target, initializing through EGL and rendering straight to the hardware, and it never got far: it ran on Radeon R200 cards and development stalled there, permanently as it turned out.

~ the inheritance ~

On 12 June 2008 Xgl was removed from the X.Org server. The commit is unremarkable to look at. AIGLX had won on the argument NVIDIA made two years earlier, and it won quietly, because by then the effects people actually wanted were running on top of it and nobody outside the driver world could tell the difference.

Compiz outlived the server it was written for, which is the part worth keeping. The compositing desktop stopped being a demo and became the default state of every desktop everywhere, to the point that a window that does not fade when it closes now reads as broken. Wayland went further and folded the compositor and the display server into one program, which is arguably what Reveman was reaching for in the first place. Xgl was the thing that made the case, and the case was won without it.

~ leave a rose ~

an anonymous tribute. one rose per visitor per day.

@}-->-- ... roses left here

~ leave a wreath ~

a rose fades by morning. a wreath stays on this grave for good, with your name on it.

from $1, paid once through stripe. it keeps the graveyard running: the hosting and the nightly digging. adopt it and the headstone reads "maintained in memory by" you. the groundskeeper plants new wreaths at the next tending, usually within a day.

» one email a week: new graves and the anniversaries of the dead. subscribe

~ leave a note ~

visitors before you have left these graveside notes. anonymous welcome.

other software: Sonic Solutions, Final Cut Server, Adobe Media Player, Google Chrome Frame

also died in the 2000s: Qimonda, J-Phone, Stage6

« previous  ·  random  ·  next »