Compiz, Lenny, x300, i965, exa, xaa, xv …

November 1, 2008 – 3:32 pm by Adnan Hodzic

I’m spending this lovely Saturday morning to go through some bugs in Debian. Actually I set my eye on one special bug, Lenny RC bug which in few days will be 1 year old, and then this fact and figure as one ripped the stitches of my mouth, and thus I started writing this post … I want to talk few things over in general Linux development and possibly give definition to this highly cryptic title.

EXA vs XAA on i965

But before that let me tell you a little story that should’ve been told long time ago.  When I got my x300, I was “thrown” on a lot of new stuff. One of the most interesting things is that i965 was blacklisted in Compiz (and as I see it now, it still is).  So as I configured everything back in the day, last step was to configure Compiz. I was very surprised to see i965 to be blacklisted, nevertheless this was none of the problems that will follow.

EXA is default, EXA is supposed to replace XAA, so here’s the paradox. With that same default EXA you’ll run into numerous problems, from basic scrolling being slow, to whole compiz being incredibly slow, to the point of not being usable. Of course you can spend hours and hours tweaking and hacking to make it run any faster, maybe fix scrolling speed, you’ll make it, but the I believe the “core” of this problem is in something else. Also there is a good side to side of this story, you can play videos, however if you run them in fullscreen they’ll go just incredibly slow, no matter really what plugin you set as your video playback.

Setting video playback plugin to “No XV” didn’t do anything, neither did Xshm or any other option. But then I said, hold on, why is i965 in Compiz blacklist again?

 "XV does not play with XAA under compiz, only with EXA"

Ok …, hold on I’m not even using XAA, if this is how XV plays under EXA and how Compiz acts by itself … now there’s a reason to blacklist it.

Then I did something that might seem illogical to some of you. I switched to XAA. And believe you me, all the performance problems were solved without any problems. But if you wanted Compiz, you wouldn’t have video playback and vice versa. But then again, I read somewhere that fix for this would be implemented into XAA by September. After one of my dist-upgrades I did see one of the “xserver-xorg-video-intel” updates coming along, and true, I could watch videos on my compiz, under “No Xv” down side to this is that CPU will heat up when you’re watching “No Xv” movies or series for awhile, so my cool x300 won’t be cool. Not to forget that you won’t see your full video’s quality, but it’s going to be nicely pixely video which you can get used to as most of things in your life.

If you’re lucky enough, that is if you play video, full screen it and then hit “space” to pause it, you’ll get the output on the screen if you choose to use X11/Xshm/Xv and use “Intel Video Overlay” as your device. Then once you eventually get your video ouput, it’ll be the video quality it really is, but only if you wanna see it in fullscreen.  Talking about video input, (v4l and/or v4l2) … you won’t get it, and once you do it’s going to be slow.

And talking about xserver-xorg-video-intel and xorg.conf and XAA, this is my “Device” section in xorg.conf that does the best job, with or without compiz enabled:

Section "Device"
        Identifier      "Intel Corporation Mobile GM965/GL960 Integrated Graphics"
        Driver  "intel"
        Option   "XAANoOffscreenPixmaps"         "true"
        Option   "DRI"                           "true"
        Option   "AddARGBGLXVisuals"             "true"
        Option   "RenderAccel"                   "true"
        Option   "VideoOverlay"                  "on"
        Option   "GARTSize"                      "384"
        Option   "DesktopSetup"                  "horizontal"
        Option   "MigrationHeuristic"            "greedy"
        Option   "AccelMethod"                   "XAA"
        Option   "ExaNoComposite"                "true"
        # compiz experimental
        Option   "AllowGLXWithComposite"         "true"
EndSection

Problem here is that I don’t know who to trust anymore. EXA is successor of XAA? So this should mean that XAA is obsolete and decapitated? Hm, yes except that I just saw that fix being written in order to have video playback under Compiz with i965 on XAA. Or maybe EXA is obsolete and decapitated as I read when I decided to move to XAA. And here I am, this is a guy who knows what he’s talking about. That’s the guy.

Situation is definitely clear, and most obvious. But what’s not clear and obvious that you have a RC bug that’s one of just few bugs from preventing Lenny of becoming next stable. And that’s the bug I mentioned when I started this post, in few days it’s going to be 1 year old. Then again, really thank you Debian for making all of this public and transparent, and actually fixing stuff before release your next stables. Now some of you, think again why it takes long time to get Debian stable.

And my winner in this little EXA vs XAA war is definitely XAA if you haven’t figured this so far.
The sad thing is that, besides this EXA vs XAA war is that we also have KDE vs Gnome war, just like the ones you mostly hear about Debian vs Slackware, Fedora vs Ubuntu, XUbuntu vs YUbuntu and such. Maybe if we didn’t have these kind of wars … ah it’s just crazy talk Smile

Compiz Fusion

I could really cover all its history, from compiz to beryl and then to Compiz Fusion, but I won’t give you satisfaction to waste your time reading at least 5 more pages long post. And aren’t you happy about that? Smile

Instead I’ll just say it short brief notes, no technical nonsense and philosophy lectures. My TV was on, there was this movie, I first didn’t want to see it, I wasn’t really interested. But everybody kept on talking about it, until one day I decided to see the movie. After I saw the movie, it wasn’t anything special, but damn it had some good special effects, in beginning my TV did fell of the wall few times later and broke but effects were so cool and I wanted to be part of the hip new crew and talking about it as well, you get the point behind this story.

Compiz is awesome, it’s ultra cool, but goddamn if it was ever working right. Problem is that over last few years I leave it, and then I hear or see it, and then I try it again and again, and I do see improvements, great ones, but Compiz is not ready to place itself as your default  X compositing window manager. Not yet.

It doesn’t give you scalability and flexibility and usability in a way that it is following you, but you have to follow how it is breathing in order to adapt yourself and your habits to it in order to feel all that it is meant to be.

Maybe you could thing this post was too scrambled or something, but I think the way it’s written also casts the perfect image in what position are some of the projects in our community.

  • velimir

    compiz dude…make up..all there is to it..

    and i don’t want to talk about the XAA vs EXA ‘cos i just don’t know enough about it..
    but as you pointed it out…this is why Debian takes long to come out..and it’s the thing i like about it..
    you don’t just get the newest shit..you also get a stable system to use Wink

  • Of course, unlike some other distros, that will do anything to cover up and hide those same problems Smile

    Needless to say Lenny is going to kick some serious ass Smile

  • dado

    hey,what is release date of lenny..?

  • When it’s ready Smile

    First it was announced for September, but in September it had ~250RC bugs, then just 10days ago bugsprint was successful in “hunting” remaining ~100RC bugs, so it should be out really soon.

    But beta2 iso’s are available for awhile now

  • would you recommend XAA over EXA for i915 integrated graphics? what about UXA?

  • … also, if that is not a problem for you – could you comment on the options you’re using in your Devices section? or give a reference to a single place with all those options documented.

  • Yes, I definitely recommend XAA over EXA:

    http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=495623

    However, UXA I haven’t played long enough to give any objective judgment … will do in future tho

  • thanks!

    I’m not using compiz at work (that is where I have i915), but was getting “extremely slow page scrolling in iceweasel” behaviour; your page was one of the resources which helped me push the FPS in glxgears from ~430 to ~910.

    However, so far I’ve only tried EXA with some extra options (before that I had a default xorg.conf as generated during install); as time permits, I’ll try your set of Options for XAA, to see if that gives me any increase in gears fps. Also, “intel” gave me about ~10-20 fps speed over “i810” driver, as documented at my blog (should appear as a trackback link here).

  • Pingback: Intel i915 integrated graphics under Debian: how to get rid of sluggish 2D performance()

  • Hoang Le

    Thank you for your great post Smile

    I’m very new to Linux, however, still this is very useful for me.

    Actually my Dell Vostro 1400 uses Intel 965 and I have the same problem as yours. I’ll try as soon as I can.

    Thank you again

  • Anton Smirnov

    I use your configuration and it desided all my problems with graphics.
    THANK YOU VERY MUCH!!!