Due to a majour core change since yesterday (6th of August 2007) you can no longer compile the git version of compiz on Ubuntu so you will have to use compiz 0.5.2 with newer versions of everything else, yes you still get the cool plugins and stuff :)

How to download, compile, install and run compiz-fusion from the git repository.

Compiz Fusion in Action

Compiz Fusion in Action

Compiz Fusion in Action

Please note that the git repositories are constantly being updated, you may find that you can compile it perfectly one minute but after updating it fails to compile. Your best bet is to get on irc, irc.freenode.net and go into #compiz-fusion and ask them for help.

I will be installing compiz-fusion to /opt/Ace2016 because i like to keep software i compile out of the way of the rest of my system, and also because i already have beryl working nicely and i do not want those files overwritten, they are already in /usr/ so the new emerald and compiz will go into /opt/Ace2016. If you intend to install to /usr you will need to remove beryl, emerald and the existing compiz from your system, but if the compile does not go as planned you will be up the creek with no canoe, and you’ll have to reinstall beryl and emerald all over again. CAUTION: if you install into /usr do not chmod 777 it, instead of running make install, you will have to run sudo make install

Sources.list

Get yourself a good sources list from source-o-matic

Make sure to tick the box that says “Tick this box to include source repositories ”

I have these repositories:

Ubuntu supported packages
Ubuntu community supported packages
Ubuntu backports project
Kubuntu.org bleeding edge KDE
Medibuntu multimedia packages
Canonical Commercial packages

Backup your sources.list:

sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup_ace2016

Generate the sources.list and run kdesu kwrite and open /etc/apt/sources.list, delete everything in it and copy and paste everything from the generated version into your sources.list file. Save it and quit. Now in konsole run:

sudo apt-get update
sudo apt-get dist-upgrade

Install Packages needed to Compile

Firstly install the following packages needed to compile Compiz Fusion:

sudo apt-get install git-core automake build-essential intltool libtool python-pyrex python2.5-dev
sudo apt-get build-dep compiz

I had a few problems during the compile and so some extra packages were installed, the ones i remember are:

moc (related to kde, needed it for compile)
sexy-python (optional package)
xsltproc (compiz configure errors out without this)

sudo apt-get install moc sexy-python xsltproc

Please tell me if you have to install any more.

Download the Sources

Firstly choose a location to put the sources, these need to stay here since you will presumably be updating compiz-fusion as you go. I have chosen to install it in ~/.compiz_compile since its hidden and easy to remember. If you intend to install into /usr do not run the last 2 commands

mkdir ~/.compiz_compile
cd ~/.compiz_compile
sudo mkdir /opt/Ace2016
sudo chmod 777 -R /opt/Ace2016

If you are using debian you can compile it from git but if you use ubuntu you will have to use 0.5.2 untill an xcb enabled xorg makes its way into most likely gusty or later, i really doubt that it’ll get to feisty.

Download Compiz:

Users with an xcb enabled xorg:

cd ~/.compiz_compile
git clone git://anongit.opencompositing.org/compiz

Users without xcb:

Please note that for the time being this does work but in the future as plugins start to rely on the new features in compiz, this will fail, you will have to use a git version which needs an xcb enabled xorg.

cd ~/.compiz_compile/
wget http://ace2016.net/dl/compiz-0.5.2.tar.gz

All users need to download these:

cd ~/.compiz_compile
git clone git://anongit.opencompositing.org/fusion/libraries/bcop
git clone git://anongit.opencompositing.org/fusion/compizconfig/ccsm
git clone git://anongit.opencompositing.org/fusion/compizconfig/libcompizconfig
git clone git://anongit.opencompositing.org/fusion/compizconfig/compizconfig-python
git clone git://anongit.opencompositing.org/fusion/plugins-main
git clone git://anongit.opencompositing.org/fusion/decorators/emerald
git clone git://anongit.opencompositing.org/fusion/decorators/emerald-themes
git clone git://anongit.opencompositing.org/fusion/plugins-extra
git clone git://anongit.opencompositing.org/fusion/plugins-unsupported
git clone git://anongit.opencompositing.org/fusion/plugins/shift
git clone git://anongit.opencompositing.org/users/crdlb/fusion-icon

Compile Compiz: (disable gnome if you use kde, disable kde if you use gnome)

Compile Compiz from 0.5.2 tarbell:

cd ~/.compiz_compile/ && tar -xvzf compiz-0.5.2.tar.gz && mv compiz-0.5.2 compiz
cd ~/.compiz_compile/compiz && ./configure –prefix=/opt/Ace2016 –enable-librsvg –disable-gnome && make && make install

Compile Compiz from Git:

cd ~/.compiz_compile/compiz && ./autogen.sh –prefix=/opt/Ace2016 –enable-librsvg –disable-gnome && make && make install

** MOC Error:
make[3]: Entering directory `/home/ace/.compiz_compile/compiz/kde/window-decorator’
/bin/moc decorator.h > decorator.moc.cpp
/bin/bash: /bin/moc: No such file or directory
**Wrok Around: sudo ln -s /usr/bin/moc /bin/moc && cd ~/.compiz_compile/compiz/ && make clean, now run the command again

Set the pkgconfig path to include /opt/Ace2016:

export PKG_CONFIG_PATH=”/opt/Ace2016/lib/pkgconfig:/opt/Ace2016/share/pkgconfig:$PKG_CONFIG_PATH”

Install bcop:

cd ~/.compiz_compile/bcop && ./autogen.sh –prefix=/opt/Ace2016 –enable-librsvg –disable-gnome && make && make install

Install libcompizconfig:

cd ~/.compiz_compile/libcompizconfig && ./autogen.sh –prefix=/opt/Ace2016 –enable-librsvg –disable-gnome && make && make install

Install compizconfig-python:

cd ~/.compiz_compile/compizconfig-python && ./autogen.sh –prefix=/opt/Ace2016 –enable-librsvg –disable-gnome && make && make install

Install ccsm:

cd ~/.compiz_compile/ccsm && python setup.py install –prefix=/opt/Ace2016

Install plugins-main:

cd ~/.compiz_compile/plugins-main/ && ./autogen.sh –prefix=/opt/Ace2016 –enable-librsvg –disable-gnome && make && make install

Intall emerald:

cd ~/.compiz_compile/emerald && ./autogen.sh –prefix=/opt/Ace2016 –enable-librsvg –disable-gnome && make && make install

Install emerald-themes:

cd ~/.compiz_compile/emerald-themes && ./autogen.sh –prefix=/opt/Ace2016 –enable-librsvg –disable-gnome && make && make install

Install plugins-extra:

cd ~/.compiz_compile/plugins-extra && ./autogen.sh –prefix=/opt/Ace2016 –enable-librsvg –disable-gnome && make && make install

Install plugins-unsupported:

cd ~/.compiz_compile/plugins-unsupported && ./autogen.sh –prefix=/opt/Ace2016 –enable-librsvg –disable-gnome && make && make install

Install the Vista like Switcher (shift)

cd ~/.compiz_compile/shift/ && make && make install

Install the System Tray Icon

cd ~/.compiz_compile/fusion-icon && make && make prefix=/opt/Ace2016 install

System Configuration:

In konsole run:

touch /opt/Ace2016/bin/fusion && kwrite /opt/Ace2016/bin/fusion

Copy and paste this into the text file:

#!/bin/sh
fusion-icon $*
#[leave empty line here]

XGL Users:

#!/bin/sh
LD_PRELOAD=/usr/lib/libGL.so.1.2 fusion-icon $*
#[leave empty line here]

Make fusion executable:

chmod +x /opt/Ace2016/bin/fusion

Now backup your bash.rc and edit it to make compiz fusion commands work without the /opt/Ace2016/bin in front of them. So you will be able to run fusion instead of having to run /opt/Ace2016/bin/fusion to launch compiz fusion:

cp .bashrc .bashrc_ace2016 && kwrite ~/.bashrc

Add these 3 lines ( i added them directly after “# for examples” which is the third line):

export PATH=/opt/Ace2016/bin:$PATH
export PKG_CONFIG_PATH=/opt/Ace2016/lib/pkgconfig:/opt/Ace2016/share/pkgconfig:$PKG_CONFIG_PATH
export PYTHONPATH=/opt/Ace2016/lib/python2.5/site-packages:$PYTHONPATH

Nvidia users must also enable argb visuals:

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf_ace2016
sudo nvidia-xconfig –add-argb-glx-visuals –composite -d 24

Restart the xserver (or restart the computer) so the settings can kick in.

Runing Compiz-Fusion

Run this from konsole, if it works ok you can from now on use Alt+F2 and run fusion from there:

fusion

When it first starts kwin will be the window manager, so to use compiz as the window manager right click on the fusion icon in the system tray and select compiz and select the window decorator as emerald.

If compiz fails to start or starts but crashes, press Alt+F2, then run:

kwin –replace

That’ll get your kwin back. But sometimes when you press Alt+F2 you may not be able to type into it, so Ctrl+Alt+F2 and login, then run:

DISPLAY=:0 kwin –replace

This will get kwin back.

Run Compiz-Fusion on KDE Startup

Create a symlink to fusion, run this in konsole:

ln -s /opt/Ace2016/bin/fusion ~/.kde/Autostart/fusion

Updating Compiz-Fusion

All you have to do is go into each of the directories and run git-pull, do a make clean if there is an update and then run the commands we ran to compile them in the first place.

Have Fun :D

Feedback would be much appreciated ;)


2 Responses to “How to Install Compiz-Fusion on Kubuntu”

 | paul  | October 25th, 2007 at 8:57 pm

I really would like to do seamless though. I dont want a full desktop nor do i want to do the whole CTRL+L
I first downloaded the seamlessrdp zip file from the net then after your post i downloaded the Download.zip and extracted those files but still the same results

rdesktop -A -s \ “c:\seamlessrdp\seamlessrdpshell.exe C:\Program Files\Internet Explorer\iexplore.exe” -c “c:\seamlessrdp” 192.168.0.1 -u “paul” -p password

gives me a full screen desktop. very frustrating!

 | Ace2016  | October 25th, 2007 at 10:02 pm

I tested this command and it works fine here:

rdesktop -rsound:remote -A -s “c:\seamlessrdp\seamlessrdpshell.exe C:\Program Files\Internet Explorer\iexplore.exe” -c “c:\seamlessrdp” localhost:6666 -u “X” -p password -N

Are you using this on a remote machine? i ask since you use 192.168.0.1

Post A Comment

Latest News

Monthly archives