Xgl is an X server architecture that runs on top of the OpenGL API, making it possible to allow hardware to render effects. The Compiz compositing manager is essentially a window manager that allows plugins to add new effects made possible by Xgl.
According to Nat Friedman, Novell's Xgl architecture will allow a move away from a raster model of drawing to a vector model, which will provide a "modern" graphics model that should be usable for the next 10 to 15 years. "We're gonna be in good shape for that now, this takes away major concerns. The only other OS that offers the capability to do this is Mac OS X, and the only reason is because they have a tight link to the hardware ... all we're doing is taking advantage of that hardware too. Windows doesn't have this yet and we do ... we're not going to cede 3D graphics acceleration to proprietary software."
Back to the community
Novell's David Reveman announced his work on Xgl on the X.org list back in November 2004. Reveman has been working on the project more or less solo, which has generated a bit of controversy among developers. In December, KDE developer Aaron Seigo editorialized about the fact that Novell's development "has been largely removed from the community and is being done behind closed doors."
Several developers expressed frustration that Xgl development was being done outside of the community process. When developers work on an open source project outside the normal channels, and outside the source repository, it can create difficulties in merging the two codebases. Even when a company contributes the full source code, it can be difficult to integrate changes.
After some prodding and discussion on the OSDL Desktop Architects list, Friedman disclosed that Novell was looking to release the code in time for XDevConf, and to "make a splash with something that is largely functional.
"That way, the world will take notice of Xgl in a big way and Novell can get some credit for having been by far the principal sponsor of this development for more than a year."
Reveman released the Xgl code for inclusion in X.org CVS last month, but said that Compiz was not quite ready for release at that time -- but that he planned to release it in time for XDevConf. Reveman is scheduled to give a presentation on Xgl tomorrow at XDevConf.
Seigo noted that this kind of interaction is unique in the open source community. "You'd never see this happen in a closed source environment. There's no way to go to Microsoft and say 'I don't like the way you're developing Vista, you should offer developers more access to the Windows Presentation Layer.' They'd look at you and go, 'Who are you?'"
In the end, Seigo said that he is "really happy with the way it turned out. We're getting a great contribution from Novell back into the community, the community is able to participate in it again, and we've got a commitment from them that it's going to be developed in the community."
Though Xgl offers the potential for sexy graphics on the Linux desktop, Friedman said that "being 3D isn't the point" of Xgl. Instead, Friedman said that the goal is to use the acceleration features of 3D hardware to do things more efficiently and better on the Linux desktop.
For example, Xgl may allow desktop developers to increase the usability of the Linux desktop by smoothing animations, and by making the desktop "more physical." Friedman also noted that Xgl would enable new desktop metaphors that might also make the desktop easier to use and more intuitive.
Not a finished product
As it is, Xgl and Compiz are not quite ready for prime time. Friedman said that the release is primarily targeted at developers and early adopters. Friedman said that Novell is looking forward to seeing what other developers contribute to the technology, and what kind of plugins they develop for the Compiz framework.
End users will get a taste of Xgl and Compiz in "code 10," the next release of the Novell Enterprise Desktop. "The people who get Novell's next Linux desktop will get this." Friedman also predicted that other Linux vendors will soon start to integrate the software into their Linux distros.
Seigo said that the Xgl technology should be working its way into KDE 4. Since Xgl is available now, Seigo said that the KDE development team should have enough time to integrate Xgl into KDE 4, which is loosely scheduled for the end of the year.
One might wonder whether Xgl will require an expensive video card to function. According to Friedman, the video requirements will be modest. "Most people have the hardware these days. They have an Intel, ATI, Nvidia card. Xgl doesn't need that much, just basic polygon and texture mapping.... We don't need an $800 video card to use this."
Xgl should also be backward-compatible with older X applications, so users don't need to worry that their favorite applications will be rendered obsolete by Xgl.
Curious users won't have to wait until later this year to get a peek at Xgl in action. Novell has provided videos of Xgl in action, which demonstrate transparency, animations, and virtual desktops on the sides of a 3D cube. With any luck, we'll be seeing rapid development with Xgl -- and getting more out of our desktops -- by the end of the year.