Re: Notes on the Metacity compositor

BJörn Lindqvist wrote:
That is just one example, but it seems to me that Metacity wasn't
designed with flashy graphical effects in mind. One has to wonder: Is
the effort required to make Metacity's compositing as good as Compiz
greater or smaller than making Compiz as usable and mature as
Metacity? Has anyone analyzed Compiz code and compared?


If the goal is no regressions to any metacity details (especially handling of bizarre in-house apps using motif/tk/plain-Xlib-and-GL/whatever, but also stuff like arcane ICCCM details, UI behavior details, a11y, and whatever), then starting from metacity is going to be easier. Joel's article applies,

*However* - "no regressions" is a dumb goal for most GNOME audiences. In fact, metacity became popular well before it had fixed all that gunge I just mentioned. Because most people never encounter or care about all that. (One reason it's hard to get it all fixed - the people who care about it are late adopters.)

In the end a "good enough" window manager just isn't that complicated. I was using Metacity for myself maybe a week or two into writing it. Looking at the ChangeLog, the first stable release was after 1 year, and while I may remember wrongly, I don't think I was working on it full-time. Of course, there are hundreds of fixes after that, but it was "good enough" after a year. A WM is not rocket science which is why there are so many of them.

So, if the goal is to get the new graphics capabilities, and be 90-95% OK on the details, then Compiz is unquestionably the faster route given that it's already there and people are working on it. And nobody is working on metacity compositing.

If Compiz _didn't_ exist then I wouldn't advocate starting from scratch. Some of the tricky bits from metacity could have been kept in a way that would avoid regressions, and I don't really agree with suggestions that the code could not be refactored. However, it would not have been as fun as starting over, or offered a sense of ownership/autonomy, so a volunteer developer probably wouldn't ever do this.

It kind of comes down to target audience again. The thin client and lots-of-old-UNIX-apps-in-the-enterprise kind of customers aren't going to see any value in Compiz, just pain from random regressions.

However, the Fedora/Ubuntu-using GNOME audience, which is probably larger, I'd expect to switch to Compiz pretty quickly, at least those of them who have an acceptable video card.

The FC6 solution (allow people to toggle metacity/compiz) seems like a good way to serve those two audiences, though the more compiz and metacity share the same interface to apps and the rest of the desktop (gconf keys, EWMH implementation, themes, default configuration/keybindings, etc.) the better it will work since documentation, apps, control panels, etc. won't have to be different across the two.

The hosed audience I'm guessing will be anyone who really needs just one or two simple compositing features (maybe a magnifier for a11y), but also needs to use some crufty old apps or a thin client setup or old video card or other weird cases that metacity already works with. The FC6 solution is no good for someone with that requirement set.

Maybe there's some value in making metacity a simple 2D compositor for this audience, I don't know.

The caveats for me personally about Compiz are

1) how much time people have spent on metacity, not by me in recent memory, but by quality contributors like Elijah; certainly not wasted time since metacity has been used by many people for many years, and will take a while to vanish yet, but it's always nice to see code live longer rather than shorter, and it would have been nice to keep some more of that work.

2) I don't think WM changes will bring GNOME to new audiences, it's a preaching to the converted kind of feature. With Vista and OS X, perhaps Compiz is like metacity was 5 years ago, in that it brings Linux up to a minimum standard of basic parity and sanity with the competition. But I don't think it creates an edge or killer app.

So if I had a wish it's that Compiz gets nailed down and "done" as quickly as possible, and people move on to things that will create an edge for _new_ audiences.

In the end Compiz is nice work and people like it and GNOME should take advantage.

And I can't tell you how much I'm looking forward to filing some completely unreasonable window manager bug and then raising hell when the maintainer rejects my demands ;-)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]