Short Excursion into Linux 3D Desktops

During the last week or so I experimented with the state of 3D desktops under Gentoo Linux after having seen the cube desktop from Novell SLED10.

In the end I find, that the Nivida GLX desktop extension with the newest (beta) drivers is probably the road to go for me. Using the 9226 Linux driver got me a 3D desktop under compiz and beryl (code fork from compiz) with the least bit of hassle. However the beta driver has issues with internal memory management, so that at a certain point new windows come up totally black. beryl has a lot of more eye candy compared to compiz. The difference is something like, if you compared trustworthy old fvwm2against windowmaker. compiz may be feeling better once used in connection with Gnome. beryl definitely looks very cool. I tested only with KDE. So, for the time being I’ll continue using 2D desktops until the final Nvidia driver is available.

I also tried to build Xgl, however I couldn’t get it to work properly. I followed the info from the Gentoo Wiki and Gentoo Xeffects Wiki. I recompiled Xgl a couple of times, but in the end I wasn’t able to produce a working configuration.

I also recompiled the Xorg server to include the AIGLX extension, however beryl insists to use the Nvidia extension.

Anyway, from what I’ve seen, who needs Vista.

Update: Actually I did create a working Xgl configuration, but I didn’t noticed it. After starting Xgl in a window and then compiz for that windows I always saw error messages in the form:

compiz: pixmap 0x200043 can't be bound to texture
compiz: Couldn't bind redirected window 0x40001a to texture

Once I used beryl-xgl it actually worked. Actually I’m writing this under Xgl and beryl.

One problem area I see at the moment are windows with rapidly changing contents. For instance the music players Audacious and Amarak cause a pretty high system load simply because they are constantly moving the track information through their windows. Watching TV or editing sound with Audacity produces similar effects. I have yet found a parameter in beryl to improve this situation.