WARNING: GIT IS BEING RESTRUCTURED

Compiz is undergoing some major changes and this guide may not work with the git sources. For the time being, please use the source tarballs from the compiz fusion releases link below.
Thanks,
Compiz Support Team

A first version of guide howto install current master can be found here.

Installing from source tarball

This method will work on every distribution, as long as you have satisfied the dependencies required to compile Compiz Fusion which are:

build-essential libxcomposite-dev libpng12-dev libsm-dev libxrandr-dev libxdamage-dev libxinerama-dev libstartup-notification0-dev libgconf2-dev libgl1-mesa-dev libglu1-mesa-dev libmetacity-dev librsvg2-dev libdbus-1-dev libdbus-glib-1-dev libgnome-desktop-dev libgnome-window-settings-dev gitweb curl autoconf automake automake1.9 libtool intltool libxslt1-dev xsltproc libwnck-dev python-dev python-pyrex 

Most (if not all) of these may also be obtainable through your packaging system (if you have one) via the command to fetch all build dependencies for Compiz.

Once these are installed, you can obtain the source tarball from the Compiz Fusion releases page.

To compile from the source tarballs, extract each tarball, then execute the following:

./autogen.sh --prefix=/usr/local
make
sudo make install 

Installing From Git

This is not recommended unless you want the absolute bleeding-edge version or are a developer. Below is a list of git repositories:

Git repository

Stable branch

Development Branch (Requires XCB)

git://git.freedesktop.org/git/xorg/app/compiz

compiz-0.6

master

git://anongit.compiz-fusion.org/fusion/libraries/bcop

0.6.0

master

git://anongit.compiz-fusion.org/fusion/compizconfig/libcompizconfig

0.6.0

master

git://anongit.compiz-fusion.org/fusion/compizconfig/compizconfig-python

0.6.0

master

git://anongit.compiz-fusion.org/fusion/compizconfig/ccsm

0.6.0

master

git://anongit.compiz-fusion.org/fusion/plugins-main

0.6.0

master

git://anongit.compiz-fusion.org/fusion/plugins-extra

0.6.0

master

git://anongit.compiz-fusion.org/fusion/plugins-unsupported

0.6.0

master

git://anongit.compiz-fusion.org/fusion/decorators/emerald

0.6.0

master

git://anongit.compiz-fusion.org/fusion/decorators/emerald-themes

0.6.0

master

You will need to install the packages in this order.

  • compiz

  • bcop

  • libcompizconfig

  • compizconfig-python

  • ccsm

  • compiz-fusion-plugins-main (it must be built before plugins-extra as it contains necessary header files)

  • everything else

If you want to use a script, there are two provided scripts that will clone and pull everything as necessary. Clone them as below.

git clone git://git.opencompositing.org/users/kristian/compiz-scripts 

git clone git://anongit.opencompositing.org/fusion/misc/yags 

The get-git script will clone and update all Compiz Fusion related modules such as libcompizconfig, compiz and emerald and the YAGS script will clone all plugin repositories. Using YAGS is fairly simple, just execute

./yags $COMMAND

where $COMMAND can be pull, make, make install, make clean, or clone. YAGS will then apply this command to all applicable directories.

NOTE: omega has started a fork of the get-git script called git-compiz, it also has built in support for building plugins, more info here, also note that this is an unofficial and unsupported way to install Compiz Fusion

Build-System switches

Compiz-Core's configure file also contains a number of switches to disable certain dependencies. They are:

  • --disable-glib - Disable glib plugin

  • --disable-gconf - Disable gconf plugin

  • --disable-schemas-install - Disable the schemas installation

  • --disable-place - Disable window placement plugin

  • --disable-dbus - Disable dbus plugin

  • --disable-dbus-glib - Disable dbus-glib support

  • --disable-inotify - Disable inotify plugin

  • --disable-fuse - Disable fuse plugin

  • --disable-annotate - Disable annotate plugin

  • --disable-librsvg - Disable svg support

  • --disable-gtk - Disable gtk window decorator

  • --disable-metacity - Disable metacity theme support

  • --disable-gnome - Disable gnome settings module

  • --disable-gnome-keybindings - Disable gnome keybindings

  • --disable-kde - Disable kde window decorator

  • --disable-kconfig - Disable kconfig plugin