Compiz & aiglx in unstable. Woohoo !

Thanks to David Nusinow, Thierry Reding, Kristian Høgsberg and Michel Dänzer to have made this possible.

It’s really nice looking, but damn, this is soooooooooooooo slooooooooooow. I already tweaked my X configuration, so that GL applications would be fluid, and they are, but compiz is so much slower than all the rest of the GL applications that I really wonder what’s going on. Is it so much more difficult to display 3 windows than to display the full earth with plenty of textures ?

As a bonus, for an unknown reason, it cuts the nautilus desktop window at a width of 1024 instead of 1280., which makes the right of the screen a warp zone…

(For the record, I have a Radeon Mobility 9200 with the x.org drivers ; I should try with the proprietary ones)

Update : The slowness might be related to this message:
libGL warning: 3D driver claims to not support visual 0x4b

Update 2 : According to this comment from Michel Dänzer, the above message is only cosmetic.
I solved my slowness problem ! I just needed to switch back to XAA instead of EXA as an acceleration method (Option “AccelMethod”). There still remains the geometry problem… even fullscreened windows are limited to a width of 1024, though the gnome panel is correctly at the right-most of the screen (I use a vertical panel on the right of the screen).
There is also a cosmetic problem when switching from “normal” use to GL use (like cube rotation, window moving with wobbly, etc.): the window contents are kind of blured, but there’s nothing we can do about that, except have the windows blured in the same way in the first place.
Ah, and scrolling in windows is more sluggish, now.

Update 3 : After some tracing of compiz, and some reading of the source code, it appears that the width limit problem is indeed due, as suggested by Hez in the comments, to GL_MAX_TEXTURE_SIZE being 1024 (you can display it with glxinfo -l | grep GL_MAX_TEXTURE_SIZE). I wonder if, as suggested by erich, there is really an environment variable to change that…

2006-09-30 09:04:02+0100

debian

Both comments and pings are currently closed.

18 Responses to “Compiz & aiglx in unstable. Woohoo !”

  1. JC Says:

    Hi,

    I got the same issue, but I don’t think that it is related to the libgl warning. Actually it worked smoothly on my PC few months ago, but became very slow with the latest packages.

    I am using AIGLX and compiz on a I915GM chipset.

  2. mmassonnet Says:

    XGL is what you will need if you are going to use proprietary drivers from ATI afair.

    I have the same libGL warning when running xmoto, or nexuiz, and compiz is also damn sloooow. I have an Intel 945GM chipset.

  3. adel Says:

    1 – ATI RV280 [Radeon 9200 PRO]
    2 – open source ATI driver
    3 – http://gandalfn.wordpress.com/howto-compiz-aiglx-on-edgy
    ???
    4 – just work

  4. adel Says:

    ah I forgot! I’m getting that error too, it doesn’t slow things here, but it’s already reported at freedesktop.org’s bugzilla

  5. Hez Says:

    I’ve had the 1024-width issue on my 1280×800 laptop display as well, and its shown up on all of the distros I’ve tried. I’m not sure if compiz supports widescreen formats? It may also have something to do with the xorg ATI driver not supporting all features of the card – limited texture sizes and other similar issues.

  6. erich Says:

    there was some environment variable or something to enable large textures for the radeon driver IIRC.
    But I can’t give you the details, I never got compiz to work on my Radeon Mobility 7800.

  7. Daniel Burrows Says:

    I don’t see aiglx anywhere in unstable (although I saw the compiz packages today). Am I missing something obvious?

  8. glandium Says:

    Daniel: aiglx is included in X.org. You just need to install compiz.

  9. loboshs Says:

    Do I’ve to install Xgl first ? I’ve Nvidia driver allready installed but when trying to run compiz:

    /usr/bin/compiz.real: SmcOpenConnection failed: Authentication Rejected, reason : None of the authentication protocols specified are supported and host-based authentication failed
    /usr/bin/compiz.real: No composite extension

    I’ve installed Xgl few days ago using instructions from http://sonique54.free.fr/xgl/xgl.htm but I don’t know if there’s a cleaner way to install Xgl in Debian.

  10. glandium Says:

    lobosh: you don’t need Xgl. Just be sure you have
    Section “Extensions”
    Option “Composite” “enable”
    EndSection
    in your xorg.conf file.
    You may also need to add
    Option “XaaNoOffscreenPixmaps”
    in the Device section, and make sure you use XAA and not EXA. I don’t know if the Nvidia drivers implement everything necessary for aiglx, though.

  11. loboshs Says:

    Thanks for your help! It’s working by installing nvidia beta driver and xorg.conf:

    Section “Device”
    Identifier “NVIDIA Corporation NV36.2 [GeForce FX 5700]”
    Driver “nvidia”
    Option “RenderAccel” “true”
    Option “AllowGLXWithComposite” “true”
    Option “TripleBuffer” “true”
    Option “AddARGBGLXVisuals” “True”
    EndSection

    Section “Extensions”
    Option “Composite” “Enable”
    EndSection

    Not sure of how to change themes ’cause there’s no compiz manager or compiz themer but Its beautiful as it is (and fast!).

  12. xaiki Says:

    Glandium: I got the texture size limit fixed playing with driconf.

  13. glandium Says:

    xaiki: there is no parameter for me in driconf that would be supposed to do something about texture size, except something about support for larger textures, which is already enabled :-/
    There is something strange, though. According to http://dri.freedesktop.org/wiki/DriConf , the driver is supposed to read the drirc file, but I run compiz through strace, it appears not to be reading from there…

  14. xaiki Says:

    glandium: I could experience that tweaking the texture size limit thing changed my glxinfo -l output (GL_MAX_TEXTURE_SIZE from 512 to 2048).
    It worked once ! but when I wanted to find the minimal .drirc so that it works I failed, plus restoring the old .drirc didn’t fix the mess again … I don’t remember doing anything more to try to fix it … still investigating …

    btw, if you like bling I’d recomend you try out beryl, it compiles out-of-the-box and has a lot of really cool features.

  15. glandium Says:

    xaiki: I actually got GL_MAX_TEXTURE_SIZE to 2048 instead of 1024 in glxinfo -l, but compiz still doesn’t want to deal with windows larger than 1024 pixels. In fact, strace shows compiz doesn’t read the .drirc file, while glxinfo does…

    Update : I found out why compiz doesn’t read the .drirc file. This file is only read by the GL library when allowing direct rendering… which compiz doesn’t when running with –indirect-rendering which is required to run it with aiglx. Dead-end.

  16. Matti Says:

    glandium: You have to save the configuration to the global /etc/drirc . In driconf, choose expert mode and /etc/drirc. This worked for me with a Radeon 7500.

  17. nikiwaibel Says:

    cool. your info solved the 1024 width problem on a thinkpad t41 (radeon r250 — mobility firegl 9000) / fedora core 6 / aiglx / compiz / xfce4 notebook. i thought this was a hw limit…

    i downloaded driconf from http://dri.freedesktop.org/wiki/DriConf, executed driconf as root, switched export mode to edit /etc/drirc and changed the setting:
    image quality/support larger texdtures not quaranteed to fit into graphics memory
    to
    announce hardware limits

    that generates

    in /etc/drirc

  18. Jaime Says:

    Ey, thanks guys!
    It worked on my Intel 855 with Beryl, i was tired of working at 1024 with my 12.1″ screen monitor.