Monday, May 26, 2008

[Linux] Bleeding Compiz Fusion From GIT

To put it shortly, it is amazing. This post is cool too, don't miss it!
(HOWTO in it :D.)

Normally, people complain that their compiled code (in most cases, it is a stable kernel) runs at about the same speed as a pre-compiled generic executable.

But in this case, bleeding compiz code runs noticeably faster than the version that ships with Ubuntu 8.04. Not only that, but new features such as cube deformation, atlantis, fish-eye, enhanced water (& animations), and improved snappiness are fantastic.

I was about to post screenshots of my slick new desktop, but I decided to write a HOWTO for you people instead.

Note: I am a Debian/Ubuntu user, so I will post instructions assuming you have apt (Advanced Package Tool) available. I also tend to favor Gnome, so please comment if you have KDE/XFCE or rpm/yum/emerge/pacman/urpmi/w/e questions.
Note #2: [code] [/code] tags indicate that you should copy and paste the text between them into a terminal - and then hit enter. (You really do have to specify, you know?)
Note #3: I also do not assume any responsibility for damages these commands cause, though you are free to cuss me out if they break anything on your comp. This worked for me... BUT IT MIGHT NOT FOR YOU.

------------------ Compiz From GIT HowTo ------------------
Edit: Here is an experimental script I wrote (2:30 A.M) to automate this. Enjoy.
Direct Link

1a. Please update yourself;
[code]
sudo apt-get update && sudo apt-get upgrade
[code]

1b. If you are under Gnome/XFCE, install;
[code]
sudo apt-get install libgconf2-devlibgnome-desktop-dev libgnome-window-settings-dev xorg-dev
[/code]
If you are under KDE, install;
[code]
sudo apt-get install kde-devel kde4-devel
[/code]

2. Now, for everyone, install;
[code]
sudo apt-get install build-essential libxcomposite-dev libpng12-dev libsm-dev libxrandr-dev libxdamage-dev libxinerama-dev libstartup-notification0-dev libgl1-mesa-dev libglu1-mesa-dev libmetacity-dev librsvg2-dev libdbus-1-dev libdbus-glib-1-dev gitweb curl autoconf automake automake1.9 libtool intltool libxslt1-dev xsltproc libwnck-dev python-dev libX11-xcb-dev pyrex-mode python-pyrex x11proto-scrnsaver-dev libxss-dev xorg-dev
[/code]

3. Now, please exit Compiz Fusion ([code]metacity --replace[/code])

4. You will need to uninstall;
[code]
sudo apt-get remove libgnome-compiz-manager0 compiz-extra libcompizconfig0 compiz-dev compiz-gtk compiz-kde compiz-settings libcompizconfig-backend-gconf compiz-config-ini gcompizthemer compiz-plugins libgnome-compiz-manager-dev compizconfig-backend-kde compizconfig-settings-manager python-compizconfig compiz-config-gnome taskbar-compiz compizconfig-plugin compiz-freedesktop-dev compiz-fusion-plugins-unofficial compiz-bcop compiz-ccs-settings-manager libgnome-compiz-manager libcompizconfig0-dev compiztools compizconfig-settings-legacy compiz-fusion-plugins-extra compiz-compcomm-plugins-main compiz-fusion-plugins-unsupported compiz compiz-extra-plugins compiz-fusion-plugins-main libcompizconfig-backend-kconfig compiz-core compiz-decorator gnome-compiz-manager compiz-fusion-plugins-main compiz-gnome libcompizconfig-dev libgnome-compiz-manager0-dev libcompizconfig0 libcompizconfig-backend-gconf libcompizconfig0-dev libcompizconfig-backend-kconfig libcompizconfig-dev libdecoration0
[/code]

5a. Now, the final step;
[code]
cd ~
mkdir .CFgit
cd .CFgit
git clone git://anongit.compiz-fusion.org/users/omega/scripts
cd scripts
chmod a+x git-compiz
./git-compiz --purge
[/code]

5b. I didn't exactly lie... If you have;
>>> GNOME
[code]
./git-compiz --with-desktop=gnome
[/code]
>>> KDE
[code]
./git-compiz --with-desktop=kde
[/code]
>>> KDE4
[code]
./git-compiz --with-desktop=kde4
[/code]

And that's how to install.
To update your compiz from git - cd back to ~/.CFgit/scripts and execute;
[code]
cd ~/.CFgit/scripts
./git-compiz --rebuild=true
[/code]

A BIG thank you to all of you compiz, emerald, and plugin devs!
Special thanks to omega for his/her wonderful script.

Have fun with your shiny new desktops, assuming they haven't borked yet ;).

Post comments on any problems with my instructions!!!

1 comment:

mqr said...

I wrote this guide at 12:42 in the morning, on Windows, so forgive any mistakes I made in the post.

I followed the readme in omega's scripts folder - and wrote this howto with some additional info found elsewhere.

Post your experiences with this!