CompositeByDefault

Differences between revisions 9 and 10
Revision 9 as of 2006-11-09 18:12:35
Size: 5833
Editor: 207
Comment:
Revision 10 as of 2006-11-09 19:09:44
Size: 8374
Editor: 207
Comment: dumped the gobby discussion
Deletions are marked like this. Additions are marked like this.
Line 80: Line 80:
=== Dump of the discussion at 9th Nov ===
Havoc on metacity/compiz:
 i am unable to connect Registration failed: Forbidden


 - whitelist for cards instead of blacklist (as mentioned in wiki). Suggestion by Scott James Remnant.
- compiz or beryl needs to respect the current keybinding/themes/settings applet
- enabling/disabling should be a control panel applet

- the option to enable compiz for existing users should go into Preferences/Windows and added to this capplet. It should contain: "no bling/low bling/medium bling/high bling". when bling is enabled it needs to run berryl/compiz with --replace and pass a configuration option that will point to the default settings file for the given setting. But what we really want is a gconf system.

 - ubuntu_demon : it should be possible to install an advanced options manager (for Beryl/Compiz) from universe. IMHO there are lots of forum users who would like this.

 - one problem is that berryl uses the corners of the desktop for functions, but we already use these corners. hot-corners will be disabled by default therefore

 - we use a whitelist for cards that support proper 3d and only use berryl for those cards.

 - we can't just install compiz on every install because it requires a rendering path and software rendering is way to slow. so we need to support two window managers (metacity+berrly/compiz). so we will probably install metacity by default and make it very easy to switch to bling. it is very iportant that all settings/themes/keybindings etc will be the same under both window manager

 - we will add a feature to beryl that will check if the machine is usable with berryl (--will-bling-work). this is what will be used from the window control panel to see if the bling option will be offered to the user or not.

- we should tell the user (warning dialog) when they turn on bling there may be glitches/out-of-syncnes and problems with preserving the settings in the future

 - we should make sure that berryl can use metacity themes fully supported (including button ordering and the menu). theme-switchting will continue to work with the regular theme application (the beryl-decorator listens to gconf changes)

 - a minimal configuration list will be specified by the beryl developers

 - for beryl we need to patch libwnck but those patches are not accepted by upstream yet
   libwnck patches: http://bugzilla.gnome.org/show_bug.cgi?id=352383

 - we need a way to overwrite the whitelist in a non-intrusive way (gconf?)


Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

Summary

Feisty will have a Composite aware Window Manager installed by default, using either Compiz or Beryl, the community branch of Compiz.

This specification is meant to decide which one of the two will be chosen, and what needs to be done for the chosen WM manager to be considered complete for Feisty.

The final decision on which window manager will be the chosen choice (if either Compiz or Beryl), is outside of the scope of this specification, and will be made by the Tech Board, after this specification has been approved.

Rationale

In recent years, most, if not all machines sold have video boards which support 3D acceleration to varying degrees. Linux has had compositing window managers for years now, but Ubuntu has no means to make it easy for users to see visual effects ("bling") easily, and additionaly, all compositing managers currently do not look and behave like a part of the Default desktop, degrading the user experience substantially.

Microsoft Windows Vista (to be released in January 2007), and Apple Mac OS X 10.2 (released in 2002), both support video Composition and 3D acceleration out of the box, giving these two operating systems a competitive edge over Linux. Finally, the latest version of competing Linux distributions (Fedora Core, openSUSE, Mandriva, etc) all offer varying degrees of support for either Compiz or Beryl.

We believe, for the reasons described above, that Composite by Default is an Essential feature of Ubuntu Feisty.

Use cases

Help is appreciated filling in this section Smile :)

Scope

Ship Ubuntu Feisty using a Compositing Window Manager by default, for video boards that support one, and the "old" Window Manager (metacity for Ubuntu, kwin for Kubuntu) on video boards that do not support Composition.

The scope of this specification can be easily defined, but is very hard to get done correctly, though. The "Design" section tries to put in details what goals need to be achieved for the specification to be considered complete.

Additionally, due to the complex nature of the window managers (both beryl and compiz) a SLA needs to be agreed between Ubuntu and the Developer Community, so that Ubuntu isn't left with a buggy or unmaintained Compositing Window Manager.

Design

  • New installations will have the Composite Window Manager enabled by default, when this is supported by the video board. For old or unsupported video boards, the "old" window managers (metacity for Gnome, kwin for KDE) will be used
  • Upgrading users will keep their pre-existing Window Manager
  • Both new installation and upgrades will have the ability to move back and forth from the Compositing Window manager (Compiz/Beryl) to the "old" Window Manager (either metacity or kwin). This option will be available via an applet in the tray icon
  • Hardware compatibility lists are outside of the scope for this specification (they fall under the accelerated-x spec)
  • The themes (including all look'n feel), and key bindings of the chosen window manager will need to be *exactly* the same as the already existing ones. This aspect is non-negotiable
  • The exact set of plugins enabled will be defined during the development phase of this specification, but is expected to be the minimum supported on a reasonably modern video board. No "shader" effects are to be enabled
  • There will be a control to easily set the "bling level" you are going to use on your machine, so users with powerful video boards can easily and painlessly enable extra bling on their machines.

Implementation

Code

  • Packages for Beryl/Compiz will need to be imported into Ubuntu 'main' repository, and maintained by the Ubuntu Graphics Effect team
  • An applet will need to be written both for Gnome and KDE, so it becomes easy for users switching from/to the Compositing Window Manager
  • A different set of modifications need to be done for both Compiz and Beryl. The exact changes are not the same for each of them, though, as they support different features, currently (for instance, Beryl already has support for using Gnome and KDE themes and will shortly support their key bindings, Compiz doesn't)

Data preservation and migration

As mentioned above, new installations will have the Compositing Window Manager installed by default, unless the specific video board is on the "blacklist" of boards, or simply does not support Compositing, in this case, the pre-existing non-compositing Window Manager will be used (metacity for Ubuntu, kwin for Kubuntu).

Upgrades will continue using the Window Manager they were using before the upgrade to Feisty.

Both new installation and upgrades will be able to switch between Compositing/non-Compositing window managers as per their will. This process is painless, and non-harmful to the machine.

Edubuntu and Xubuntu will not ship a Compositing Window Manager by default, due to the type of public they target (machines will low processing power, and lower end hardware)

Unresolved issues

There is no decision yet on which compositing manager will be the chosen one, if either Beryl or Compiz. Both of them have advantages and problems. Details on this will be added on this Wiki page, after the next BoF session is finished.

BoF agenda and discussion

  • Sunday, November 5th, 2006
  • Thursday, November 9th, 2006

Dump of the discussion at 9th Nov

Havoc on metacity/compiz:

  • i am unable to connect Registration failed: Forbidden - whitelist for cards instead of blacklist (as mentioned in wiki). Suggestion by Scott James Remnant.

- compiz or beryl needs to respect the current keybinding/themes/settings applet - enabling/disabling should be a control panel applet

- the option to enable compiz for existing users should go into Preferences/Windows and added to this capplet. It should contain: "no bling/low bling/medium bling/high bling". when bling is enabled it needs to run berryl/compiz with --replace and pass a configuration option that will point to the default settings file for the given setting. But what we really want is a gconf system.

  • - ubuntu_demon : it should be possible to install an advanced options manager (for Beryl/Compiz) from universe. IMHO there are lots of forum users who would like this. - one problem is that berryl uses the corners of the desktop for functions, but we already use these corners. hot-corners will be disabled by default therefore - we use a whitelist for cards that support proper 3d and only use berryl for those cards. - we can't just install compiz on every install because it requires a rendering path and software rendering is way to slow. so we need to support two window managers (metacity+berrly/compiz). so we will probably install metacity by default and make it very easy to switch to bling. it is very iportant that all settings/themes/keybindings etc will be the same under both window manager - we will add a feature to beryl that will check if the machine is usable with berryl (--will-bling-work). this is what will be used from the window control panel to see if the bling option will be offered to the user or not.

- we should tell the user (warning dialog) when they turn on bling there may be glitches/out-of-syncnes and problems with preserving the settings in the future

  • - we should make sure that berryl can use metacity themes fully supported (including button ordering and the menu). theme-switchting will continue to work with the regular theme application (the beryl-decorator listens to gconf changes) - a minimal configuration list will be specified by the beryl developers - for beryl we need to patch libwnck but those patches are not accepted by upstream yet - we need a way to overwrite the whitelist in a non-intrusive way (gconf?)


CategorySpec

CompositeByDefault (last edited 2008-08-06 16:19:24 by localhost)