Okay so here's my thought:
Obviously drop 2D support. That is a hell of a relief to be able to do.
We don't really have anyone to do the work it's going to take to get
Mutter/Muffin up to speed. The animations are just lame, I wouldn't want
to ship it.
However Compiz is a dead-end in the long term as well. We're going to
have to move away.
So what path from Luna to Luna +1 is going to 1. Be easiest for us to
code and 2. Piss of our users the least.
While we're thinking about that, we do have a bit of an ace in the hole.
I know it would suck a lot, but we could consider delaying Luna until
after 12.10 in order to inherit LLVM pipe and also to have the time to
get Mutter/Muffin up to speed.
Best Regards,
Daniel Foré
El may 15, 2012, a las 6:50 a.m., "Sergey \"Shnatsel\" Davidoff"
<sergey@xxxxxxxxxxxxxxxx> escribió:
Hello guys,
I've got an inconvenient truth to report. It seems we cannot provide a
decent unaccelerated fallback for Luna. Here's why.
We have more and more things based on Clutter. Ubuntu's current
softpipe fallback is miserable in terms of performance and downright
buggy to the state of unusability. On the other hand, Ubuntu 12.10 is
going to have llvmpipe and they're going to actually use it for
Clutter, so no more untested & unused softpipe.
So we have to either delay integrating the greeter till 12.10, or we
have to drop support for systems without hardware acceleration from
Luna.
Right now maintaining an unaccelerated fallback means using a different
window manager and using a different X compositor. This means we have
two completely different codepaths that try and fail to mimic each
other. That ranges from look and feel inconsistencies in workspaces to
focus behavior inconsistency and, worst of all, hackish workarounds in
Slingshot and to some extent Wingpanel to support 2 different WMs.
Finally, it limits the amount of features we can implement to the
greatest common denominator of features of the two WMs, or rather, the
features they happen to implement consistently.
The only way to get rid of that situation is to use only one WM and/or
only one compositor.
I've poked around with various WM and compositor combinations, and the
only fallback WMs+compositors we can use are Metacity and e17. Those
are the only software compositors I'm aware of that do not suffer from
tearing - all Xrender-based compositors do because Xrender is not
vsyncable by design and cairo-compmgr also does in my tests, though I
have not interrogated cairo devs about vsync.
So even if we drop the greeter, for unaccelerated fallback we can
either use Metacity with its bugs in unfocused theming, inconsistent
focus behavior, slingshot hacks and miserable workspaces overview
imitation, or we can use e17 for which we don't even have a theme port
and which uses custom toolkits which are not consistent with elementary
theme. Neither option is satisfactory IMO.
So let's drop systems not capable of 3D acceleration for Luna and
inherit fallback support via llvmpipe from upstream in 12.10. We can
look into releasing a 2D remix of Luna after the initial release.
Given hardware acceleration, we have the following WM options for Luna:
Compiz 0.9 - miserable in terms of performance and has downright
glitchy rendering for popovers, including Slingshot.
Compiz 0.8 - won't have unfocused theming and aerosnap, but given the
fact that we still have GTK2 apps in the OS, e.g. update manager, I'd
rather not push unfocused theming just yet. Especially since it's not
very useful in its current form anyway - seeing windows without a
single sensitive control just freaks me out, especially if it's a
dialog.
Mutter - has really cheesy animations, which we can't fix unless we
write a plugin to it. No aero snap without a plugin either. No
workspaces overview. elementary theme has some kind of antialiasing
under it, but it doesn't feel right.
Muffin - somewhat configurable variation of Mutter with support for
workspaces overview. Could use more investigation.
E17 - it has decent compositing, it even works great in pure software
via evas without any llvmpipes. Doesn't have expo or workpaces
overview, but at least provides smooth transitions between workspaces,
of which Mutter isn't capable OOTB. Has its own custom toolkit, which
has very snappy animations even in software rendering and can use
opengl too, but has nothing to do with OpenGL. (No "let's switch
toolkit" discussions please!)
From the list above the only viable options are Compiz 0.8 and Muffin,
given that we're not going to hack together a mutter plugin for Luna,
though I believe we'll have to do that eventually. Muffin may provide a
more modern look and feel but we have less control over it than over
Compiz. My attempts to integrate Compiz 0.8 have hit mystery bugs, so
I'm leaning towards investigating Muffin now.
--
Sergey "Shnatsel" Davidoff
OS integrator @ elementary
--
Mailing list: https://launchpad.net/~elementary-dev-community
Post to : elementary-dev-community@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~elementary-dev-community
More help : https://help.launchpad.net/ListHelp