So compiz-fusion is the neat new whiz-bang thing out on the block. While I was on my ATI graphics card I half-lamented and half-scoffed the very neat-looking but not quite practical screen shots and video captures from those playing around with Beryl and Compiz. Now that I’ve got my sweet little System76 with an Intel GPU, I can run Compiz in my Free Software environment, and I must confess that there is some real meat in there; it’s not all just eye-candy.
Sure there’s an awful lot of eye-candy, I won’t lie, but the eye-candy has one benefit: performance. It is astonishing how well compiz-fusion performs on this machine, even with the under-powered Intel GPUs. I’m just boggled when I sit there throwing everything at compiz, and when it’s not crashing (sorry, that does happen a bit) my load average stays under 0.60. Normal X with just swapping desktops and all that did more than that and it didn’t even have any other neat effects.
So there is also some added window-manager functionality that I think is just the bees knees. First and foremost, window grouping and tabbing. This seems like a poorly named bit of functionality, because I had seen others doing it but I couldn’t figure out actually how to do it. It’s called grouping and tabbing, but instead it actually has the functionality of taking windows and putting them back-to-back. The way you do it is you just Super-S on all of the windows you want to group, and then you Super-T to tab them. I know this functionality must have been hard to name, and what’s in a name, but the functionality is just undeniably neat. I think my best use is that I *hate* having multiple browser windows open, but I have to use Firefox while I really *want* to use Konqueror. Normally I would have no choice but to choose between the two, or deal with two windows on my screen. Grouping and tabbing changes all that. Once you hit Super-T, you notice that all your selected windows go into a single window. WTF you may say? What happened to my windows? Well try hitting Super-Left and see what happens. It’s just so insanely cool, but I don’t think you could really appreciate this as useful functionality until you’ve started using it regularly.
Another very useful bit of functionality that I think a lot of folks in OSX like that we’ve been lacking is what the Compiz folks call “Expo” mode. If you enable Expo mode and hit Super-E, then your display zooms out showing you all available workspaces and you can move windows around and all that. It’s pretty darn useful.
There are some *cough* problems *cough* though. The first and foremost of these problems is that kde-window-decorator just does not work. It simply does not function as it should. I’ve been using Emerald, which I believe is in GTK and not Qt. This should probably be fixed. There’s also some very serious confusion in terms, at least for me, going on here. I’m used to the concept of virtual desktops. I’ve been using virtual desktops for about ten years now, and I really find them quite useful. Compiz introduces a new concept called “workspaces” though, and this is just baffling me. One of the areas of confusion may actually just be a bug in the KDE pager kicker applet, but it’s still confusion. I think workspaces are actually just virtual desktops within virtual desktops. It’s very confusing to me and I wish that it were simpler or at least explained better.
Some of the plugins seem to have more stability issues than others, like the Shift Switcher and the Water Effect plugins. The Water Effect plugin causes all windows to stop refreshing under KDE3 when you kick into rain mode. Even after turning off rain mode it still won’t redraw window contents. The Shift Switcher actually shows some beautiful animation (that I would love to see work properly because they seem like very useful ways to look at your windows while tabbing through them) but once the initial animation is done all you see is a 3D horizon and the title of the window.
Then there’s the general stability issue. I’ve heard that GNOME has less of a problem with this than KDE does, but I actually haven’t seen much of a difference. I’ve played with compiz-fusion on both GNOME and KDE and other than having to jump through more hoops in order to get things first set up I didn’t really notice any real difference in stability, functionality, or performance, with compiz-fusion. I understand that the setup I’m using is mostly GTK, but I’m not picky. As long as it integrates well with KDE I’m not going to complain much.
Some of the more eye-candyish functionality is nice to have, and I played with it for a few minutes, but ended up disabling most of it. The Wobbly Windows plugin is neat, and it works well, but it’s not worth giving up window snapping. The Desktop Cube functionality is neat, and I’m keeping it on for now, but I don’t really see myself mouse-rotating regularly. I’m definitely more of a keyboard kinda guy. I also bound my old virtual desktop switching keys to compiz, too.
There are two bits of functionality that kwin had that I’m missing in compiz-fusion though. The first is remembering which windows go where on exit. kwin does that and does it well. It also remembers sticky. Very useful and I’d love to see it in compiz-fusion. The other is Alt-Button3 resizing. If you don’t know what I mean, just fire up KDE and hold Alt and click and drag near a corner of a window with button3. For those of you who are like me and aren’t too precise with pointing devices, this functionality is just so nice to have. It saves all sorts of hassle and time and I really miss it.
Over-all, I’m really digging compiz-fusion, and I think I’ll put up some more stuff about it as time goes on. I’ll give you my little start-compiz script (click here) which fires up compiz and then fires up emerald. Here’s a desktop file (click here) that I put in my ~/.kde/Autostart that fires off compiz-fusion when I log into KDE. I’m willing to take improvements, too, so feel free to critique.
I encourage you to try out as much of this neat stuff as you can while running your system as free as you want it to be (I strongly encourage folks to favor 3D accel cards that have Free Software driver support over those that require proprietary drivers). I’m having a great time with it. I’ll finish things up by sharing some things that I didn’t know when I first started playing with compiz-fusion in a nice bulleted list
- You don’t always need Xgl/AIGLX to use Compiz. Some of the instructions say you do, but I’ve found that compiz actually runs much better without it on my card. I think Xgl is only necessary if you have a graphics device that doesn’t support compositing extensions–like several ATIs I know don’t.
- Emerald works very well under compiz. Until kde-window-decorator works well enough, emerald will pick up the slack.
- The cube only plays well with virtual workspaces, not virtual desktops.
- The compiz configuration program has a lot of configs. They’re not always in the most obvious place, so the search functionality makes life easier.
- When you need help and you can’t find it on the wiki, check out irc.ubuntu.com/#ubuntu-effects for more help.
- GNOME folks have it easier than KDE folks when it comes to setting up compiz, but it’s not that hard… especially if you use the files I’ve given you.
- Save your documents frequently, because while compiz is still as experimental as it is now, it will crash from time to time.
- When compiz crashes, it sometimes takes X with it.
- Katapult is wonkey in compiz-fusion.
I hope you’ve enjoyed my post, and I have inspired you to try this great bit of Free Software.