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