Plans for Compiz in Ubuntu 8.10

Filed under: Compiz, Ubuntu

It’s that time again. Time to plan for a new release of Ubuntu, I mean. There are some rather large things in this list and so I doubt all of them will be implemented in time but it is always better to dream big and get as much done as possible. Otherwise we’ll have everything done in a month and be left with nothing else to do (except fix bugs, of course). Before I start, let me remind you that none of this is official, I am not getting paid to do any of this, and this relies on other people getting things done too. If none of this happens, don’t be surprised.

Move as many Ubuntu patches upstream as possible

This is a basic package maintenance chore and shouldn’t really need to be on this list. However, we have not really done this since Ubuntu 7.04 and we have quite a few patches that have built up. Many of them are rather hacky and will not be accepted upstream so I’ll have to figure out a proper way to do them or keep them in our packages. This is the main priority and the one that has the best chance of being completed.

Fix major usability ‘regressions’ from Metacity

There are still some big things that work differently when you use Compiz versus using Metacity. In Compiz itself we have the Show Desktop and Application Switcher features. These are when you click the button in the bottom left corner of your screen and press Alt-Tab, respectively. I don’t think there is anything wrong with how these work but they don’t work like many people expect so it violates the Don’t Make Me Think rule of usability as you have to consider what mode you’re using (Compiz on or off) when you use these tools.

The other main problem in this area is libwnck and gnome-panel. Specifically, the Workspace Switcher applet on your panel does not work the same way when Compiz is enabled. These problems range from cosmetic issues to missing features. I have submitted patches to GNOME for some of the missing features so the only big one missing is a lack of drag-and-drop support. After that were are some issues with how windows are colored on non-active viewports in the switcher. I’m sure I’m missing some things here but I’m also sure someone will file a bug about them if they haven’t already.

This is the most important item on the list as far as users are concerned and I hope to get at least the Workspace Switcher and Show Desktop problems fixed but the Application Switcher changes will depend on the next item on this list so is much less likely.

New decorator using GTK+ and SVG themes

Here we go, the big one. For some time now we’ve wanted to break away from using plain Metacity themes and come up with our own system. This is what Emerald was supposed to be but it was way over-the-top, slow, and hard to work on. I hope to avoid these problems by starting from scratch with a clean design using GTK+ and librsvg. And, because the decorator is actually responsible for drawing the Application Switcher, with this I can also fix the problems people have with that at the same time. This is all in the planning stages right now and is not likely to be considered ready (or done at all) by the Ubuntu 8.10 release unless I get help or get paid to do it so I don’t have to worry about a regular job. :)

Another goal with this decorator is to have two modes: reparenting and non-reparenting. The non-reparenting mode is how decorators in Compiz work now, the decoration is not actually a part of the window but just floats around it and relies on compositing to keep the two in sync. The reparenting mode is how other windows managers work, the decoration makes the window a child and the two stick together no matter what. This will be important when we eventually (hopefully) make Compiz work as a regular window manager without compositing for computers that cannot run all the fancy effects. This is also the reason we can stop worrying about Metacity theme compatibility; in this scenario Compiz is always running, even if you set Visual Effects to None.

Forward all relevant bugs upstream

Since I’ve been ordering these items by priority it might seem odd to have this one at the bottom. After all, the more bugs upstream knows about the more they can fix which makes Compiz better for everyone. However, this work can be done by many people and it is not a huge loss if this doesn’t get completely done by the Ubuntu 8.10 release. Also, this work can be done easily alongside the other items in this list. The only big work here will be when I go through every currently reported bug at the beginning of the development cycle (I’ll probably do this next week) and then go through them again sometime around the Beta release. Putting that all together we have a task which is more like icing on the cake instead of a major thing to focus on.

Putting this all together if I can even get the first two items completed this will be a very nice release that makes our packages easier to maintain and solves several real issues every user deals with. We should also have DRI2 support for at least the Intel driver (and hopefully the ATI one as well) which fixes our problems with using OpenGL applications with Compiz. This all makes me feel somewhat sorry for people who will choose to stick with the Ubuntu 8.04 release due to its LTS status as they will have a vastly inferior Compiz experience and none of this is small enough to backport for them. Oh well, they’ll get to see it all in Ubuntu 10.04 or whenever the next LTS release is.

16 Responses to “Plans for Compiz in Ubuntu 8.10”

1 it'smeagain - April 30, 2008 11:21 am

Why not just use Metacity as compositor? In Gnome 2.24 it’s ways better than it is in 2.22. It uses less memory,has only effects that normal users want too see, if they want compiz they can install compiz with fancy effects.

from gnome GSOC page
“#

Enable compositing in Metacity by default (mentor: Michael Meeks)
#

Benefits: Composited desktops are the future, but until we have ubiquitous compositing, people will not be able to depend on the technology to do cool things. Unfortunately performance problems mean we can’t enable compositing by default.
#

Requirements: Good C programming skills, familiarity with X and metacity (preferred)
# Note: Please contact mmeeks at novell dot com, and lets talk. The basic idea here is to do -highly- conservative re-direction of windows - ie. by default to turn off all the compositing ‘bling’ (window borders, thumbnails etc.) and only composite where absolutely necessary - leaving other windows (full-screen, un-occluded-by-composited-windows) etc. to be direct rendered (at high speed). This should mean that we have all the speed benefits of direct rendering, until we need compositing. “

2 Travis - April 30, 2008 11:41 am

The compositor in Metacity uses XRender while Compiz uses OpenGL. This means Compiz runs faster and has the power needed to do many more things. Even if the Metacity guys wanted to do some of the cool effects Compiz can do they would not be able to do so because it would be too slow. XRender is the safer option right now as there are less issues but I believe it is a dead-end technology.

3 Weeber - April 30, 2008 12:07 pm

“New decorator using GTK+ and SVG themes”
That sure its a very welcome improvement, even though Compiz is working better than ever in Hardy, in Gutsy it had a bug that really annoyed me and I didn’t use it because of that.

4 anmar - April 30, 2008 1:40 pm

One good thing to do for compiz in 8.10 is to have a simple Mac Os X like settings tool to help configure the settings to show/hide desktop, do Expo, etc.

The compiz-settings-manager is ridiculous in its complexity.

5 Marius Gedminas - April 30, 2008 1:49 pm

If I understand it correctly, reparenting will also make Alt-PrintScreen include window decorations in the screenshots. This will make me happy.

6 Igor - April 30, 2008 2:36 pm

Someone please hire this guy! :)

Your plans are awesome

7 Vadim P. - April 30, 2008 3:03 pm

Metacity, sadly, _sucks_. Horribly. It’s a pity that Compiz doesn’t yet support all cards that Metacity does - that weird-drawing-when-window-is-frozen, no shading the window out, and completely horrible graphical effects. Nevermind their horrible homepage, which, well, I can’t even find on google.

I doubt that with their added compositing support they’ll get so significantly better it’ll actually be a usable nice manager.

8 Paul Kishimoto - April 30, 2008 7:18 pm

Speaking of regressions versus Metacity…

https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/154734
https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/159893

;)

9 Travis - April 30, 2008 8:21 pm

Yep, I’m sure those will end up on my list. What really need to happen though is an entirely new snapping plugin that uses the metacity code directly. That of course means it is that much less likely to happen for the 8.10 release.

10 ryanhaigh - April 30, 2008 8:32 pm

From here: http://www.realistanew.com/2008/04/30/thoughts-on-the-great-ubuntu-girlfriend-experiment/#comment27

“Compiz can do anything you can think of”
It can’t even do everything beryl did yet, for example scale minimized windows. I know from reading forums etc. that this has something to do with X input redirection as well but it did work in beryl, it might have been an ‘ugly hack’ but from the users perspective it was great. This probably gets filed under forwarding all relevant bugs but it irritates me so much having to keep a panel to manage windows using the mouse that I had to post this comment. I also created an even uglier hack to get around this issue.

http://ubuntuforums.org/showthread.php?t=481038

11 Planets - April 30, 2008 8:52 pm

Anyone know when the alphas start for 8.10?

12 Travis - April 30, 2008 10:10 pm

Ryan: When I said “can do anything you can think of” I meant someone could write a plugin to do anything you could think of. Beryl’s solution for your issue was to same a thumbnailed pixmap of the window on minimize inside the core. You could hook into the minimize event (animation does it to, well, animate) and do this inside your own plugin if you wanted to. You could even make it be a “plugin plugin” and do only that to provide functionality to other plugins if they chose to use it.

13 Chris - May 2, 2008 9:34 am

As usual, bugfixes go to the end of the line. Sheesh. So this comment is not sarcasm, but truth:

“Since the Gutsy release is already out, aumix for Gutsy has entered a stable “buggy state”. Any new package would cause the buggy state to be changed, thus require very careful consideration before deploying, and is rejected so far. Hardy has no such requirement (’freezing buggy state’), thus is free to receive newer packages. The final goal is to make Gutsy “Stably Buggy”, not changing buggy state all the time.”
https://bugs.launchpad.net/ubuntu/+source/aumix/+bug/145805

14 fenix - May 4, 2008 7:30 am

I thing that all this aspects are related to GNOME project, ubuntu team have the goal to integrate many other aspects as security, kernel features, driver support, etc… and window manager like GNOME.
For example starting to use clean design using GTK+ and librsvg will be a goal of GNOME team.

15 Gene - May 8, 2008 7:20 am

with each release of ubuntu I see improvements all the time. I used Beryl in 7.04 and have not upgraded that machine because Beryl is working flawlessly and the machine is completely stable. There is one feature from Beryl that is STILL missing from 8.04 that is badly needed, namely the screen savor function that turns on rain automatically after a set amount of time. the gnome savors are horrible because they use 100% CPU when they activate (see bug https://bugs.launchpad.net/ubuntu/+source/xscreensaver/+bug/174191 ) Beryl solved this issue for me and there does not seem to be any real concern that racing the CPU for hours on end is a bad thing by the devs. I also liked 3d windows and title wave in Beryl, but I can wait patiently until that shows back up ( i see that 3d windows is now present leaving only title wave to start working - its there, just does not work)

Question: does no one else think that racing the CPU @100% in SS mode is a bad thing ???

Travis, you’re doing a great job, I love the effects and I most certainly am looking forward to new theming so that I might finally be able to start making my own functional themes rather than choose from what someone else made.

16 Anons - May 12, 2008 1:34 am

Is it worthwhile to work to make the switch between compiz and metacity seamless while also working to make compiz the only WM necessary, with or without compositing?

Is it just that non-compositing so far in the future that these other bugs need to be fixed in the meanwhile?

In any case, I’m really glad to hear about a new theming system, one that can do nicely rounded corners I’m guessing.

Leave a comment

Comment