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 :)
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? :)
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.