The beta of Ubuntu's next release (7.10 Gutsy Gibbon) is out - time to review the well discussed decision to incorporate desktop effects by default in this version.
Desktop effects vs. Compiz
Since this topic has caused a lot of confusion lately (especially since Feisty introduced it's Desktop Effects), I feel it's time to shed some light.
Let me say this right away: the desktop effects in Ubuntu are Compiz.
Unlike Xfce there is no support for compositing effects in GNOME (it would be possible but nobody makes use of it right now) and the same goes for KDE (but this will change at the end of the year with the release of KDE4).
In addition to that, the desktop effects of Xfce are very basic and can not really be compared to the many possibilities of Compiz.
So what is Compiz exactly?
Compiz is a window manager, that means it takes care of all the basic needs to interact with the windows on your desktop - like moving, minimizing and resizing.
In GNOME the default window manager is Metacity. Most people won't have even heard about it, because it's integrated in the desktop environment and its name is nowhere mentioned.
This results in the fact that the usual user isn't aware of the mere existing of such software or rather that it's a separate application that can be replaced like any other on Linux.
The bottom line is: Ubuntu's desktop effects are not just an enhancement of the desktop environment but it replaces a specific part of it.
Compiz in Gutsy
Compiz has been integrated very well in the GNOME desktop of Ubuntu.
Just like GNOME obscured the existence of Metacity, many people won't know they're running Compiz on Gutsy.
 |
Certain options of Compiz can be configured directly through the panel menu of GNOME in Gutsy.
None of those entries are specifically related to desktop effects. While the brand new Appearance menu combines a couple of previously separate settings menus, the last two entries were until now exclusively to configure Metacity.
Furthermore if you install the CompizConfig Settings Manager provided by the Compiz Fusion project, you will get an entry in the panel menu, named "Advanced Desktop Effects Settings"
|
The tab for the effects in the new Appearance menu introduced in Gutsy, replaces the separate Desktop Effects application of Feisty. The second screenshot demonstrates how the menu gets altered automatically, when the CompizConfig Settings Manager is installed:
Then there's the Window Preferences menu, that could only manage Metacity properly before. With the recent version of Compiz, the changes on Metacity get parsed and Compiz adopts them.
Same goes for Keyboard shortcuts, since there are many settings for window management located there, this had to be adjusted to work with Compiz as well:
The only problem that hasn't been resolved, is that you can't change the number of desktops in the panel's Workspace Switcher.
You would have to do that in gconf or turn off the effects, change them in the context menu of the workspace switcher and turn the effects back on.
The default configurations
Ubuntu Gutsy is the first distribution to install and use Compiz with the plugins of Compiz Fusion.
By default there are, besides the core, the main plugins of Compiz as well as the main and extra plugins of Compiz Fusion installed.
So let's have a look at the default settings.
As you could see in the screenshot above, we can choose between "normal" and "extra" effects.
The plugins used by the normal effects (besides the basic plugins for moving and resizing windows etc.) are:
- Animations
- Application Switcher
- Desktop Wall
- Enhanced Zoom Desktop
- Expo
- Negative
- Scale
- Viewport Switcher
As you can see, that's really not too much and accordingly tame are the effects that you will get to see.
Ubuntu obviously aimed to mimic Metacity's behaviour mostly and added some flavour of Compiz.
There is no cube nor wobbly windows by default, nothing screams "look at those fancy effects!"
The first thing you might notice are the shadows on panels and windows and maybe the transparent part of the titlebar on inactive windows.
And when you change desktops for the first time, you'll see a nice animation that shows you where you switch to - although it has to be pointed out that it's pretty superfluous with Ubuntu's two desktops by default.
Only the window animations are a little more intense then I would have thought and, to be honest, I think is appropriate. Particularly the open animation can get quite annoying in the long run.
Same goes for the Alt+Tab switcher, that doesn't really follow the one you are used to from Metacity.
New Features
Compiz isn't just about effects, it provides a lot of nice usability features.
Viewport Switcher
That's a feature that has already been implemented in many window managers before (except Metacity). It allows you to switch desktops with the mousewheel, while hovering with the mousecursor over the desktop.
This replaces the scrolling over the workspace switcher in the panel.
But you can still change desktops the way you are used to with the keyboard, of course.
Scale
This is one of the most practical features of Compiz and many users claim they couldn't live without it anymore. Once initiated, it will display all the open windows of the current desktop at once and you can choose which one you would like to have on focus next. It's basically like an application switcher but much more clearly arranged and intuitive to use. |
 |
Unfortunately, this feature hasn't been mapped to a screen corner in Ubuntu (in contrary to Compiz' default settings), so many people won't even know that such a feature exists until somebody tells them.
Expo
Similar to Scale, this plugin displays all of your desktops at once. What you'll get to see is a live preview of your desktops and windows. You are even able to re-arrange windows between the desktops in this mode. It can be used as a more visual way to change desktops as well, because this way it's much easier to identify the desktop you want to switch to. |
 |
And again, no hot corner for this feature in Ubuntu. I know it brakes Fitts' law but those are two killer features of Compiz and acquiring them through the upper screen corners is very effective once you get used to it.
Enhanced Zoom Desktop
This is pretty much a magnifier for your desktop. But the clou is, you get to have full control over your desktop and applications while zooming in. This includes typing in form fields or any application like a text editor. Additionally you can move/resize/minimize/etc. your windows, open the panel menus or start an application - everything you usually do. |
 |
And it's not limited to the magnified section, you can indefinitely zoom in and still move into every corner of the desktop.
It even works with other features activated, like scale and expo.
Negative
Ever stumbled upon a website that had such lousy contrast, you had troubles reading the text? Then this is for you. This feature provides high-contrast window contents by simply inverting the colors.
You can either invert the current windows or all open windows at once.
|
 |
Extra Effects
Now, lets have a look at the extra option that »provides more aesthetically pleasing set of effects« and even »requires faster computer«
Sounds exciting, eh? Well, don't hold your breath.
The number of additional plugins isn't exactly mind-bogglingly large:
- Shift Switcher
- Wobbly Windows
Yes, that's it. Two plugins.
And while it's perfectly understandable that the wobbly windows aren't part of the default settings, it would have been no problem to add the Shift Switcher to the "normal" set, because it's mapped to another shortcut than the usual one. And it doesn't require a faster computer, of course. So there isn't really a reason, why it's not there by default - it's much nicer than the usual Application Switcher anyway. |
 |
So it boils down to this: the only real difference between the normal and the extra set are the wobbly windows. Which is a little disappointing.
There's no cube (and that's particularly disappointing, since Feisty had an option to get it), no additional transparency effects like Trailfocus, no Window Previews, no Scale Addons or - and that would have made the "disclaimer" about faster computers comprehensible - Water Effects.
Worst case scenario
Travis Watkins (aka Amaranth) described the worst case in his blog as someone that doesn't get Compiz to work at all.
But it's enabled by default, so what happens to anyone with unsuitable hardware?
To answer this, I will have to get a little techie but I can assure you this already: you won't have to worry about not being able to start your graphical interface or something like this.
Ubuntu makes sure on several levels that everything will be as usual and you'll end up using GNOME's default window manager Metacity.
So you won't even notice there has been changed anything from Feisty to Gutsy in terms of window managers when your graphics card (driver) doesn't support composition.
First of all there's the gnome-wm script.
This is the default way in GNOME to run the window manager on startup.
And a comment in that script says it right there:
# metacity is still the default wm in GNOME
It makes use of a gconf key (that's actually considered as depracted because of the gnome-wm script but things are a little more complex now than with the usual GNOME). As you can see, the key points to /usr/bin/compiz which is the startscript for Compiz. |
 |
The Compiz wrapper
The actual binary that starts Compiz is called 'compiz.real' in Ubuntu.
What you start with 'compiz' is a script that takes care of everything for you.
It has mainly been written due to the fact that if you build Compiz from source, you will have to run it with certain extensions. For example, when compiling from git, I used to run Compiz like this:
LIBGL_ALWAYS_INDIRECT=1 compiz --replace --indirect-rendering --sm-disable --ignore-desktop-hints ccp
In order to run the proper command, the script needs to check how you are trying to run Compiz.
Whitelist and blacklist for drivers and hardware
Apart from taking care of running Compiz properly, the wrapper contains a whitelist as well as a blacklist in Ubuntu - and that's the interesting part.
The whitelist contains only five drivers: nvidia, intel, ati, radeon and i810.
So the script checks your Xorg.0.log, if one of those drivers are in use.
If not, you'll start with Metacity. So this basically locks out all
- Nvidia users that didn't install the proprietary driver
- ATI users whose card isn't supported by the open radeon driver
- Savage users
- Via users
- Matrox users
- users that are trying to run Compiz on Ubuntu in a virtual machine
But even if your set-up passes this test, there's a blacklist, that checks for problematic hardware or hardware that shouldn't run Compiz on those drivers (currently, that applies only to newer ATI cards whose 3D support by the open radeon driver is only experimental).
Last but not least, there are also certain hardware tests such as checking the amount of memory and the maximum 3D texture size of the card, compared to the resolution in use.
So as you can see, Ubuntu doesn't take a chance here.
BulletProof-X
If all else fails, there is still the new feature introduced in Gutsy called BulletProof-X.
This is a new failsafe mode that comes into operation if the graphical X-Server fails to start.
Instead of the infamous scrambled blue screen telling you this and redirecting you to a root shell to adjust this manually, it now starts a basic graphics environment (see here for screenshots).
In this failsafe X mode runs only a single application: displayconfig-gtk
This is a GTK frontend for the displayconfig of the KDE guidance project, introduced in Gutsy. The user is able to choose a monitor type and graphics driver from a list and can do further adjustments (resolution and the like). The best case would be that you make a backup of the configurations before fiddling with them. Then all you have to do is choose it from the dropdown menu and start the X-Server just fine. |
 |
But as already pointed out, this is really the last resort. Normally disabling the Visual Effects yourself - even if you have to log in to your failsafe GNOME session - should solve any problems related to Compiz.
Possible problems for ATI users
ATI users that want or have to use the proprietary fglrx driver might ask now: what about us? Our driver is not on the whitelist!
Don't worry, the script checks for Xgl prior to the whitelist (in case you didn't know: fglrx doesn't support AIGLX right now, so those users need to install this in order to run Compiz) - so if Xgl is running, your free to go.
But that's actually a weak point in the script. If Xgl is not running, the script proceeds and comes to the conclusion that it's not possible to run Compiz.
The problem is, the user doesn't get any information that he needs to install Xgl to get the effects. Even if you try to enable the effects yourself, all you'll get is a vague error message. |
 |
So you actually have to go ahead and run compiz in the terminal (which the usual user will probably never do, because he doesn't even know it's Compiz that he's looking for in the first place):
Checking for Xgl: not present.
No whitelisted driver found
aborting and using fallback: /usr/bin/metacity
And still no word of that it is something the user can install...
This is particularly unfavorable in the light of Gutsy's new feature that it tells people right after the install, that a restricted driver is available for them:
So all users with ATI cards, that are supported by the radeon driver, will have desktop effects out-of-the-box on first boot but when they follow this popup (and who wouldn't?) it will break Compiz and they are left without a clue as to way it worked before and now, when they are using their hardware "more efficiently", it doesn't.
It would be easy to blame this new feature, where the restricted drivers manager checks for available drivers by default or you could say the text is misleading.
But that wouldn't address this issue in its entirety, since it is perfectly appropriate for Nvidia users. As we saw, Nvidia users in fact rely on the proprietary driver in order to use desktop effects.
So the only solution to this would be to inform the user about this issue before or at least after the install of the fglrx driver.
This could be for instance a comment in the GUI of the Restricted Drivers Manager. Or, even better, a detailed description in the popup window that asks you whether you really want to enable fglrx. |
 |
Another possible way would be a popup after the install of the xorg-driver-fglrx package.
That this would be possible, shows the installation process of Xgl.
When you install the package xserver-xgl in Gutsy, there's a message now telling you about the new features of that package.
| Ever since Dapper you had to set up a separate X-session, which involved gathering a lot of cryptic commands and if you didn't do it properly, the session either didn't start at all or you had to face certain drawbacks. Although they haven't been resolved entirely, the new solution in Gutsy is a major step in the right direction. |
 |
Conclusion
Since I know the troubles of compositing effects very well (as I'm doing support for Beryl/Compiz for nearly a year now in various forums, including the ones of the now defunct Beryl site, the german Ubuntu community, compiz-fusion.org and the ubuntuforums) I was very sceptical that Ubuntu could really carry it off.
Even in the face of how well integrated Compiz is in the GNOME desktop and the (mostly) reasonable default settings, I still would have been rather put off by the idea of having them switched-on by default.
But after an exhaustive examination, I think they have done an amazing job (and by "they", I refer to the Ubuntu devs as well as the Ubuntu community, that participated so well in bug triaging) which persuades me, that this was anything but a rushed decision.
Why desktop effects by default?
That's a legitimate question. Do we really need them?
As I tried to show you, Compiz is not just about eye candy. It has some pretty convenient features and because of the already vast number of plugins available, it is very customizable.
Besides, it can be configured to replace Metacity pretty seamless.
Then, no matter what you may think about this, Compiz has become a killer application for Linux in the past few years. The internet is packed with videos showing off desktop effects and people keep asking »where can I get my hands on this, that's awesome!«
What an impact this has, shows the many people that are still asking about Beryl, although the project has already been ended (and it's features incorporated in Compiz Fusion mostly) but those videos are still around.
In the end many users get drawn to Linux because of that and the desktop has to get ready for them, so Ubuntu had to take a brave step (some might even call it gutsy) to show the people willing to change, this is the right distribution to choose.
On a side note, Ubuntu heavily relies on community support and from that point of view the decision to install and set up Compiz Fusion by default, has made things considerably easier.
In addition to that, Ubuntu has a large community that takes great interest in those effects as well as a powerful infrastructure with Launchpad.
Compiz and Compiz Fusion will benefit from both.
Both bugzillas of Compiz (located at fd.o) and Compiz Fusion (located at opencompositing for now) haven't exactly been overrun with reporters.
That's mostly due to the fact that both aren't well known but you would also have to set up a new account for each. Since it's common to report upstream bugs on Launchpad as well, there's actually no reason to hesitate from reporting the bugs you stumble upon.
Is it the right time?
I don't know, frankly. It's definitely the first time this could come into serious consideration but it may have been better to wait until the next release.
The Compiz Fusion project is fairly new and this is the very first time it's plugins have been incorporated.
But the problem is, the next version (code name: Hardy Heron) of Ubuntu is a LTS release, so it's best to test those packages thoroughly before this. It's even questionable if Compiz will be turned on by default in Hardy anyway, so we would have to wait for the release after the next one.
Besides, Compiz has already been installed by default in Feisty (although not turned on) and Beryl is in Feisty's (universe) repository as well - since most Compiz Fusion plugins come from there, you could say both applications have already been tested thoroughly by the Ubuntu community.
Synopsis
The desktop effects have been integrated very well in the (GNOME) desktop of Ubuntu 7.10 Gutsy Gibbon.
Compiz replaces Metacity almost seamlessly and adds convenient functionality with the help of Compiz Fusion.
While there are still certain issues to resolve until everybody benefits from this (such as fglrx users, although it has to be pointed out that Xgl may not be necessary anymore, at the end of the year) most are taken care of.
Nevertheless, Ubuntu doesn't want to take risks and excludes certain set-ups without further ado from this decision, so the concerned users shouldn't even notice there has been changed anything at all.