Compiz Explained

Developer:David Reveman, Sam Spilsbury, Danny Baumann, Dennis Kasprzyk, Daniel van Vugt
Programming Language:C, C++, Python
Operating System:Unix-like with X11
Genre:X window manager
License:GPL, core: MIT license

Compiz 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

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 driver which supports since fall 2006.

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

History

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

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

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

Compiz

The first version of Compiz was released as free software by Novell (SUSE) no later than February 2006[5] 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.[6]

Beryl

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 . 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.[7]

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

Merger of the Compiz and Beryl communities

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:

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 distributionin an officially supported package.[9] [10] [11]

Further branches

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.[12] NOMAD was geared towards the improvement of remote desktop performance for Compiz installations.[13]

Merger of the Compiz branches

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.[14] [15] [16]

Compiz 0.9 series

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

Canonical Ltd. hired Spilsbury to further develop Compiz for Ubuntu in October 2010.[18] Since then Compiz development mostly coincides with Ubuntu development. Main development moved to Canonical's Launchpad service.[19] The 0.9.x versions up to 0.9.5 were seen as unstable/beta software.[20] 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,[21] Compiz 0.9.7.0 was released a month ahead of enterprise-targeted Ubuntu 12.04 LTS (Long Term Support) and declared stable.[22] A few days before the official release of Ubuntu 12.04 a new development branch, 0.9.8, was created[23] in preparation for Ubuntu 12.10.[24] For Compiz version 0.9.8 development has moved to a new Launchpad page.[25]

In November 2012, Spilsbury announced that he had left Canonical[26] 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.[27]

Compiz Reloaded

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

Features

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 .[30]

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

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:

Deployments

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.[36] 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.[37] This means Compiz cannot be used in conjunction with GNOME Shell.[38]

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

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.[44] [45] [46] Compiz was reintroduced into Debian in December 2016 by the Hypra.fr Team.[47]

Compiz was dropped from the Arch Linux repositories in May 2013.[48] 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.[49] In 2010 Canonical released their Unity interface which is written as a plugin for Compiz.[50] [51]

Reception and impact

Early Compiz reviews were mostly favorable praising its performance,[52] beauty[53] and novelty value.[54] 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.

See also

External links

Notes and References

  1. Web site: Linux Display Driver . Nvidia . November 7, 2006 . May 12, 2012.
  2. Web site: AMD Proprietary Linux Release Notes . ATI . July 14, 2010.
  3. Web site: Luminocity on GNOME Live!. https://web.archive.org/web/20050326135419/https://live.gnome.org/Luminocity. March 26, 2005.
  4. Web site: K00l Luminocity OpenGL Videos.
  5. Web site: Compiz From openSUSE. https://web.archive.org/web/20060215071653/https://en.opensuse.org/Compiz. February 15, 2006.
  6. Web site: Compiz on AIGLX. OSNews. Staff.
  7. Web site: Compiz Forked: Beryl . January 6, 2012.
  8. Web site: Spilsbury . Sam . And the New Name is…… . June 20, 2007 . March 30, 2012.
  9. Web site: Storm . Quinn . [beryl-dev] Merge On (details still to be decided) |url=http://lists.beryl-project.org/pipermail/beryl-dev/2007-March/000356.html |access-date=March 23, 2007 |archive-url=https://web.archive.org/web/20070326083210/http://lists.beryl-project.org/pipermail/beryl-dev/2007-March/000356.html |archive-date=March 26, 2007 |url-status=dead ].
  10. Web site: Carr . Robert . [beryl-dev] Beryl and Compiz Merge: What's actually going on? |url=http://lists.beryl-project.org/pipermail/beryl-dev/2007-March/000371.html |access-date=March 25, 2007 |archive-url=https://web.archive.org/web/20070405204127/http://lists.beryl-project.org/pipermail/beryl-dev/2007-March/000371.html |archive-date=April 5, 2007 |url-status=dead ].
  11. Web site: Laramie . Jeffrey . [compiz] Compiz and Beryl are Reuniting |url=http://lists.freedesktop.org/archives/compiz/2007-April/001809.html |access-date=April 4, 2007].
  12. Web site: Compiz feature branch compiz++. Kasprzyk. Dennis. December 24, 2008.
  13. Web site: NOMAD home page . openSUSE.org . April 28, 2010 . March 30, 2012 . March 4, 2016 . https://web.archive.org/web/20160304000044/http://old-en.opensuse.org/Nomad . dead .
  14. Web site: Compiz Reorganises, Reaches Consensus Within Community . January 6, 2012.
  15. Web site: Lyngstøl . Kristian . The Future of Compiz – Take two . April 19, 2010.
  16. Web site: Lyngstøl . Kristian . Announcement: Creation of the Compiz Council and the road ahead . February 4, 2009.
  17. Web site: Sam Spilsbury . [compiz] Compiz 0.9.2 is released! |publisher=lists.freedesktop.org |url=http://lists.freedesktop.org/archives/compiz/2010-October/003446.html |access-date=October 24, 2010].
  18. Web site: Spilsbury . Sam . November 25, 2010 . A bright new future for Compiz . …I was also hired by Canonical Ltd.… .
  19. Web site: Compiz Core in Launchpad . Launchpad.net . May 13, 2012.
  20. Web site: Spilsbury . Sam . May 13, 2012 . Compiz Home . 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). . July 10, 2009 . https://web.archive.org/web/20090713164846/http://www.compiz.org/ . July 13, 2009 . dead .
  21. Web site: 0.9.7.0: Compiz Core . Launchpad.net . March 2, 2012 . May 13, 2012.
  22. Web site: Compiz Core – Series 0.9.7 . Launchpad.net . May 12, 2012.
  23. Web site: Series 0.9.8 : Compiz Core. launchpad.net.
  24. Web site: Compiz 0.9.8 series . Launchpad.net . August 28, 2012.
  25. Web site: Compiz in Launchpad . Launchpad.net . May 23, 2012.
  26. Web site: Spilsbury . Sam . November 16, 2012 . The next chapter . Today was my last day at Canonical..
  27. Web site: Series 0.9.13 : Compiz. Launchpad.net. 2017-01-27.
  28. Web site: Compiz Release Announcement – 0.8.14 . Soreau's Blog.
  29. Web site: Compiz Reloaded. GitHub.
  30. Web site: OpenGL specification for EXT_texture_from_pixmap. July 12, 2008. https://web.archive.org/web/20080720044801/http://www.opengl.org/registry/specs/EXT/texture_from_pixmap.txt. July 20, 2008. dead.
  31. Web site: PluginsMain - Compiz Wiki . Wiki.compiz.org . March 30, 2008 . March 30, 2012 . August 10, 2009 . https://web.archive.org/web/20090810005756/http://wiki.compiz.org/PluginsMain . dead .
  32. Web site: PluginsExtra - Compiz Wiki . Wiki.compiz.org . June 11, 2008 . March 30, 2012 . August 10, 2009 . https://web.archive.org/web/20090810005533/http://wiki.compiz.org/PluginsExtra . dead .
  33. Web site: PluginsUnsupported - Compiz Wiki . Wiki.compiz.org . March 30, 2008 . March 30, 2012 . August 10, 2009 . https://web.archive.org/web/20090810005801/http://wiki.compiz.org/PluginsUnsupported . dead .
  34. Web site: OtherPlugins - Compiz Wiki . Wiki.compiz.org . October 10, 2008 . March 30, 2012 . August 11, 2009 . https://web.archive.org/web/20090811035959/http://wiki.compiz.org/OtherPlugins . dead .
  35. Web site: Decorators/GTKWindowDecorator - Compiz Wiki . Wiki.compiz.org . September 23, 2008 . March 30, 2012 . August 13, 2009 . https://web.archive.org/web/20090813024151/http://wiki.compiz.org/Decorators/GTKWindowDecorator . dead .
  36. Web site: 4.2.0 Release Announcement . KDE . January 27, 2009 . March 30, 2012.
  37. Taylor . Owen . March 23, 2009 . Metacity, Mutter, GNOME Shell, GNOME-2.28 . desktop-devel-list . gnome-shell is set up as a Mutter plugin that is largely written in JavaScript.
  38. Web site: Tech News: Compiz vs Gnome Shell . Martin-white.blogspot.de . August 9, 2010 . May 12, 2012.
  39. Web site: [Phoronix] Compiz Is Likely To Get The Boot From Fedora 17 |publisher=Phoronix.com |date=February 3, 2012 |access-date=May 12, 2012].
  40. Web site: Fedora Package Database - compiz . Admin.fedoraproject.org . May 12, 2012 . https://web.archive.org/web/20111104230716/https://admin.fedoraproject.org/pkgdb/acls/name/compiz . November 4, 2011 . dead .
  41. Web site: Bug 851800 – Review Request: compiz - OpenGL window and compositing manager.
  42. Web site: Fedora MATE-Compiz Desktop.
  43. Web site: MATE-Compiz Spin - FedoraProject.
  44. Web site:
    1. 677864 - compiz 0.8 should not release with wheezy - Debian Bug report logs
    .
  45. Web site:
    1. 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
    .
  46. Web site: Compiz just removed from the repos this week?.
  47. Web site: Debian Package Tracker. tracker.debian.org.
  48. Web site: [arch-dev-public] Dropping compiz?]. Bartłomiej. Piotrowski. May 20, 2013.
  49. Web site: Ubuntu Technical Board votes on Compiz for Ubuntu 7.10. Ars Technica.
  50. Web site: 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..
  51. Web site: Andrei . Alin "Andrew" . October 25, 2010 . Unity To Use Compiz instead of Mutter – Ubuntu 11.04 Natty Narwhal News . Webupd8.org . March 30, 2012.
  52. Web site: July 2, 2007 . SLED 10 SP1: a great Linux desktop gets better . October 31, 2021.
  53. Web site: February 10, 2007 . Finally, Some Linux Eye Candy. October 31, 2021.
  54. Web site: September 11, 2007 . Compiz Fusion 0.5.2 - Review . https://web.archive.org/web/20200919101808/https://www.osnews.com/story/18598/review-compiz-fusion-052/ . September 19, 2020 .