Getting bored with 3D desktops? I'm definitely not!

Getting bored with 3D desktops? I'm definitely not!


Well, while I haven’t posted anything new in a while, I’m (AGAIN) updating my 3D desktop article.

This time, I’ll answer some comments I have seen appear in response to the two previous incarnations of this very same article, as well as revise (further) some of the content.

This revised version brings some confirmations from users, and adds a preliminary Matrox product line support description.

_The matrix in this article has been superceded by the one in _this article.

3D desktop: the proprietary strikes back (sort of)

Out of subject: Vista

I know, it’s not free; but I’d like to point out that there is indeed some 3D acceleration being used by Microsoft in its forthcoming operating system. Does it look nice? It is a matter of taste (my take: not too bad, but definitely MacOS-ish).

Is it worth it? Well, from what I saw when I tried a beta on the most powerful machine I have (a X2 3800+ with 2 GB of RAM, a SATA-2 hard disk with native command queueing and a Geforce 6600)... Not so good.

Is it useful? Well, it’s mostly eye-candy: it doesn’t extend desktop real estate, it doesn’t allow you to have a quick peek at the application under the active window easily, it doesn’t shuffle windows to create a quick mosaic, it doesn’t create virtual desktops...

Frankly, I prefer the state of things in the GNU/Linux/xBSD world.

The underlying 3D system, legacy solution: XGL

Essentially developed by Novell for SuSE and the first “elegant” 3D desktop, it came out with Compiz.

First, a standard X server starts, with support for accelerated GL X but no composite; acting as an X client, XGL loads, taking control of the whole screen and mouse cursor. This client is ALSO a compatible X11 server, which then accepts various clients (applications and window manager). To simplify things, this ‘virtual’ X transforms all windows and elements into textures that are then displayed in the full-screen, 3D accelerated ‘native’ X.

In short, if your existing X configuration (version 6.9 for example) 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 (more or less fast) on almost any video hardware, provided the hardware has robust accelerated 3D (free or otherwise).

The problems:

  • Cards that can’t handle outputting video (meaning colour spaces different than xRGB) to a texture will have to use software rendering: it’s slower than video output to a VGA framebuffer.
  • 3D acceleration for applications require the card to handle several GL contexts. If it can’t support several contexts, you will get software rendering for the applications.

The underlying 3D system, the present/future: 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; 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 even when the card can’t handle multiple GL contexts, and video output can still make use of existing X extentions like xv (at the cost of some strange results on some operations).

AIGLX first came with a modified version of Metacity, Gnome’s default window manager. Changes to Metacity are being merged upstream, and its plugins are being homogeneized with Compiz’s. At the same time, Compiz can now make use of AIGLX.

In order to work, AIGLX requires full compliance with the X ABI version 1.0, and DRI support; to support Compiz, it also requires the support of GL_EXT_texture_from_pixmap.

The window managers: Metacity, Compiz and Beryl

Metacity is Gnome’s successor to Enlightenment (which went and became a desktop environment in its own right); it has recently been extended to support compositing and 3D plugins, like Compiz—however it is still experimental in that aspect.

Compiz first appeared as a compositing window manager to replace Gnome’s (and now KDE’s and others). Allowing desktop rotations, window transparencies and deformations, it is nice-looking, fluid and can run on hardware more than five years old (tested successfully on a NVIDIA RivaTNT). It is modular in structure, using plug-ins to perform 3D operations.

Compiz has recently seen a fork, first called compiz-Quinn but which then changed name to become Beryl. While Compiz is a lightweight WM and is expected to remain so, Beryl intends to include more advanced plugins, skinnable controls and themes, and a management system separate from Gnome’s gconf—so as to run under more varied environments.

Drivers updates

Proprietary drivers

To make things clear, proprietary drivers are those that don’t come with all their source code available. They usually bring a licenced version of OpenGL that replaces Mesa’s, some management tools, and arguably better performances than existing free drivers provide.

On the other hand, they can be slow to support newer hardware or API changes, or never support a particular version of a chip that a free driver may support eventually.

Right now, the most used proprietary drivers are NVIDIA’s and ATI’s. Both support Xorg’s 1.0 ABI in their released versions.

However, for stuff like GL_EXT_texture_from_pixmap, only NVIDIA’s beta driver provides support (meaning that AIGLX starts with it) but on the condition that you use a very recent compositing window manager (for example, Mandriva 2007’s compiz version 0.0.13 fails with an exception). There is no news from ATI that I could find about this.

Free drivers

The nouveau project is now working on implementing a memory manager for NVIDIA cards which would make both their revamped nv driver (added EXA support) and their new 3D driver (DRI, DRM, GLX and GLSL being worked on) almost working on the whole NVIDIA cards range (from NV04 to G70).

They rule but they need help.

On the ATI/Radeon side, support for r300 and better cores is progressing slowly but steadily. Very recent hardware doesn’t work at all though.

Intel has opened the sources for all of their IGP drivers, and took in some open source driver specialists—support on that side is strong.

Meaning that right now (October 14th, 2006), only owners of Intel, some Sis and older ATI hardware (pre-X1xxx) can easily make use of AIGLX, since those have free, AIGLX-supporting drivers. The courageous may get AIGLX and a 3D window manager working on NVIDIA hardware with their beta driver: version 96.25 at the time of writing.

The support

Manu model Xorg 7.1 Manufacturer’s XGL AIGLX WM (Compiz)
Intel i810 to i965 2D,3D See Xorg’s Useless Yes Yes - AIGLX
NVIDIA TnT to GeForce1 (1) 2D 2D,3D, closed Yes No Yes - XGL basic
NVIDIA GeForce2 to 7 2D 2D,3D, closed Yes - medium (3D) to full Yes - Beta, incomplete Yes - XGL (AIGLX) (2)
ATI Mach64, early Rage 2D obsolete No - missing functions No - missing DRI No
ATI Rage M2 to Fury 2D,3D obsolete No Yes No - missing functions
ATI Radeon 7000 to 9200 2D,3D obsolete Useless Yes (3) Yes - AIGLX
ATI Radeon 9500 to X1850 Experimental 2D,3D Yes Experimental (4) Yes - AIGLX or XGL (fglrx)
Sis 300,540,630,730 2D,3D outdated Useless Yes Yes - AIGLX
Sis others 2D none No No No
Matrox G200 to G550 see vendor provides sources Useless Yes Yes - AIGLX (5)
Matrox others 2D on G100 and older 2D/3D on Parhelia ? ? ?

Graphic chips families comparison

Notes: XGL basic means that while the interface is accelerated, applications are not: no fast video, no fast 3D; medium (3D) means that 3D is accelerated, but not video. Full means that both video and 3D are accelerated for applications.

(1) These cards require legacy NVIDIA driver (71.84). “MX” relates to both GF2MX and GF4MX, since both are Geforce2-level.

(2) 3D applications are accelerated, video is fast from the FX onward. The recent beta proprietary driver allows AIGLX initialization, but not all existing window managers work on it; the free driver is being worked on, but is not useable yet.

(3) Early Radeon cards (7x00 to 9200) are fully supported by Xorg’s “radeon” driver (except 9100 due to radically different memory management caused by cached/shared video memory).

(4) 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.

(5) User reported a working G450, but couldn't make a G400 to work. The same driver is used for chips ranging from G200 to G550, it would thus stand to reason that all may work eventually. I have yet to parse the sources to find out the license, but they seem embedded with 'trunk' Xorg sources.

“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.

Cards I have tried

NVIDIA

  • I’ve tried a Riva TNT rev.4 with 16MB of SDRAM (Asus V3400TNT/TVout 16 Mb). It ran without DRI using legacy NVIDIA driver on a 800x600x32bit driver (16bit didn’t display windows or desktop), at a snail’s pace. More RAM, a higher clocked chip and working NVIDIA DRI support would provide much better results—I’d like to try a TNT2 card.
  • The Geforce 4 is a ti4200 with 128MB of DDR (MSI ti4200/8x); it doesn’t have accelerated video, but I think 3D acceleration worked for applications.
  • Geforce FX 5200 with 128MB of DDR and Geforce 6600 with 256MB were the more “recent” NVIDIA hardware I tried. Video and 3D are stable and fast on both (Google Earth works, but there is a performance hit).

Conclusion: recent NVIDIA drivers run XGL on basically all cards, but good performance requires recent hardware; the beta (96.25) and Quadro (96.26) drivers support AIGLX, but not all window manager can deal with it (Beryl 0.2.1 does).

ATI

I don’t have as great a range of ATI hardware as I have NVIDIA; still, here is some information.

  • A Mach64-based Rage Mobility (M1) would load a DRM module (not compiled by default on vanilla kernels), but it would issue a DRI/DRM version mismatch. Courageous folks may get it to work, but...
  • An r128 (Rage128 TVout) card could load AIGLX, but misses visuals 0x23 to 0x32 (it’s been said that this is meaningless, but that the driver misses necessary accelerations required by compiz); so compiz won’t load on Rage hardware.
  • No r100 or r200 cards, sorry. However, they are considered fully supported, so my guess is AIGLX works very well on those. Reports say a r200 (7500) works very well.
  • A R300 (Radeon 9500) could run AIGLX, and quite well at that; the driver may need some more refining still, but it basically works. A rv370 (X550) too (reports).

I have nothing more recent at my disposal, so owners of X6xx to X1xxx cards, if you could please give me a status report on those cards, with both the free and closed source driver, on both AIGLX and XGL...

Sis

Only a 750 available to test; there is no 3D support and no DRM module for those cards, so no 3D desktop on it at all. Too bad.

Intel

No hardware to test; a report of AIGLX working slowly on a i810 reached me, and the Fedora website reports good working 830 to 9XX, so it stands to reason to think that AIGLX works well on pretty much all Intel IGPs anyway.

I found no mention whatsoever about the old Intel i740; but considering it was even less powerful than a NVIDIA TNT, my take is that not only it doesn't work, but even if it did, it would be slow as hell.

Matrox

No hardware to test. G200 to G550 chips should work, either now or shortly. Older hardware (G100 and older) might work one day, but I'd say they'd be too slow to handle anything more than simple compositing.

Conclusion

It would be nice to get detailed comments on the hardware you test and report: distribution, proprietary/free driver, chip revision, amount of video RAM, X version, etc.

Personally, I use the latest Mandriva 2007 on a spare hard drive that I move from one computer to the other. It uses recent CVS extracts of Mesa, meaning that it supports the widest range available of free 3D drivers. More recent would be Gentoo, but I don’t feel like learning a new distribution for those tests.

More on 3D desktops

An older version of the matrix can be found in A glimpse into 3D desktops... and you can read more on 3D desktops in A “what is” guide to 3D desktops.

Bibliography

A Gentoo howto.

Release Notes for Xorg 7.1.

ATI driver status.

Fedora notes on AIGLX.

The NouVeau project.

The DRI Matrox support page.

Category: 

Comments

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

Only the 8.24 driver works with this chipset (you have to have UMA and sideport enabled in the bios). ATI has not fixed the issues with getting the newer drivers to work (they only work if you can set the bios to UMA only to use shared memory). The Xorg Raedon driver does not support 3D mode on this chipset.

Mitch Meyran's picture

...are really hard to make to work due to increased memory management problems - which the driver is responsible for. Now, not only is Ati well-known for leaving their Linux-using customers behind (while Nvidia is pretty reactive), their chip lines are much more complicated than Nvidia's or Intel's: changing memory management, changing hardware calls, changing overall design... It's complicated (look at the Rage line and weep).
As such, unfortunate owners of shared memory adapters are left behind due to no proprietary driver support (Ati doesn't bother) and very little open-source driver support (it's very complicated, and lacks specifications).
On Nvidia's side, their chipset lines are much less complicated (that's what the Nouveau project seems to say at least); moreover, most of their products are supported by the proprietary driver. Still, their Turbocache cards have little to no support (fully shared memory: yes, fully chip-owned memory: yes, cached shared memory:no) but since I don't have any of those cards (waste of money), I can't say more.

---
A computer is like air conditioning: it becomes useless when you open windows.

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

This is the first place I could finaly learn about the 3D desktop scene and status.

Before your post I couldn't understand why Red Hat was not collaborating with Novell's development on XGL.

And thanks for the clear HW support matrix.

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

Hello, I can provide some information on AIGLX with others ATI cards. Compiz on AIGLX (xorg-server 1.1.1) works without problems in two of my systems, respectively on a Radeon 7500 (RV250) AGP and on a Radeon X550 HM (RV370) PCI-E. In both cases, 3d effects are smooth.

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

Sorry, I just realized that I misreported the GPU name for the Radeon 7500. It is RV200, not RV250 :(

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

GeForce2 MX/MX 400 works with the nVidia beta 9625 with Xorg 7.1 and compiz. You need to use 24 bit depth, also if you have eeprom module loaded rmmod it(even with NOSMBUS patched). My old Matrox G450 dual head also works with AIGLX/compiz with the most recent Xorg 7.1 in debian unstable. It is slightly slower than the GeForce2 card but not unusable. I tried a G400 Mil but that wouldn't cut the mustard. Anybody got a G400 MAX working?

Mitch Meyran's picture

Is the G400 not working: at all, with proprietary/free drivers, have you tried Xgl on it, or does it lock up?

I was aware of the 24/32 bit problem, but it's not that much of a problem since Nvidia cards have always been notorious for their inability to process 16-bit data correctly (they are in fact generally slower in 16-bit than they are in 32-bit mode, and that started with the Tnt).

I'm no Matrox specialist (been years since I last saw one actually), so I'll have to investigate.
---
A computer is like air conditioning: it becomes useless when you open windows.

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

This is just an update and clarification on the drivers I used since my last reported testing with Matrox cards.

The original driver I used for the G450 was the Xorg 1.4.2 mga driver not the vendors(Matrox) driver with hal. However I think someone over in Matrox's user forum has updated an unofficial matrox driver to get Xorgs new version >1.4.2 to work with the hal.
I have now tested the Xorg 1.4.4 mga video driver version and that seems to take care of issues with G400 (just a side note, I had originally forgot to remove Option "MGASDRAM" from my G450 configuration when I originally tested the G400 with SGRAM, it didn't crash the Xorg server but just appeared like dri was locked up with no output). So now I can confirm that the Xorg 1.4.4 mga driver in 7.1 does work with the G400/G450. I have not tested the unofficial matrox driver with hal so I can't confirm that. There are also reports of some G200 cards working with the newer Xorg mga driver too.

Mitch Meyran's picture

It may, as Xorg's drivers are supposed to be platform-agnostic - however it's quite an unusual system, and if it doesn't work you must report it to the Xorg mailing lists.
---
A computer is like air conditioning: it becomes useless when you open windows.

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

Do you have a howto on how you got beryl/aiglx working with this card?

Thanks.

Mitch Meyran's picture

I can't really help you there, as I don't have a Tnt2 (only a Tnt1); as far as I know, you're forced to use 'legacy' Nvidia drivers on Tnt2 cards - and those definitely don't support AIGLX.

You can try to install the 96.25/26 Nvidia drivers (25 is beta; 26 is Quadro-specific, but works with other cards) and see if they recognize your Tnt2 card (frankly I doubt it).
If (and only IF) they do, then normally X 7.1 would start with the nvidia driver. Once there, you must parse the /var/log/Xorg.0.log file (if it's located there in your distribution) and see if AIGLX is enabled (you can type "less /var/log/Xorg.0.log | grep AIGLX" as root to get an idea fast). If it is, then you can try to install Beryl (either compile from sources, or get packages for your distro) and run it (usually through beryl-manager) to see if it works.

But I'm afraid a Tnt2 is a bit too flakey to run it in a pleasant fashion.

---
A computer is like air conditioning: it becomes useless when you open windows.

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

I've got beryl/aiglx working well on a radeon x800GTO (I believe it is the r480 chip). Performance lags a bit at times (mainly when scrolling web sites) but overall it works well.

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

Is this with the open source driver, which (I understand) is required for AIGLX? It's marked on the support grid as "Experimental" for your core...Is there any hardware 3D acceleration at all? I'm using an X700 so if it's borderline for you in 2D, I'm probably not going to be happy with AIGLX + accelerated 3D :)

Mitch Meyran's picture

As far as I know, the free driver does provide enought acceleration to work a 3D desktop; it is still experimental in the sense that some older functionalities have been disabled and newer ones are not implemented yet - or incomplete.
Due to it being a work in progress, the version of Mesa you use is of the utmost importance: cvs versions will usually support more functionalities but break often, releases will support less hardware and less functionalities, but be much more stable.
---
A computer is like air conditioning: it becomes useless when you open windows.

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

AIGLX + Compiz is working on my ATI X600 Card. Using FC6.
-Lawrence

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

I have a Radeon Mobility 9200 which cannot, with the open source driver on FC6 using AIGLX, support in hardware all the features offered by compiz (e.g. water effects, changes in opacity). In contrast to AIGLX, can XGL support in software newer Gl extensions not handled by the older graphics cards?

Mitch Meyran's picture

This is more of a driver support problem: the 9200 core is basically an overclocked 8500 core (in its privately owned VRAM version), but it has seen a few modifications. The free driver may not provide accelerated functionalities required (opacity would be alpha level modification on a pixmap) right now (it may come later), while under Xgl it may (opacity would work on a software generated texture - what XGL does - if texture from pixmap doesn't work).
Frankly, here, you'd be better off asking the plugin's maintainer.
---
A computer is like air conditioning: it becomes useless when you open windows.

BitShifter's picture
Submitted by BitShifter on

Thanks for all the info regarding 3D. I know not a lot, and this helps a lot. I personally use ATI Radeon, I feel it's the most adept. But I could be wrong. ANy suggestions?

Mitch Meyran's picture

Recent Nvidia proprietary drivers work - quite well - on most of their hardware range. The free Ati Radeon driver gets better all the time, however recent Ati hardware shines by its complete lack of support.
- if you want to stay with Ati, don't get anything more recent than X850 for now - for both proprietary and free drivers.
- if you look for the most powerful piece of hardware supported under GNU/Linux, I'm afraid Nvidia still is the way to go - if only because their driver support is surprisingly complete under POSIX systems.
- if you want a Free driver, Intel or Ati are your only alternatives for now. Intel chips are onboard ones and lack power, Ati is tentatively supported up to the X850 (last time I checked - it changes fast)

---
A computer is like air conditioning: it becomes useless when you open windows.

BitShifter's picture
Submitted by BitShifter on

Thanks, I didn't get a chance to reading your response until now.

Yours truly now has a BLOG!

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

MDV 2007
R350
128 mb video ram

The free driver does not support 3d only xgl with the proprietary driver is available.

3d desktop is a bit sluggish but certainly usable. Resizing windows is slow enough to be irritating but everything else seems to work nicely.

Mitch Meyran's picture

Strange - I had AIGLX working on that same distro with a 9500 and the free driver.
Resizing windows is ALWAYS sluggish, even more so under Xgl - due to the huge amount of RAM copies performed.
---
A computer is like air conditioning: it becomes useless when you open windows.

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

my OS is Ubuntu (edgy)
video card driver is nvidia-legacy-glx(71.84)
I can't start beryl
I don't know what's the reason,is my video card is too old to run it or some other reasons.

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

You need to use the latest Nvidia drivers to get Aiglx working, there are guides for both Edgy and Dapper.

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

Not trying to be pedantic, BUT...

Metacity replaced Sawfish (formerly called Sawmill) as gnome's default window manager. Prior to sawfish/sawmill it was enlightenment.

Mitch Meyran's picture

Well, I wasn't doing a complete history of Gnome's VMs - just mentioning what works and what doesn't. Thanks for the info though.

---
A computer is like air conditioning: it becomes useless when you open windows.

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

AIGLX on my powerbook (ppc linux) with the ati driver (radeon 9200) works except that the colors are all borked. The colors are fine using Xgl, except that performance is slower. Has anyone else seen weird colors using the open source ati drivers with aiglx?

Mitch Meyran's picture

I'd say endianness on RGB channels - PPC doesn't use the same bit order that x86 do, and there must be some hard-set bits set up somewhere that reverse a colour value.

Does it happen with other 3D apps, anywhere? If yes, then get your Mesa version info, and report it to the Mesa devel mailing lists.
If AIGLX+Beryl are the only things getting messed up, get your Mesa+AIGLX+Beryl versions and report it to both Beryl and X.org dev mailing lists.
---
A computer is like air conditioning: it becomes useless when you open windows.

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

AIGLX = The present

Xgl = The future

Xglx (the actual implementation) is here just to be able to run the "X on opengl" thing with actual drivers, and even with that dirty hack of running one xserver on top of the other you can see that is less driver-dependent, Xegl a complete xserver layered on top of Opengl is the long term solution with a far better and modernd arquitecture than Xorg :D, and this means a lot more than just being able to run compiz/beryl

Mitch Meyran's picture

The big problem with XGL is that you can't run the server and the clients on different machines - which was X11's initial mission.
As such XGL is not only a 'dirty hack', it also castrates X11. On the other hand, AIGLX still allows client-server architectures, and is not only 3D enabled: it's an advanced compositing extention that will allow at the end much more advanced graphics management. Xegl has actually been somewhat merged with AIGLX, and integrated in the official X11.

---
A computer is like air conditioning: it becomes useless when you open windows.

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

X Window does break things down into a client\server model and uses tcp for transport which *does* allow you to run things over a network, but have you tried it? It's pretty useless if you compare it to something like rdp or Citrix and like these remote-application/desktop systems it completely precludes anything graphically intensive that you might want your modern desktop OS to do for you. Getting away from this model isn't necessarily a bad thing, I just hope they come up with something that will give rdp a run for its money that isn't a bolt-on afterthought (ie - freeNX)...

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

Running X11 apps over a *LAN* is great. And that's what X11 was designed for. Regular X11 apps send a *ton* of tiny requests and responses at startup, so an app takes about forver to run through if you have over maybe 50ms ping. Usually X apps also send all the pixmaps, bitmaps, etc. uncompressed, too, which is pretty reasonable for a LAN but not otherwise. Having a few apps running *on* your desktop is really nice compared to remotely viewing a desktop with them on it.

That said, I use vnc quite a bit too. I've seen RDP and I think it was a bit faster than vnc, but VNC is nice and easy.

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

My systerm is fc6 ,I can't install the driver on my systerm ,it's said that
my kernel is not compiled, I don't understand it .I have three kernels on my mechine ,2.6.18-fc6-xen,2.6.19-fc6-xen and 2.6.19-fc6,these all can't install the driver. Who can tell me what to do?
Thanks

Mitch Meyran's picture

If you don't have the headers installed on the system, the installer can't compile the module. Check that your running kernel has its headers installed.
---
A computer is like air conditioning: it becomes useless when you open windows.

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

openSuse 10.x - compiz

from Xorg.0.log
Intel Corporation 82946GZ/GL Integrated Graphics Controller rev 2
VideoRAM: 126976 kByte

from Xgl.0.log
screen 0 - 1280x1024 @ 24:
GL renderer: Mesa DRI Intel(R) 946GZ 4.1.3002
GL version: 1.4 Mesa 6.5.2

Followed the directions in http://en.opensuse.org/Using_Xgl_on_SUSE_Linux

Changed the resolution from 16 to 24 bits (xgl over xorg) - nice to see how things work - opensuse 10.2 compiz (recompiled kernel, though)

---------------------
http://tlgu.carmen.gr/gnulinuxtips/GNU-Linux on the Lenovo-IBM ThinkCentre A55.html

Mitch Meyran's picture

were you having problems in 16-bit mode? I've seen some cases of non-working 3D compositing in 16-bit...
---
A computer is like air conditioning: it becomes useless when you open windows.

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

If I remember correctly the xgl configuration would not accept 16 bits, period.

I will try to do it over in a few days and publish the procedure in the same document:

---------------------
http://tlgu.carmen.gr/gnulinuxtips/GNU-Linux on the Lenovo-IBM ThinkCentre A55.html

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

I retraced the installation procedure and added "bogoframe" benchmarks. Direct rendering with 16 bits; Xgl/compiz with 24 bits (no direct rendering - runs quite smoothly). Will probably follow up with newer stuff as they come out.
---------------------
http://tlgu.carmen.gr/gnulinuxtips/GNU-Linux on the Lenovo-IBM ThinkCentre A55.html

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

Is this intel motherboard D946GZIS?
This one?

http://www.intel.com/espanol/products/motherbd/D946GZIS/index.htm

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

Compared the motherboard you indicated with the one in my Lenovo Thinkcentre. The core real estate is almost the same; there are differences in peripheral circuits and the Lenovo is missing some "useless" components, like coils and capacitors, prominent in the picture (http://www.intel.com/espanol/products/motherbd/D946GZIS/index.htm)

The BIOS reads "This is the Intel 946 Customer Reference Board"

--------------------------------

And this is for our host: I read more and found out how to preserve video modes while switching from the graphics desktop to the virtual terminals and back on the i810 without getting a flashing off-blue screen - VBERestore; tried out beryl+AIGLX on older machines (Pentium III/800MHz/256Mb, Duron/900MHz/396Mb) using Radeon 9200SE fan-less video cards with 128Mb on-board RAM left over from some project. All machines run fine.

When my younger one saw the transparent beryl desktop running on the Duron, she exclaimed "Wow! this is the most fascinating thing I have seen in my life!" (now she is showing-off to her not-so-lucky friends - a big marketing push for GNU/Linux!!)

Also discovered kwin-kompmgr (the KDE desktop with translucency, shadows and fade-in/fade-out effects). The compositing engine (kompmgr) is started as soon as it finds out that there is a compositing extension...

And found out that even recent distributions, like Ubuntu 6.10 are missing the all-important newer xorg/mesa infrastructure for 3D desktops to work properly. I guess it is a matter of days, now.

---------------------
http://tlgu.carmen.gr/gnulinuxtips/GNU-Linux on the Lenovo-IBM ThinkCentre A55.html

Mitch Meyran's picture

I guess this would be a script hitting the vbetool command (notably, using 'vbetool vbestate save|restore'). From what I could glean here and there, i810 has a dodgy mode initialization scheme - making it behave with a hardware-level VBE call is, indeed, a nice trick, which is usually used by Free drivers until the driver's developer can find the voodoo code needed to initialize the card properly.
The problem with VBE tools is that VBE means VESA BIOS Extensions - meaning it relies on the x86 PC BIOS, which isn't found on platforms such as Intel/PPC Macs. This is why driver authors don't use them more often, or when they do it, still look for the proper voodoo.
---
A computer is like air conditioning: it becomes useless when you open windows.

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

Do you have any results regarding 3fdx & AIGLX / compiz? The Fedora notes link above indicate that Voodoo3/5 is not consistently working and NV texture emulation may be needed. How would that be accomplished?
I've tried the latest FC6 with no luck on my ancient Voodoo3.

Mitch Meyran's picture

Unfortunately, the Voodoo3 chip is a 16-bit chip; as seen in other posts, 16-bit 3D can lead to trouble (or a blank screen). As such it's not really a go.
As to NV texture emulation, it's either:
- an experimental feature that needs to be enabled in the driver's options (in xorg.conf, device section, option).
- a very recent feature that requires a CVS version of Mesa
- both.

Good luck.

---
A computer is like air conditioning: it becomes useless when you open windows.

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

ATI Radeon's x1650 pro works well with xgl & compiz. I'm gonna try aixgl now and see what happens :)

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

I have look for a while now and i found the easiest way to install AIGLX/XGL was with kororaa, so i downloaded it, run it on my machine and the problems I found havent stopped, first the driver that came with the cd was useless so I used the one of winischoffer and it worked, i could see kde, but thats not the issue, when i try to enable xgl sometimes it works, sometimes it doesnt, and when it works it works at 3fps reaaally slow, so, i hoped aiglx was faster but i cant enable it what should i do??? (when i use aiglx it says driver claims to not support visual 0x04a )

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

Quote:

"I have nothing more recent at my disposal, so owners of X6xx to X1xxx cards, if you could please give me a status report on those cards, with both the free and closed source driver, on both AIGLX and XGL..."

I have an ATI x700 mobility 128 meg in my laptop using the open source ATI driver and running Beryl with AIGLX.
It works pretty well, but vsync is poor, and it seems to lag somewhat often on window open/close effects.

The driver may work pretty well for beryl, but it doesn't like a lot of games (such as Planeshift CB), and will render them without textures. This may be related to running Beryl, but I'm not particularly sure.

I any case, any drivers I've tried seem to get 55-85% of the frame rates I got in windows doing comparable (or the same) tasks.

(Am using Ubuntu Edgy and 7.1 xorg)

Mitch Meyran's picture

it's always under development, and running AIGLX+Beryl is already a load on the card's memory. What may be happening is that upon creating a context for the game, you run out of video memory:
- because there's no more allocatable RAM
- because there's not enough allocatable RAM for textures
- because there is a bug upon context creation that trashes textures upon load.

Report bugs (see developers' bug management policies, but usually submitting very complete bug reports followinf devs' directives yeld best results).
---
A computer is like air conditioning: it becomes useless when you open windows.

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

hi im new in the open source world i do have install on my pc the fc6 and recently i have started playing with it
a couple of days ago i heard about 3d destop for linux(especially fedora core 6)
i do have the nvidia gforce 5200 fx on my pc and i'm looking to install/make functional the 3d destop on fc 6
is it possible for me to do it / and if yes do i need any kind of driver for this operation

Mitch Meyran's picture

I don't use Fedora Core; but since Fedora was part of the 3D desktop founders with AIGLX, there must be some packages all ready for you. Check your repositories.
The FX5200 requires the Nvidia proprietary driver; you should be able to find pre-packaged installation packages, or use Nvidia's generic installer (command line required). It does work quite well, though (I have one).
---
A computer is like air conditioning: it becomes useless when you open windows.

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

Well, I went in full bore trying beryl out on several systems. I'm running gentoo ~x86 (the "unstable" branch). I threw some fairly high bitrate MPEG4 640x480 video up to see how things ran.

The short of it.. Geforce4MX, i915, and r100 do run beryl fine. The Geforce even supports XV-accelerated playback fully, 915 works with xv but "mplayer -vo x11" allows the video window to behave better, and r100 was I think too slow for xv, but "mplayer -vo x11 -framedrop" worked.

AthlonXP 2200+ system, with integrated Geforce4MX. 768MB DDR RAM, and 128 given to the card. the 9631 driver has some texture problems (glxgears or the like looks great, some games don't.) Also a ~30 second lockup when I start X (without beryl..) Beryl doesn't help the games but doesn't hurt anything either. Everything seems just a smooth and fast as native.. CPU use goes up 5% points or so if I'm jiggling windows etc.. not much at all. mplayer's xv output works perfectly with all this. 8776 driver avoids the game problems, but beryl runs very slowly with it.

Dell notebook, Celeron M 1.4ghz, and i915. xv uses a color-key, so having a plain video window sitting on the desktop works fine, but dragging it gets blue artifacts until the window quits jiggling, and it turns blue as soon as you rotate the cube, it's blue in the task switcher, etc. "mplayer -vo x11" playback works with all special effects though and the system is plenty fast for it.

Where I work (a surplus store) a few people have been trying for about a month to piece together a high-enough spec system to play w/ Aero.. no dice. I went the other end of things w/ Beryl, and threw it onto a PII450, 256MB of RAM, and a PCI Radeon DDR card. All but the video playback worked great! The videos needed framedrop and pegged the CPU without beryl, so under beryl they were pretty bad. I put the card and drive into a PIII866 (still 256MB of RAM).. I still needed framedrop, but it worked pretty well. xv stuttered oddly, I think because the memory bandwidth was being maxed out by all that compositing etc. x11 playback worked fine.. I was getting 25-30FPS usually (playing a 30FPS video), with it dropping to 14FPS or so if I started jiggling windows etc. The CPU peaked at 80%, so this wasn't CPU limited. Either the PCI or (I think..) the memory bandwidth of the card was being maxed out. It still was jaw-drapping to see a machine that old keep up with the latest and greatest.. I knew academically Aero's requirements were quite inflated, but wow.

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

Me again (I have the post just above.)
As someone else has said, G400 didn't cut it. I tried the one out I have in an Athlon 950... yeah. The screen runs at 1280x1024.. with beryl, the background cut off and is just white on the right edge of the screen. If I had to guess, maybe the texture cuts off at 1024 width? If I made the web browser full-screen the whole thing turned white.. resizing it to >1024 width caused problems too. Dragging windows uses about 50% CPU but was a smooth 40FPS (as inidcated by benchmark). If I didn't run benchmark the konsole text was jerky, maybe updating 2-3 times a second as I typed. With benchmark on (even with the rate limiter left on) it showed 40FPS and konsole was smooth. Window jiggling etc. was smooth. Video playback, the constant updates mplayer throws into the konsole just killed the card and video playback, but if I got that mplayer text offscreen, video played fine with xv.. but had the blue box while window dragging etc. similar to other xv-playback setups. "mplayer -vo x11" got about 5FPS maybe, with high CPU usage. The windows still jiggled smoothly while the video chugged though.
I'd say it's probably "usable" at 1024x768 or below, but more a curiosity than REALLY usable.

Mitch Meyran's picture

I'll see into integrating those results in a newer edition of my driver matrix.

The Nvidia 87.76 problem mosty comes from the need to use XGL, as this driver version doesn't support GL_EXT_texture_from_pixmap. The 96.x versions do support it, and basically redirect all overlays to a GL texture (you'll get identical results using xv and gl/gl2 in mplayer). The 97.x releases have been quite optimized: video is much less jerky (I'm nitpicking: I'm the only one at home to notice it). I haven't tried too many games with it though - the ones I tried did work though.

The Radeon PCI problem is more than likely a PCI bus bottleneck: you could try overclocking the PCI bus to see if there's any improvement (PCI is clocked at 33 MHz natively, but most cards can deal with a PCI bus at 42 MHz) and disabling as many extension (cards, integrated peripherals) as you can: it should help a lot.

The G400 problem looks like a driver problem (texture cutoff at 1024, yes). Check earlier/more recent versions of the Matrox driver, and submit the bug... It may help later.
---
A computer is like air conditioning: it becomes useless when you open windows.

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

This is a pretty old vid card. I tend to get the white screen of death ATM. I know this is recently an issue with ubuntu using beryl 1.9999...
However, does anyone know enough about the ATI rage magnum 32MB to tell me if it SHOULD work or am I wasting my time?
Lemme know :)

Thanks

Mitch Meyran's picture

This card is based off the Rage 128 design; at the moment, no 3D driver for this chip can run AIGLX. XGL might run, but then you'd better use an older X version (Xorg 6.9) and you'll need the experimental ATI kernel DRM module for any sort of performance. Then, it MIGHT work.
---
A computer is like air conditioning: it becomes useless when you open windows.

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

I have a PNY 6200 with 128 MB of memory in a Pentium 920 system, and it runs great.
Also have a Palit GeForce 6200 256Mb AGP-8X on a Pentium 820 system that also runs without problems. Both boxes running Ubuntu - the first one is Edgy and the second one is Dapper.
Installed the first one using these directions:
http://www.ubuntuforums.org/showthread.php?t=263851&highlight=beryl+edgy+nvidia

and the second one using this guide:
http://ubuntuforums.org/showthread.php?t=268036&highlight=xgl+beryl+djrobbief

If you follow the instructions carefully, it may work for you like it did for me, which was like a charm.

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

(by patrick--@-pipiche.net )
Just to let you know that I have an ATI X1300 on a nc6400 HP Laptop, and as the Radeon OpenSource driver doesn't work with this card the fglrx driver doesn't support AIGL+DRI+Composite.

When I have contacted AMD/ATI to know when they plan to support it, i've got a mail stating that is a feature not to have the 3 options enabled together !

Mitch Meyran's picture

That's only a way to say that 'you can run 3D desktop only under XGL' because it is recommended to disable Xorg's Composite extension when using XGL. It's probable that AMD/Ati would require heavy driver refactoring to support the very Linux-specific DRI/DRM structure.
---
A computer is like air conditioning: it becomes useless when you open windows.

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

Geforce X1950 Pro 256 MB
kernel 2.6.20, ATi proprietary driver 8.35.5
Xgl+beryl OK (Composite must be off)
It seems very fast (maybe because the card is really fast.
Official ATI driver release notes clearly state NO support for AIGLX

Mitch Meyran's picture

Must be a typo: this is a Radeon.
the X1950 Pro relies on the r500 chip design; it is currently supported by the proprietary Ati/AMD driver, and in 2D mode by the Xorg Radeon driver (experimental). 3D support (thus, AIGLX) may be added in the coming months.
---
A computer is like air conditioning: it becomes useless when you open windows.

Anonymous visitor's picture
Submitted by Anonymous visitor (not verified) on

Hi there,

As I understand it, AIXGL is more of a workaround version of XGL to avoid the issues that come with being dependent on closed source drivers. From my experience with it, it seems quite capable of being coded to allow the CPU to share some of the burden if the graphics hardware is sub-par... a sorta software acceleration if you will. I have noticed the way it functions using the MESA libraries on some ATi chipsets where the CPU seems to be doing the additional work.

My question is: Does anyone know of any instances where AIXGL has been able to work on a system with no 3D hardware at all, relying solely on software 3D? This could be useful to allow AIXGL support on chipsets like the AMD Geode platform, and in software like VMWare, (Free)NX, etc.

diJenerate

Mitch Meyran's picture

AIGLX is not a 'workaround'; it is, on the contrary, an extension made to X11 to allow use of GLX (OpenGL for X11, not X11 in OpenGL) in window management.
It aims at providing a 3D compositing window manager all the necessary extensions to work without requiring a 'special' X11 server - what XGL is.
A brief recap of XGL: it starts a standard X11 session, with a single, full-screen window opened in it; this window uses GLX, and contains yet another X11 server (XGL) which is 3d-compositing capable, but all elements in it are in 3D (it creates a single 3D contexts) with all 2D parts emulated.
Now, AIGLX: an improved X11 session starts, and checks GLX's capabilities. If those meet the requirements for AIGLX, it loads. Now, all normal elements work as usual: hardware overlays (Xv, etc.) clients don't have to run on the same machine the server runs on, etc. but if the WM wants to use 3D, then 3D is made available to the WM; however, those elements that don't require 3D are kept as-is.
In short, XGL emulates an X11 server inside a normal X11 session; this allows it to emulate some essential functions required by a 3D WM, by making it one step removed from the actual driver; it also reduces the number of functions reported supported by X11, facilitating fallback to some selected rendering paths which can then be optimized.
On the other hand, AIGLX introduces 3D to all functions already supported by X11; this makes it harder to implement, however it allows better flexibility: for example, XvMC (X video Motion Compensation) can now use a 3D approach if there are no dedicated on-chip functions with a driver, and allows it to switch from one to the other instantly. The inconvenient, AIGLX requires (for the sake of efficiency) hardware support for GL_EXT_texture_from_pixmap since most of the work is being done directly in the card's frame buffer (which is emulated in system RAM by XGL) and DRI (as a consequence of working directly in Video RAM, you can't use CPU copies without a huge performance impact).
In fact, AIGLX cannot work on non-3D hardware, for the very simple reason that it aims at performing screen compositing and operations directly in video RAM - making it work in software 3D would require heavy back and forth memory copies, tricky Video + system RAM management, or emulating a 3D card - which is essentially what XGL + Mesa do.
In absolute, is Mesa emulated all functions required by, say, Compiz, and Compiz didn't check for hardware support, you could make it work in software using XGL+Mesa. Slow as molasses.
---
A computer is like air conditioning: it becomes useless when you open windows.

Author information

Mitch Meyran's picture

Biography

Have you ever fixed a computer with a hammer, glue and a soldering iron? Why not? It's fun!