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.
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]
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.
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.
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 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.
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]
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]
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]
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]
A group[28] forked the Compiz 0.8 series code base and modernized it and maintains it as of 2019.[29]
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:
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]
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.