Compiz

{{short description|Compositing window manager for the X Window System}}

{{Use mdy dates|date=June 2013}}

{{Infobox software

| logo = Compiz logo.svg

| screenshot = Fedora-Core-6-AIGLX.png

| caption = Screenshot showing the Cube plugin for Compiz on Fedora

| developer = David Reveman, Sam Spilsbury, Danny Baumann, Dennis Kasprzyk, Daniel van Vugt

| released = {{Start date and age|2006}}

| latest release version = {{wikidata|property|preferred|references|edit|Q819563|P348|P548=Q2804309}}

| latest release date = {{wikidata|qualifier|preferred|single|Q819563|P348|P548=Q2804309|P577}}

| latest preview version = {{wikidata|property|preferred|references|edit|Q819563|P348|P548=Q51930650}}

| latest preview date = {{wikidata|qualifier|preferred|single|Q819563|P348|P548=Q51930650|P577}}

| programming language = C, C++, Python

| operating system = Unix-like with X11

| genre = X window manager

| license = GPL, core: MIT license

| website = {{URL|https://launchpad.net/compiz}}}}

Compiz ({{IPAc-en|k|ɒ|m|p|I|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

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 {{mono|radeon}} driver which supports {{mono|GLX_EXT_texture_from_pixmap}} since fall 2006.

NVIDIA's binary drivers (since Version 1.0-9629{{cite web |title=Linux Display Driver |publisher=Nvidia |date=November 7, 2006 |url=http://www.nvidia.com/object/linux_display_ia32_1.0-9629.html |access-date=May 12, 2012}}) support {{mono|GLX_EXT_texture_from_pixmap}} on standard X.Org server; AMD's binary drivers do since version 8.42.{{cite web |title=AMD Proprietary Linux Release Notes |publisher=ATI |url=http://www2.ati.com/drivers/linux/linux_8.42.3.html#188413 |access-date=July 14, 2010}}

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.{{cite web|url=https://live.gnome.org/Luminocity|title=Luminocity on GNOME Live!|archive-url=https://web.archive.org/web/20050326135419/https://live.gnome.org/Luminocity|archive-date=March 26, 2005}} In March 2005, the Luminocity project already featured effects like "wobbly windows", "physics models for window moving", "live updating workspace switcher" and "alpha compositing".{{cite web|url=https://blogs.gnome.org/seth/2005/03/26/k00l-luminocity-opengl-videos/|title=K00l Luminocity OpenGL Videos}}

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{{cite web|url=https://en.opensuse.org/Compiz|title=Compiz From openSUSE|archive-url=https://web.archive.org/web/20060215071653/https://en.opensuse.org/Compiz|archive-date=February 15, 2006}} 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.{{cite web|url=http://www.osnews.com/story/13894|title=Compiz on AIGLX|first=OSNews|last=Staff}}

=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 ({{mono|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.{{cite web |title=Compiz Forked: Beryl |url=http://www.osnews.com/story/15888/Compiz_Forked_Beryl |access-date=January 6, 2012}}

Among the differences to Compiz, Beryl had a new window decorator named Emerald based on cgwd along with a theme manager called {{mono|emerald-theme-manager}}, 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:

  • Compiz, (also Compiz-core) which contains only the core functionality of Compiz and base plugins
  • Compiz Fusion,{{cite web |last=Spilsbury |first=Sam |title=And the New Name is…… |date=June 20, 2007 |url=https://smspillaz.wordpress.com/2007/06/20/and-the-new-name-is/ |access-date=March 30, 2012}} 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.{{cite web |last=Storm |first=Quinn |title=[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=usurped }}{{cite web |last=Carr |first=Robert |title=[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=usurped }}{{cite web |last=Laramie |first=Jeffrey |title=[compiz] Compiz and Beryl are Reuniting |date=April 4, 2007 |url=http://lists.freedesktop.org/archives/compiz/2007-April/001809.html |access-date=April 4, 2007}}

=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.{{cite web|url=http://lists.freedesktop.org/archives/compiz/2008-December/003227.html|title=Compiz feature branch compiz++|last=Kasprzyk|first=Dennis|date=December 24, 2008}} NOMAD was geared towards the improvement of remote desktop performance for Compiz installations.{{cite web |title=NOMAD home page |publisher=openSUSE.org |date=April 28, 2010 |url=http://old-en.opensuse.org/Nomad |access-date=March 30, 2012 |archive-date=March 4, 2016 |archive-url=https://web.archive.org/web/20160304000044/http://old-en.opensuse.org/Nomad |url-status=dead }}

=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.{{cite web |title=Compiz Reorganises, Reaches Consensus Within Community |url=http://www.osnews.com/story/20950/Compiz_Reorganises_Reaches_Consensus_Within_Community |access-date=January 6, 2012}}{{cite web |last=Lyngstøl |first=Kristian |title=The Future of Compiz – Take two |url=http://kly.no/posts/2009_02_04__The_Future_of_Compiz___Take_two__.html |access-date=April 19, 2010}}{{cite web |last=Lyngstøl |first=Kristian |title=Announcement: Creation of the Compiz Council and the road ahead |date=February 4, 2009 |url=http://lists.freedesktop.org/archives/compiz/2009-February/003284.html |access-date=February 4, 2009}}

=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++.{{cite web |last= Sam Spilsbury |title=[compiz] Compiz 0.9.2 is released! |date=October 24, 2010 |publisher=lists.freedesktop.org |url=http://lists.freedesktop.org/archives/compiz/2010-October/003446.html |access-date=October 24, 2010}}

Canonical Ltd. hired Spilsbury to further develop Compiz for Ubuntu in October 2010.{{cite web |last=Spilsbury |first=Sam |date=November 25, 2010 |title=A bright new future for Compiz |url=https://smspillaz.wordpress.com/2010/10/25/a-bright-new-future-for-compiz/ |quote=…I was also hired by Canonical Ltd.… }} Since then Compiz development mostly coincides with Ubuntu development. Main development moved to Canonical's Launchpad service.{{cite web |title=Compiz Core in Launchpad |date=May 20, 2011 |publisher=Launchpad.net |url=https://launchpad.net/compiz-core |access-date=May 13, 2012}} The 0.9.x versions up to 0.9.5 were seen as unstable/beta software.{{cite web |last=Spilsbury |first=Sam |date=May 13, 2012 |title=Compiz Home |url=http://www.compiz.org/ |quote=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). |access-date=July 10, 2009 |archive-url=https://web.archive.org/web/20090713164846/http://www.compiz.org/ |archive-date=July 13, 2009 |url-status=dead }} 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,{{cite web |title=0.9.7.0: Compiz Core |publisher=Launchpad.net |date=March 2, 2012 |url=https://launchpad.net/compiz-core/+milestone/0.9.7.0 |access-date=May 13, 2012}} Compiz 0.9.7.0 was released a month ahead of enterprise-targeted Ubuntu 12.04 LTS (Long Term Support) and declared stable.{{cite web |title=Compiz Core – Series 0.9.7 |publisher=Launchpad.net |url=https://launchpad.net/compiz-core/0.9.7 |access-date=May 12, 2012}} A few days before the official release of Ubuntu 12.04 a new development branch, 0.9.8, was created{{Cite web|url=https://launchpad.net/compiz-core/0.9.8/|title=Series 0.9.8 : Compiz Core|website=launchpad.net|date=December 8, 2014 }} in preparation for Ubuntu 12.10.{{cite web |title=Compiz 0.9.8 series |publisher=Launchpad.net |url=https://launchpad.net/compiz/0.9.8 |access-date=August 28, 2012}} For Compiz version 0.9.8 development has moved to a new Launchpad page.{{cite web |title=Compiz in Launchpad |date=October 15, 2006 |publisher=Launchpad.net |url=https://launchpad.net/compiz |access-date=May 23, 2012}}

In November 2012, Spilsbury announced that he had left Canonical{{cite web |last=Spilsbury |first=Sam |date=November 16, 2012 |title=The next chapter |url=https://smspillaz.wordpress.com/2012/11/16/the-next-chapter/ |quote=Today was my last day at Canonical.}} 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.{{cite web|url=https://launchpad.net/compiz/0.9.13|title=Series 0.9.13 : Compiz|date=November 11, 2016 |publisher=Launchpad.net|access-date=2017-01-27}}

=Compiz Reloaded=

A group{{cite web|url=http://blog.northfield.ws/compiz-release-announcement-0-8-14/|title=Compiz Release Announcement – 0.8.14 | work = Soreau's Blog}} forked the Compiz 0.8 series code base and modernized it and maintains it as of 2019.{{cite web|url=https://github.com/compiz-reloaded|title=Compiz Reloaded|publisher=GitHub}}

Features

File:Compiz Shift Switcher.png

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 {{mono|GLX_EXT_texture_from_pixmap}}.{{cite web|url=http://www.opengl.org/registry/specs/EXT/texture_from_pixmap.txt|title=OpenGL specification for EXT_texture_from_pixmap|access-date=July 12, 2008|archive-url=https://web.archive.org/web/20080720044801/http://www.opengl.org/registry/specs/EXT/texture_from_pixmap.txt|archive-date=July 20, 2008|url-status=dead}}

The Compiz project categorizes the plugins into four main groups: Main,{{cite web |url=http://wiki.compiz.org/PluginsMain |title=PluginsMain - Compiz Wiki |publisher=Wiki.compiz.org |date=March 30, 2008 |access-date=March 30, 2012 |archive-date=August 10, 2009 |archive-url=https://web.archive.org/web/20090810005756/http://wiki.compiz.org/PluginsMain |url-status=dead }} Extra,{{cite web |url=http://wiki.compiz.org/PluginsExtra |title=PluginsExtra - Compiz Wiki |publisher=Wiki.compiz.org |date=June 11, 2008 |access-date=March 30, 2012 |archive-date=August 10, 2009 |archive-url=https://web.archive.org/web/20090810005533/http://wiki.compiz.org/PluginsExtra |url-status=dead }} Unsupported,{{cite web |url=http://wiki.compiz.org/PluginsUnsupported |title=PluginsUnsupported - Compiz Wiki |publisher=Wiki.compiz.org |date=March 30, 2008 |access-date=March 30, 2012 |archive-date=August 10, 2009 |archive-url=https://web.archive.org/web/20090810005801/http://wiki.compiz.org/PluginsUnsupported |url-status=dead }} and Experimental.{{cite web |url=http://wiki.compiz.org/OtherPlugins |title=OtherPlugins - Compiz Wiki |publisher=Wiki.compiz.org |date=October 10, 2008 |access-date=March 30, 2012 |archive-date=August 11, 2009 |archive-url=https://web.archive.org/web/20090811035959/http://wiki.compiz.org/OtherPlugins |url-status=dead }}

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.{{cite web |url=http://wiki.compiz.org/Decorators/GTKWindowDecorator |title=Decorators/GTKWindowDecorator - Compiz Wiki |publisher=Wiki.compiz.org |date=September 23, 2008 |access-date=March 30, 2012 |archive-date=August 13, 2009 |archive-url=https://web.archive.org/web/20090813024151/http://wiki.compiz.org/Decorators/GTKWindowDecorator |url-status=dead }}File:Emerald themer 0.9.5.png
  • kde-window-decorator uses native KWin themes.
  • Emerald, a custom decorator with its own theme format that has been ported to Compiz. It used to be Beryl's default decorator.

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.{{cite web|url=http://www.kde.org/announcements/4.2/ |title=4.2.0 Release Announcement |publisher=KDE |date=January 27, 2009 |access-date=March 30, 2012}} 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.{{cite mailing list |last=Taylor |first=Owen |date=March 23, 2009 |title=Metacity, Mutter, GNOME Shell, GNOME-2.28 |mailing-list=desktop-devel-list |url=http://mail.gnome.org/archives/desktop-devel-list/2009-March/msg00106.html |quote=gnome-shell is set up as a Mutter plugin that is largely written in JavaScript}} This means Compiz cannot be used in conjunction with GNOME Shell.{{cite web|url=http://martin-white.blogspot.de/2010/08/compiz-vs-gnome-shell.html |title=Tech News: Compiz vs Gnome Shell |publisher=Martin-white.blogspot.de |date=August 9, 2010 |access-date=May 12, 2012}}

Citing a lack of maintenance on the part of the Compiz developers, Fedora removed Compiz from the Fedora repositories from Fedora 17;{{cite web|url=https://www.phoronix.com/scan.php?page=news_item&px=MTA1MjI |title=[Phoronix] Compiz Is Likely To Get The Boot From Fedora 17 |publisher=Phoronix.com |date=February 3, 2012 |access-date=May 12, 2012}}{{cite web |url=https://admin.fedoraproject.org/pkgdb/acls/name/compiz |title=Fedora Package Database - compiz |publisher=Admin.fedoraproject.org |access-date=May 12, 2012 |archive-url=https://web.archive.org/web/20111104230716/https://admin.fedoraproject.org/pkgdb/acls/name/compiz |archive-date=November 4, 2011 |url-status=dead }} however Compiz has been reinstated in the Fedora repositories since Fedora 18.{{cite web|url=https://bugzilla.redhat.com/show_bug.cgi?id=851800|title=Bug 851800 – Review Request: compiz - OpenGL window and compositing manager}} An official MATE spin which includes Compiz has been available since Fedora 19.{{cite web|url=https://spins.fedoraproject.org/mate-compiz/|title=Fedora MATE-Compiz Desktop}}{{cite web|url=https://fedoraproject.org/wiki/MATE-Compiz_Spin|title=MATE-Compiz Spin - FedoraProject}}

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.{{cite web|url=http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=677864|title=#677864 - compiz 0.8 should not release with wheezy - Debian Bug report logs}}{{cite web|url=http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=719870|title=#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}}{{cite web|url=http://forums.debian.net/viewtopic.php?f=6&t=106705&hilit=compiz|title= Compiz just removed from the repos this week?}}

Compiz was reintroduced into Debian in December 2016 by the Hypra.fr Team.{{Cite web|url=https://tracker.debian.org/news/824674|title=Debian Package Tracker|website=tracker.debian.org}}

Compiz was dropped from the Arch Linux repositories in May 2013.{{Cite web|url=https://lists.archlinux.org/pipermail/arch-dev-public/2013-May/024956.html|title=[arch-dev-public] Dropping compiz?|first=Bartłomiej|last=Piotrowski|date=May 20, 2013}} 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.{{cite web|url=https://arstechnica.com/journals/linux.ars/2007/09/12/ubuntu-technical-board-votes-on-compiz-for-ubuntu-7-10|title=Ubuntu Technical Board votes on Compiz for Ubuntu 7.10|date=September 13, 2007 |publisher=Ars Technica}} In 2010 Canonical released their Unity interface which is written as a plugin for Compiz.{{cite web |url=http://askubuntu.com/questions/13073/is-unity-just-a-plugin-of-compiz |title=Is unity just a plugin of compiz |date=November 13, 2010 |quote=The version of Unity that will be released in 11.04 is definitely implemented as plugin(s) in Compiz.}}{{cite web |last=Andrei |first=Alin "Andrew" |date=October 25, 2010 |title=Unity To Use Compiz instead of Mutter – Ubuntu 11.04 Natty Narwhal News |publisher=Webupd8.org |url=http://www.webupd8.org/2010/10/unity-to-use-compiz-instead-of-mutter.html |access-date=March 30, 2012}}

Reception and impact

Early Compiz reviews were mostly favorable praising its performance,{{cite web |date=July 2, 2007 |title=SLED 10 SP1: a great Linux desktop gets better |url=https://www.desktoplinux.com/articles/AT9100156015.html |access-date=October 31, 2021}} beauty{{cite web |date=February 10, 2007 |title=Finally, Some Linux Eye Candy|url=https://redmonk.com/sogrady/2007/02/10/finally-some-linux-eye-candy/ |access-date=October 31, 2021}} and novelty value.{{cite web |date= September 11, 2007 |title=Compiz Fusion 0.5.2 - Review |url=https://www.osnews.com/story/18598/review-compiz-fusion-052/|archive-url=https://web.archive.org/web/20200919101808/https://www.osnews.com/story/18598/review-compiz-fusion-052/ |archive-date=September 19, 2020 }} 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)

Burn effect.png|Burn effect

Dream effect.png|Dream effect

Explode effect.png|Explode effect

Magic Lamp effect.png|Magic Lamp effect

Maximized window deformation.png|Deformation of maximized window

See also

References

{{Reflist|30em}}