I’ve been talking about them, complaining about what you CAN’T do, about the troubles with 3D cards... Personally I’m getting a bit lost with all this. So, I’ve decided to compile all the information I could find out about those pesky 3D desktops.
The matrix in this article has been superceded by the one in this article.
A “what is” guide to 3D desktops
Essentially developed by Novell for SuSE and the first “elegant” 3D desktop, it came out with Compiz, a window manager that can replace Gnome’s (and now KDE’s and others) window manager. Allowing desktop rotations, window transparencies and deformations, it is nice-looking, fluid and can run on hardware more than five years old.
In short, if your existing X configuration supports somewhat advanced 3D acceleration and DRI, you can run XGL: it will start your normal X, ask it to draw a single, full-screen OpenGL window in which a simple new X server runs...
It will run (fast) on almost any 4 year-old video hardware, provided it has accelerated 3D (free or otherwise).
Cards that can’t handle outputting video to a texture will have to use software rendering—it’s slower than video output to a VGA framebuffer, and any form of 3D acceleration in applications has gone bye-bye.
Championed by Red Hat and NVIDIA (amongst others) this method intends to add 3D acceleration to composite (ie. which can declare any element rendered separately and asks the hardware to assemble it all on screen) X—and this was accepted by the Xorg and freedesktop projects, so version 7.1 of Xorg has seen a nice AIGLX extension added. This solves the two main problems XGL encountered: 3D acceleration is still made available to applications, and video output can still make use of existing X extentions like xv.
However, AIGLX requires full compliance with the X ABI version 1.0, the support of GL_EXT_texture_from_pixmap, and DRI support—things that most proprietary drivers don’t support as of yet, not even NVIDIA’s—proponent of the project.
Meaning that right now, only owners of Intel, some Sis and older ATI hardware (pre-X1xxx) can make use of AIGLX.
|Intel||i810 to i965||2D, Full 3D||...is free||Yes, good video||Yes|
|NVIDIA||GeForce3/4||2D only||2D/3D, closed||Yes, slow video||No|
|NVIDIA||GeForceFX/6/7||2D only||2D/3D, closed||Yes, fast video||No|
|ATI||9500 to X1850||2D/3D*||2D, partial 3D, closed||Yes, fast video||Yes*|
|ATI||7500 to 9200||2D, Full 3D||obsolete||Yes, slow video||Yes|
(*)Card models from 9500 to X600 use the R3xx chip family. 3D support is being implemented, and some may thus be able to use AIGLX—some users report having run AIGLX on a 9600 (R350) under Ubuntu. R4xx is under heavy development. If the free driver supports 3D, then AIGLX support is practically guaranteed.
Help wanted—I’ve personally tested a GeForce 4200, a GeForce 5200 and a GeForce 6600. I need some input from Intel/Sis/ATI owners to make this article as complete as possible.