Re: Notes on the Metacity compositor
- From: Havoc Pennington <hp redhat com>
- To: BJörn Lindqvist <bjourne gmail com>
- Cc: desktop-devel-list gnome org
- Subject: Re: Notes on the Metacity compositor
- Date: Mon, 23 Oct 2006 23:47:34 -0400
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
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 ;-)
] [Thread Prev