Some of its features mimic those of competitors, such as ExposéinApple's Mac OS X and an Alt-Tab application-switcher that uses live previews, instead of just icons. The Composite extension to X is used, as is the OpenGL extension GLX_EXT_texture_from_pixmap[1]. The first version of Compiz was released as free softwarebyNovell (SUSE) in January 2006 in the wake of the also new Xgl.
Initially, Compiz only worked with 3D hardware which was supported by Xgl. Most NVIDIA and ATI 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 the Intel GMA graphics cards, AIGLX also supports using the ATI graphics cards (including R300 and R400 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) support GLX_EXT_texture_from_pixmap on standard X.Org server. ATI/AMD's binary-driver does so since version 8.42.[citation needed]
Merge of the Compiz and Beryl communities
OnMarch 30, 2007 the discussions between the Beryl (a fork of Compiz) and Compiz communities led to a merge 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, consisting of the plugins, decorators, settings tools and related applications from the Beryl and Compiz communities. Its main activity is focused in installation, configuration and additional plugins to be added to the core functionalities of Compiz.
It has been also agreed 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.[2][3][4]
Features
Internal
translucency, dimming, desaturation
Included plugins
Annotate: draw things on top of all windows
Clone: duplicate output on two screens
Cube: each virtual desktop becomes a face on a cube
Decoration: a plugin to communicate decoration settings to a decorator
Inotify: an inotify plugin which allows plugin developers to easily access inotify. It is currently used to notify settings programs when new plugins are added to the plugins directory.
Minimize: windows minimize (and maximize/restore) with an animation effect
Move: window moving
Place: placement of new windows
Png: allows plugin developers to load PNG files as textures without worrying about the image format.
Resize: window resizing
Rotate: the desktop cube can be rotated
Scale: an overview of all open windows (similar to Mac OS X's Exposé)
Svg: allows plugin developers to load svg files as textures. Other image plugins can be added so that extra image types will be seamlessly supported.
Switcher: active window can be chosen with Alt-Tab
Crashhandler: crash handling through gdb and recovery
Cube Gears: 3D animated gears in the center of the cube
Cube Reflection: Draws a reflection of the cube
Group And Tabs: group windows and access them through a tab bar similar to the well-known feature in browsers
Negative: inverts color of a window or screen
Put: moves windows using key binds
Reflection: watermarks window decorations, similar to Aero-Glass by default
Screenshot: mode to capture screen regions with the mouse
Shift Switcher: Provides Flip 3d and Cover Switching of windows
State: set default opacity and other options for types of windows
Trailfocus: unfocused windows fade with time
Mousegestures: advanced mouse gestures to control effect
Decorators
Compiz uses small programs called decorators which draw the window borders with the usual minimize, maximize and close buttons. Compiz provides two window decorators.
gtk-window-decorator uses either a basic cairo based rendering engine or can use metacity themes.
In addition, Emerald, Beryl's custom decorator with its own theme format, has been ported to Compiz as part of the Compiz Fusion project (see below) and is available in unofficial packages.[5]
Patches
Along with plugins, the Compiz community developers often release code patches for existing plugins when the feature does not warrant a plugin of its own; or when it utilizes many of the portions of an existing plugin. Code patches can then be sent to the mailing list for eventual inclusion in the main Compiz distribution. The community provides a valuable testing ground for new ideas.
Deployments
Compiz is currently available in OpenSolaris and the following Linux distributions (either officially or through a third party):
Arch Linux - available in the [community] repository.
Mandriva Linux - both Xgl and Aiglx with Compiz are included as standard in Mandriva starting in version 2007, and continuing until their most recent version, 2008.1. It is also included in the "Mandriva One" live CDs.
PCLinuxOS - both Compiz and Beryl are available in the 2007 release.
openSUSE - Version 10.1 and above of this Linux distribution contains out of the box support for Xgl and Compiz. Tutorials for using Xgl and Compiz on older SUSE Linux version are available at the OpenSUSE.org website.
SUSE Linux Enterprise Desktop - SLED 10 and newer include both Xgl and Compiz, along with an easy configuration panel icon to enable/disable the visual effects.
Ubuntu - available in Ubuntu 6.06 LTS and later from in the universeapt repository. A limited version is included by default as "Desktop-Effects" in Ubuntu 7.04 (Feisty Fawn). Since Ubuntu 7.10 (Gutsy Gibbon), Compiz Fusion is enabled by default. [6].
Yoper - installed but not activated in a default installation as well as on version 3 - Titanum's live CD.
Compiz (Aiglx and XGL) can also be set up on almost any other GNU/Linux-based distribution if the code is compiled correctly; however, there is no support available for this and it is not always a straight-forward procedure. In addition to these Linux distributions, PC-BSD also provides out of the box support for Compiz. However, this option is not enabled by default. FreeBSD is also capable, and the required sources are found in the ports tree[7].