A glimpse into 3D desktops...
Short URL: http://fsmsh.com/1750
- 2006-09-06
-
Write a full post in response to this!
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.
Comments required.
_The matrix in this article has been superceded by the one in _this article.
A “what is” guide to 3D desktops
XGL
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…
The advantage:
It will run (fast) on almost any 4 year-old video hardware, provided it has accelerated 3D (free or otherwise).
The problems:
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.
AIGLX
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.
The Support
| Manu | model | Xorg 7 | Manufacturer’s | XGL | 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 |
Chips Manufacturers Comparison
(*)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.
Conclusion
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.
Bibliography
Write a full post in response to this!
Similar articles
Do you like this post?
Vote for it!
Copyright information
This entry is (C) Copyright by its author, 2004-2008. Unless a different license is specified in the entry's body, the following license applies: "Verbatim copying and distribution of this entire article is permitted in any medium without royalty provided this notice is preserved and appropriate attribution information (author, original site, original URL) is included".
Biography
Mitch Meyran: Have you ever fixed a computer with a hammer, glue and a soldering iron? Why not? It's fun!
- Mitch Meyran's posts
- Login or register to post comments
- 40599 reads
- Printer friendly version (unavailable!)




Best voted contents
-
Special 301: FOSS users. Now we're all Communists and Criminals
Gary Richmond, 2010-03-05 -
Microsoft's Internet Driving Licence: stupid, unworkable and unenforceable
Gary Richmond, 2010-03-10 -
The Bizarre Cathedral - 69
Ryan Cartwright, 2010-03-12 -
Interview: Nina Paley (author of "Sita Sings the Blues" and the two "Minute Meme" animations)
Terry Hancock, 2010-03-15
Buzz authors
Free Software news
- Wonder if this framework will be able to audit PDF files for #a11y when it is complete! #GNUPDF #PDF #freesoftware http://icio.us/icveng
- When are YOU get your copy of this AWSOME FREEsoftware? Check it out at http://bit.ly/5NJCME
- @olhe I use ogg theora and ogg vorbis on my site, as do many othes freesoftware users.
- #ff #freesoftware equiv of #FF :) (via @ruiseabra): @ruiseabra @kov @openuniverse @crispassinato @webdesignsbymonicaswanson
- PyGrill: Throw some #FreshMeat on the Grill http://goo.gl/fb/7iVE #baldwinsoftware #freesoftware #gnulinux #hacking
Similar entries
Other sites
- The Top 10 Everything (Dave). The good, the bad and the ugly.
- Free Software news (Dave & Bridget). All about free software -- free as in freedom!
- Book Reviews: Illiterarty (Bridget). Book reviews, blogs, and short stories.
Hot topics - last 60 days
-
Linux performance: is Linux becoming just too slow and bloated?
Mitch Meyran, 2010-01-26 -
Web code is already open - why not make it free as well
Ryan Cartwright, 2010-01-20 -
Save "Sita Sings the Blues" from the Flash format: can you convert FLA?
Terry Hancock, 2010-01-29 -
Microsoft's Internet Driving Licence: stupid, unworkable and unenforceable
Gary Richmond, 2010-03-10 -
Special 301: FOSS users. Now we're all Communists and Criminals
Gary Richmond, 2010-03-05
Hot topics - last 21 days
-
Microsoft's Internet Driving Licence: stupid, unworkable and unenforceable
Gary Richmond, 2010-03-10 -
Special 301: FOSS users. Now we're all Communists and Criminals
Gary Richmond, 2010-03-05 -
The Bizarre Cathedral - 69
Ryan Cartwright, 2010-03-12 -
Interview: Nina Paley (author of "Sita Sings the Blues" and the two "Minute Meme" animations)
Terry Hancock, 2010-03-15
Odiogo
Free Software Magazine uses Apollo, project management and CRM for its everyday activities!

Thank you!
Submitted by Anonymous visitor on Thu, 2006-09-07 05:24.
Vote!That was really some informative blog, mitch. Honestly, I was once ignorant about these 3D desktops. Now that you have filled my mind with information. I can say that blogs do make sense!
http://www.rbsbrookland.com
Small test, results for Radeon 9500
Submitted by Mitch Meyran on Thu, 2006-09-07 18:03.
Vote!Having run a minimal install of Mandriva cooker on my brother's PC equipped with a Radeon 9500, I can say that:
- using latest fglrx driver, XGL works more or less - but it still crashes and can bring the kernel down with it.
- using Mesa, drm and dri, AIGLX works not too badly: 3D acceleration works very nicely on most windows, and video acceleration still works (however, overlays don't 'twist' with the windows). 3D support however is still incomplete (can't run glxgears!) and several 'hangs' happen (no crashes,but suddenly windows won't move for a little while).
Nothing a few months of work won't solve.
On the Nvidia side, the nouveau project is on a good roll: a working drm module has been done, and xv and xaa support added to the nv driver. Memory space initialization is on its way, but 3D wise, nothing works - they urgently need as much data about Nvidia hardware as they can get. http://nouveau.freedesktop.org
nvidia 4200ti
Submitted by Anonymous visitor on Fri, 2006-09-08 04:15.
Vote!I put XGL/Compiz on an old computer with this card and I must say it runs flawless. I haven't tested it with Gentoo yet, but it was working great with Ubuntu Dapper.
Good luck everyone :)
ti4200
Submitted by Mitch Meyran on Fri, 2006-09-08 07:57.
Vote!I have one of those too; it is flawless for basic desktop support, however video is choppy, and acceleration of full-screen apps isn't optimal.
---
A computer is like air conditioning: it becomes useless when you open windows.
Have tested XGL on an ATI X700 Pro flawlessly
Submitted by Anonymous visitor on Fri, 2006-09-08 05:33.
Vote!Tested using the oh-so-great Gentoo-based Kororaa Xgl Live CD 0.1 which can be found at the following address. Was a lot easier than ruining my perfectly good configuration plus I could test out multiple computers within an hour, usually without any extraneous configuration.
http://linuxtracker.org/torrents-details.php?id=1604
X700
Submitted by Mitch Meyran on Fri, 2006-09-08 07:59.
Vote!Could you please specify if you're using proprietary or free drivers, and give me results of a test with the free driver with AIGLX? Thanks!
---
A computer is like air conditioning: it becomes useless when you open windows.
SIS 650
Submitted by Anonymous visitor on Fri, 2006-09-08 07:13.
Vote!DRI don't exist for those, so AIGLX don't work.
Only 300 series from SIS has DRI support, but I didn't tested it. Althought it is open source driver, so should work with AIGLX.
references and sources can be useful...
Submitted by Mitch Meyran on Fri, 2006-09-08 09:07.
Vote!source: http://www.winischhofer.net/sisdri.shtml (Sis driver maintainer's page: Thomas Winischhofer).
The SiS 300 series (300, 540, 630, 730) has accelerated 3D support - and probably AIGLX, too. SiS 315/550/650/651/740/661/741/760/330 hve no DRI - meaning no 3D support. At all.
A computer is like air conditioning: it becomes useless when you open windows.
Windows port
Submitted by Anonymous visitor on Fri, 2006-09-08 09:05.
Vote!I may sound ingorant but I really wonder if there is anything similar to XGL/AXGL for Windows.
3D desktop on Windows...
Submitted by Mitch Meyran on Fri, 2006-09-08 09:32.
Vote!...is called Aero Glass, will be included with 'heavy' versions of Vista, and will cost (as upgrade for the Premium version) at least 150 EUR. It will moreover REQUIRE Nvidia GeforeceFX, Ati Radeon 9500 and Intel 975G level hardware to... start. Add to this 2 Gb of RAM and a 2GHz CPU to run without looking like a slideshow (personal test on beta 2). If someone can report what's up with the RC1, I don't want to waste a DVD and 20 Gb of HD space to test it.
AIGLX/XGL run very well on machines 4 times less powerful: I know for a fact that XGL runs frighteningly fast on a 1.6 GHz Sempron with 512 Mb of RAM and a GeforceFX 5200 off a liveCD. When AIGLX runs, it performs even better than XGL.
---
A computer is like air conditioning: it becomes useless when you open windows.
Updated chart
Submitted by Mitch Meyran on Tue, 2006-09-12 17:46.
Vote!(#)Tested on a Riva TNT board with 16 Mb of RAM: XGL actually works, but it's slow - useable with 'fast' rendering, no 'wobbly' windows, and Composite extension disabled in X in 800x600x32. TNT2 and higher may be fast enough. They require legacy Nvidia driver (71.82). 'MX' relates to both GF2MX and GF4MX, since both are Geforce2-level.
(##)Tested on Geforce4, FX and 6. Slow video on Geforce4.
(*)Card models named Rage128 were either Mach64 2D chips with added functionalities (those don't have a working DRM module) or 'real' 3D chips. The one I could try out (Rage128 TVout) could load AIGLX, but missed visuals 0x23 to 0x32 - so compiz wouldn't load.
(**)Card models from 9500 to X600 use the R3xx chip family. 3D support is being implemented, and AIGLX is working on R3XX cores (tested 9500, got reports on 9600). R4xx is under heavy development. If the free driver supports 3D, then AIGLX support is practically guaranteed.
Of note: due to being able to make use of Mesa's fallback software rendering, XGL provides GL_EXT_texture_from_pixmap even on hardware that don't accelerate it due to missing driver functionality, while proprietary usually use an older revision of Mesa (or a complete proprietary implementation) that doesn't provide it.
'Useless' refers to the fact that there are no working proprietary 3D driver, and that the driver integrated with Xorg is good enough to run AIGLX - which works better than XGL anyway. So while XGL would work, it is of no use except if you use an older version of Xorg or Xfree86.
After more tries, it seems some cards will accept 3D acceleration in applications through XGL; I managed to run Google Earth 4 under XGL, with full acceleration, on my 6600. It may depend on the card's capabilities though.
---
A computer is like air conditioning: it becomes useless when you open windows.
AIGLX and Nvidia
Submitted by Anonymous visitor on Fri, 2006-09-08 12:35.
Vote!Your wrote RedHat and Nvidia championed AIGLX but your list states that Nvidia cards do not support AIGLX. Why is that?
About Nvidia and AIGLX...
Submitted by Mitch Meyran on Fri, 2006-09-08 15:33.
Vote!Nice question, and the answer is easy. Nvidia didn't like Xgl for good reasons: simply put, it's not very elegant and although it can be used in an incredibly large array of applications, its design leads to compromised speed and prevents 3D rendering over a network connection. AIGLX being integrated with the server (the part of X that draws the images following the client's input: client being an application here), it is (hopefully) able to do 3D rendering even on a distant computer (equipped with a 3D card).
Nvidia declared itself in favour of such an extention, which was essentially developed by the Fedora project and adopted by Xorg. However, several technical snags appeared:
- Geforce4 and lower, while still supported, require a different driver development than FX and up do: those older cards providing only fixed shader functions, tricks have to be used to support them. This led to the creation of 2 different drivers at Nvidia's, the latter 7x for Geforce4 and lower, and 8x for FX and higher (having tried the 8x with a GF4, I'm not sure it was sensible, but still...) mainly due to the following point:
- The Xorg ABI has changed with version 7.1, requiring some extensive driver review, so Nvidia developers had their plates full.
- completely unused until now and of little value because of that, the GL_EXT_texture_from_pixmap function is absent from their driver. The function's name seems to describe that a card supporting this extention may be able to grab a construct out of its frame buffer and directly exploit it as a texture. Stability- and security-wise it would be tricky to implement, and since Nvidia doesn't provide beta version of their Linux drivers...
The reason why most free 3D drivers already support this extention is because MesaGL already had it included; since Mesa use 3D acceleration when it can and falls back to software rendering when it can't, developers already had a reference rendering that they just needed to accelerate for their own card. Nvidia either use a too old version of Mesa, or just hadn't considered this extention (it's not part of core OpenGL 1.5 functions) until now.
---
A computer is like air conditioning: it becomes useless when you open windows.
fafa
Submitted by Anonymous visitor on Wed, 2006-09-13 13:43.
Vote!very good
i don't know abt computers..
Submitted by Anonymous visitor on Fri, 2006-09-29 22:38.
Vote!i don't know abt computers.. I'm asking very stupid question..
i hav 32Mb onboard graphicss/AMD 64 3000+ .. bt no AGP..
so xgl Live will not work then??
if you're not using a GNU/Linux system...
Submitted by Mitch Meyran on Mon, 2006-10-02 15:26.
Vote!...then this article is irrelevant: Windows can't run XGL or AIGLX, plain and simple.
Learn what is a Linux-based system first.
After that, if you're using onboard graphics, knowing the amount of memory helps none: you need to know the graphics chip's brand and model. If it's Intel, you win; if it's Sis, you have little chance; if it's Ati or Nvidia (which I doubt considering the amount of RAM), then it's possible; check the updated article's chart.
---
A computer is like air conditioning: it becomes useless when you open windows.
I never really understood
Submitted by jonnyb13 on Wed, 2006-11-15 06:17.
Vote!I never really understood these things till now. Although I admit, I know not a lot, but this enlightened me a little bit more than I have. All I know is that the newer the card, the better. I always use ATI Radeon though. What is the best to use anyway? Overall performance?
XGL gets tied up
Submitted by D-cat (not verified) on Sun, 2007-07-15 04:09.
Vote!In my limited experimenting, I've found GL to be limited to one concurent client. This basically means that if you're using XGL on the desktop, you will not be able to use hardware accelerated GL for applications (like games). XGL (beryl, compiz) must be turned off and the xserver restarted before any 3D games will be playable. Unfortunately, XGL on/off setting affects all users, so there will be no creating desktop profiles.
I was very impressed with XGL and the beryl manager. However, sine I like my games too, this is a non-start for me.