Jump to content

Compiz

From Wikipedia, the free encyclopedia
(Redirected from Emerald (window decorator))

Compiz
Developer(s)David Reveman, Sam Spilsbury, Danny Baumann, Dennis Kasprzyk, Daniel van Vugt
Initial release2006; 18 years ago (2006)
Stable release
0.9.14.2[1] Edit this on Wikidata / 22 August 2022
Repository
Written inC, C++, Python
Operating systemUnix-like with X11
TypeX window manager
LicenseGPL, core: MIT license
Websitelaunchpad.net/compiz

Compiz (/kɒmpɪz/) is a compositing window manager for the X Window System, using 3D graphics hardware to create fast compositing desktop effects for window management. Effects, such as a minimization animation or a cube workspace, are implemented as loadable plugins. Because it conforms to the ICCCM conventions, Compiz can be used as a substitute for the default Mutter or Metacity, when using GNOME Panel, or KWin in KDE Plasma Workspaces. Internally Compiz uses the OpenGL library as the interface to the graphics hardware.

Hardware requirements

[edit]

Initially, Compiz only worked with 3D hardware supported by Xgl. Most NVIDIA and AMD graphics cards are known to work with Compiz on Xgl. Since May 22, 2006 Compiz works on the standard X.Org Server, by using AIGLX. Besides Intel GMA graphics cards, AIGLX also supports using AMD graphics cards (including R300 and newer cards) using the open-source radeon driver which supports GLX_EXT_texture_from_pixmap since fall 2006.

NVIDIA's binary drivers (since Version 1.0-9629[2]) support GLX_EXT_texture_from_pixmap on standard X.Org server; AMD's binary drivers do since version 8.42.[3]

History

[edit]

By the early 2000's, both ATI and Nvidia drivers became increasingly common on Linux. Advanced OpenGL development was no longer restricted to expensive UNIX workstations. Around the same time, Xgl, Xegl and AIGLX gave Xorg the possibility of using OpenGL for transformation and effects on windows surfaces.

With foundations finally available, xcompmgr pioneered the features of a compositing window manager.

Luminocity

[edit]

An effort called Luminocity began with some GNOME developers to make use of recent developments.[4] In March 2005, the Luminocity project already featured effects like "wobbly windows", "physics models for window moving", "live updating workspace switcher" and "alpha compositing".[5]

Given Luminocity was mostly a prototype, its development soon was abandoned, but some of its effects and behaviors were later implemented by Compiz.

Compiz

[edit]

The first version of Compiz was released as free software by Novell (SUSE) no later than February 2006[6] in the wake of the (also new) Xgl. It was one of the earliest compositing window managers for X.

In March 2006 Compiz was ported to AIGLX by Red Hat.[7]

Beryl

[edit]

Beryl was the project name for the quinnstorm branch of Compiz, announced on September 19, 2006 after Compiz developer Quinn Storm and the development team decided that the fork had come too far from the original Compiz started by Novell (compiz-vanilla). After the Novell XGL/Compiz team (mostly David Reveman) refused the proposition to merge the Quinnstorm changes with compiz-vanilla, the decision was made to make a real differentiation.[8]

Among the differences to Compiz, Beryl had a new window decorator named Emerald based on cgwd along with a theme manager called emerald-theme-manager, used a flat-file backend instead of gconf, and had no GNOME dependencies.

Merger of the Compiz and Beryl communities

[edit]

On March 30, 2007, discussions between the Beryl and Compiz communities led to a merger of the two communities which results in two new software packages:

  • Compiz, (also Compiz-core) which contains only the core functionality of Compiz and base plugins
  • Compiz Fusion,[9] consisting of the plugins, decorators, settings tools and related applications from the Beryl and Compiz communities. Compiz Fusion concentrates on installation, configuration and additional plugins to add to the core functionalities of Compiz.

Outcomes include plans to fund a code review panel consisting of the best developers from each community who will see that any code included in a release package meets the highest standards and is suitable for distribution in an officially supported package.[10][11][12]

Further branches

[edit]

In the fourth quarter of 2008, two separate branches of Compiz were created: compiz++ and NOMAD; compiz++ was geared toward the separation of compositing and OpenGL layers for the rendering of the window manager without compositing effects, and the port from C to C++ programming language.[13] NOMAD was geared towards the improvement of remote desktop performance for Compiz installations.[14]

Merger of the Compiz branches

[edit]

On February 2, 2009 a conference call was held between developers of Compiz, Compiz++, NOMAD and Compiz Fusion where it was decided to merge the projects into a unified project, simply named Compiz, with a unified roadmap.[15][16][17]

Compiz 0.9 series

[edit]

On July 4, 2010, Sam Spilsbury, lead Compiz developer, announced the release of Compiz 0.9.0 with a new API, rewritten in C++.[18]

Canonical Ltd. hired Spilsbury to further develop Compiz for Ubuntu in October 2010.[19] Since then Compiz development mostly coincides with Ubuntu development. Main development moved to Canonical's Launchpad service.[20] The 0.9.x versions up to 0.9.5 were seen as unstable/beta software.[21] With version 0.9.6 in progress, Canonical hired developer Daniel van Vugt to work on Compiz full-time. While 0.9.6 never officially released,[22] Compiz 0.9.7.0 was released a month ahead of enterprise-targeted Ubuntu 12.04 LTS (Long Term Support) and declared stable.[23] A few days before the official release of Ubuntu 12.04 a new development branch, 0.9.8, was created[24] in preparation for Ubuntu 12.10.[25] For Compiz version 0.9.8 development has moved to a new Launchpad page.[26]

In November 2012, Spilsbury announced that he had left Canonical[27] and stated he had no plans to port Compiz to Wayland. A small team continues to work on Compiz with version 0.9.13 being the focus of development as of July 2016.[28]

Compiz Reloaded

[edit]

A group[29] forked the Compiz 0.8 series code base and modernized it and maintains it as of 2019.[30]

Features

[edit]
Shift Switcher plugin

Almost all available Compiz features – except translucency, dimming, and desaturation – are delivered using plugins.

Compiz plugins include the cube effect, Alt-Tab application-switching with live previews or icons, and a feature similar to macOS's Mission Control. The Composite extension to X is used, as is the OpenGL extension GLX_EXT_texture_from_pixmap.[31]

The Compiz project categorizes the plugins into four main groups: Main,[32] Extra,[33] Unsupported,[34] and Experimental.[35]

Window managers use a program called a window decorator to provide the window borders with the usual minimize, maximize and close buttons. Unlike many window managers which have only one window decorator, Compiz users have a choice of three:

  • gtk-window-decorator uses either a basic cairo-based rendering engine or can use Metacity themes.[36]
    Emerald themer 0.9.5 with trueglass 0.5 frame engine
  • kde-window-decorator uses native KWin themes.[36]
  • Emerald, a custom decorator with its own theme format that has been ported to Compiz.[36] It used to be Beryl's default decorator.

Deployments

[edit]

Compiz or Beryl have usually been deployed on Linux and other X11-based Unix-like platforms together with GNOME 2 and KDE 3. Since version 4.2, however, KDE's own KWin ships with capabilities similar to Compiz.[37] So, Compiz is not usually deployed with recent Plasma Workspaces versions.

GNOME version 3.0 uses GNOME Shell which is built as a plugin to the Mutter compositing window manager.[38] This means Compiz cannot be used in conjunction with GNOME Shell.[39]

Citing a lack of maintenance on the part of the Compiz developers, Fedora removed Compiz from the Fedora repositories from Fedora 17;[40][41] however Compiz has been reinstated in the Fedora repositories since Fedora 18.[42] An official MATE spin which includes Compiz has been available since Fedora 19.[43][44]

Compiz was dropped from the Debian repositories from Debian 7 (Wheezy) onwards in August 2013 due to broken packages and a lack of upstream development on the part of the Compiz developers.[45][46][47] Compiz was reintroduced into Debian in December 2016 by the Hypra.fr Team.[48]

Compiz was dropped from the Arch Linux repositories in May 2013.[49] Compiz can still be installed from packages available in the Arch User Repository.

Ubuntu 6.06 LTS and later included Compiz in the universe repository. A limited version was included by default as "Desktop Effects" in Ubuntu 7.04. From Ubuntu 7.10 onwards, Compiz was enabled by default.[50] In 2010 Canonical released their Unity interface which is written as a plugin for Compiz.[51][52]

Reception and impact

[edit]

Early Compiz reviews were mostly favorable praising its performance,[53] beauty[54] and novelty value.[55] It was included in Ubuntu 6.06 repositories to allow easy installation and was, as of 2021, the only time an Ubuntu release was postponed.

Other projects like Metisse and Project Looking Glass were developed around the same time, but none became as known or widely deployed as Compiz. Other window managers like GNOME Shell and KWin would later also implement compositing effects. Windows’s look and feel partially imitated Compiz’s most popular look and feel in the next big release (Vista).

The development of Wayland around 2010 merged the functions of compositor and graphics server on the same program, a move that would eventually obsolete separate window managers and compositors. Distributions which still included it by default usually enabled just a few useful plugins and disabled the more "blingy" ones. Also, distributions increasingly began including KDE and GNOME with their default window managers. The last Ubuntu version to include Compiz to implement its Unity desktop manager was Ubuntu 16.04. After that, its development became mostly stagnant.

Some Compiz effects (0.8.5)

[edit]

See also

[edit]

References

[edit]
  1. ^ "Compiz 0.9.14.2 released". August 22, 2022. Retrieved August 26, 2022.
  2. ^ "Linux Display Driver". Nvidia. November 7, 2006. Retrieved May 12, 2012.
  3. ^ "AMD Proprietary Linux Release Notes". ATI. Retrieved July 14, 2010.
  4. ^ "Luminocity on GNOME Live!". Archived from the original on March 26, 2005.
  5. ^ "K00l Luminocity OpenGL Videos".
  6. ^ "Compiz From openSUSE". Archived from the original on February 15, 2006.
  7. ^ Staff, OSNews. "Compiz on AIGLX".
  8. ^ "Compiz Forked: Beryl". Retrieved January 6, 2012.
  9. ^ Spilsbury, Sam (June 20, 2007). "And the New Name is……". Retrieved March 30, 2012.
  10. ^ Storm, Quinn. "[beryl-dev] Merge On (details still to be decided)". Archived from the original on March 26, 2007. Retrieved March 23, 2007.
  11. ^ Carr, Robert. "[beryl-dev] Beryl and Compiz Merge: What's actually going on?". Archived from the original on April 5, 2007. Retrieved March 25, 2007.
  12. ^ Laramie, Jeffrey (April 4, 2007). "[compiz] Compiz and Beryl are Reuniting". Retrieved April 4, 2007.
  13. ^ Kasprzyk, Dennis (December 24, 2008). "Compiz feature branch compiz++".
  14. ^ "NOMAD home page". openSUSE.org. April 28, 2010. Archived from the original on March 4, 2016. Retrieved March 30, 2012.
  15. ^ "Compiz Reorganises, Reaches Consensus Within Community". Retrieved January 6, 2012.
  16. ^ Lyngstøl, Kristian. "The Future of Compiz – Take two". Retrieved April 19, 2010.
  17. ^ Lyngstøl, Kristian (February 4, 2009). "Announcement: Creation of the Compiz Council and the road ahead". Retrieved February 4, 2009.
  18. ^ Sam Spilsbury (October 24, 2010). "[compiz] Compiz 0.9.2 is released!". lists.freedesktop.org. Retrieved October 24, 2010.
  19. ^ Spilsbury, Sam (November 25, 2010). "A bright new future for Compiz". …I was also hired by Canonical Ltd.…
  20. ^ "Compiz Core in Launchpad". Launchpad.net. May 20, 2011. Retrieved May 13, 2012.
  21. ^ Spilsbury, Sam (May 13, 2012). "Compiz Home". Archived from the original on July 13, 2009. Retrieved July 10, 2009. The latest stable release of Compiz is 0.8.8. A C++ rewrite has been announced on December 24, 2009 and is now released as a beta version (0.9.5.x).
  22. ^ "0.9.7.0: Compiz Core". Launchpad.net. March 2, 2012. Retrieved May 13, 2012.
  23. ^ "Compiz Core – Series 0.9.7". Launchpad.net. Retrieved May 12, 2012.
  24. ^ "Series 0.9.8 : Compiz Core". launchpad.net. December 8, 2014.
  25. ^ "Compiz 0.9.8 series". Launchpad.net. Retrieved August 28, 2012.
  26. ^ "Compiz in Launchpad". Launchpad.net. October 15, 2006. Retrieved May 23, 2012.
  27. ^ Spilsbury, Sam (November 16, 2012). "The next chapter". Today was my last day at Canonical.
  28. ^ "Series 0.9.13 : Compiz". Launchpad.net. November 11, 2016. Retrieved January 27, 2017.
  29. ^ "Compiz Release Announcement – 0.8.14". Soreau's Blog.
  30. ^ "Compiz Reloaded". GitHub.
  31. ^ "OpenGL specification for EXT_texture_from_pixmap". Archived from the original on July 20, 2008. Retrieved July 12, 2008.
  32. ^ "PluginsMain - Compiz Wiki". Wiki.compiz.org. March 30, 2008. Archived from the original on August 10, 2009. Retrieved March 30, 2012.
  33. ^ "PluginsExtra - Compiz Wiki". Wiki.compiz.org. June 11, 2008. Archived from the original on August 10, 2009. Retrieved March 30, 2012.
  34. ^ "PluginsUnsupported - Compiz Wiki". Wiki.compiz.org. March 30, 2008. Archived from the original on August 10, 2009. Retrieved March 30, 2012.
  35. ^ "OtherPlugins - Compiz Wiki". Wiki.compiz.org. October 10, 2008. Archived from the original on August 11, 2009. Retrieved March 30, 2012.
  36. ^ a b c "Decorators/GTKWindowDecorator - Compiz Wiki". Wiki.compiz.org. September 23, 2008. Archived from the original on August 13, 2009. Retrieved March 30, 2012.
  37. ^ "4.2.0 Release Announcement". KDE. January 27, 2009. Retrieved March 30, 2012.
  38. ^ Taylor, Owen (March 23, 2009). "Metacity, Mutter, GNOME Shell, GNOME-2.28". desktop-devel-list (Mailing list). gnome-shell is set up as a Mutter plugin that is largely written in JavaScript
  39. ^ "Tech News: Compiz vs Gnome Shell". Martin-white.blogspot.de. August 9, 2010. Retrieved May 12, 2012.
  40. ^ "[Phoronix] Compiz Is Likely To Get The Boot From Fedora 17". Phoronix.com. February 3, 2012. Retrieved May 12, 2012.
  41. ^ "Fedora Package Database - compiz". Admin.fedoraproject.org. Archived from the original on November 4, 2011. Retrieved May 12, 2012.
  42. ^ "Bug 851800 – Review Request: compiz - OpenGL window and compositing manager".
  43. ^ "Fedora MATE-Compiz Desktop".
  44. ^ "MATE-Compiz Spin - FedoraProject".
  45. ^ "#677864 - compiz 0.8 should not release with wheezy - Debian Bug report logs".
  46. ^ "#719870 - RM: ccsm compiz compiz-fusion-plugins-extra compiz-fusion-plugins-main compiz-fusion-plugins-unsupported compizconfig-backend-gconf compizconfig-backend-kconfig compizconfig-python -- ROM; dead upstream, unmaintained, RC-buggy - Debian Bug report logs".
  47. ^ "Compiz just removed from the repos this week?".
  48. ^ "Debian Package Tracker". tracker.debian.org.
  49. ^ Piotrowski, Bartłomiej (May 20, 2013). "[arch-dev-public] Dropping compiz?".
  50. ^ "Ubuntu Technical Board votes on Compiz for Ubuntu 7.10". Ars Technica. September 13, 2007.
  51. ^ "Is unity just a plugin of compiz". November 13, 2010. The version of Unity that will be released in 11.04 is definitely implemented as plugin(s) in Compiz.
  52. ^ Andrei, Alin "Andrew" (October 25, 2010). "Unity To Use Compiz instead of Mutter – Ubuntu 11.04 Natty Narwhal News". Webupd8.org. Retrieved March 30, 2012.
  53. ^ "SLED 10 SP1: a great Linux desktop gets better". July 2, 2007. Retrieved October 31, 2021.
  54. ^ "Finally, Some Linux Eye Candy". February 10, 2007. Retrieved October 31, 2021.
  55. ^ "Compiz Fusion 0.5.2 - Review". September 11, 2007. Archived from the original on September 19, 2020.
[edit]