Version 17 (modified by 16 years ago) ( diff ) | ,
---|
Compiz Fusion
Compiz Fusion is the result of a merge between the well-known Beryl composite window manager and Compiz Extras, a community set of improvements to the Compiz composite window manager.
Installing Compiz Fusion
A full Compiz Fusion installation consists of many packages that must be installed to have a fully working setup.
WARNING: These instructions are a preliminary writeup for structure of the page. You should review the output of configure for each package and most likely install to a DESTDIR prior to a final installation to make sure everything goes where it should. Actually, the Gnome only installation is correct, I'm using it now, but I have not tested on KDE at all. Feel free to correct anything you find different if you go through the setup.
Installing compiz-0.6.2
Download Compiz: http://releases.compiz-fusion.org/compiz/0.6.2/compiz-0.6.2.tar.bz2
Install with the following commands:
./configure --prefix=/usr --sysconfdir=/etc && make && make install
Installing compiz-bcop-0.6.0
Download Compiz-bcop: http://releases.compiz-fusion.org/0.6.0/compiz-bcop-0.6.0.tar.bz2
Install with the following commands:
./configure --prefix=/usr --sysconfdir=/etc && make && make install
Installing libcompizconfig-0.6.0
Download libcompizconfig: http://releases.compiz-fusion.org/0.6.0/libcompizconfig-0.6.0.tar.bz2
Install with the following commands:
./configure --prefix=/usr --sysconfdir=/etc && make && make install
Installing compiz-fusion-plugins-main-0.6.0
Download Compiz Fusion Plugins Main: http://releases.compiz-fusion.org/0.6.0/compiz-fusion-plugins-main-0.6.0.tar.bz2
Install with the following commands:
./configure --prefix=/usr --sysconfdir=/etc \ --with-gconf-schema-file-dir=/etc/gnome/$GNOME_VERSION/gconf/schemas && make && make install
Omit the --with-gconf-schema-file-dir switch if building for KDE only.
Installing compiz-fusion-plugins-extra-0.6.0
Download Compiz Fusion Plugins Extra: http://releases.compiz-fusion.org/0.6.0/compiz-fusion-plugins-extra-0.6.0.tar.bz2
Install with the following commands:
./configure --prefix=/usr --sysconfdir=/etc \ --with-gconf-schema-file-dir=/etc/gnome/$GNOME_VERSION/gconf/schemas && make && make install
Omit the --with-gconf-schema-file-dir switch if building for KDE only.
Installing compiz-fusion-plugins-unsupported-0.6.0
Download Compiz Fusion Plugins Unsupported: http://releases.compiz-fusion.org/0.6.0/compiz-fusion-plugins-unsupported-0.6.0.tar.bz2
Install with the following commands:
./configure --prefix=/usr --sysconfdir=/etc \ --with-gconf-schema-file-dir=/etc/gnome/$GNOME_VERSION/gconf/schemas && make && make install
Omit the --with-gconf-schema-file-dir switch if building for KDE only.
Installing compizconfig-backend-gconf-0.6.0
Download Compiz Config Backend GConf (if using gnome): http://releases.compiz-fusion.org/0.6.0/compizconfig-backend-gconf-0.6.0.tar.bz2
Install with the following commands:
./configure --prefix=/usr --sysconfdir=/etc && make && make install
Installing compizconfig-backend-kconfig-0.6.0
Download Compiz Config Backend kconfig (if using KDE): http://releases.compiz-fusion.org/0.6.0/compizconfig-backend-kconfig-0.6.0.tar.bz2
Install with the following commands:
./configure --prefix=/usr --sysconfdir=/etc ???? && make && make install
Installing compizconfig-python-0.6.0.1
Download Compiz Config Python: http://releases.compiz-fusion.org/0.6.0.1/compizconfig-python-0.6.0.1.tar.bz2
Prereqs: Pyrex
Install with the following commands:
python setup.py build && python setup.py PREFIX=/usr install
Installing emerald-0.5.2
Download Emerald: http://releases.compiz-fusion.org/0.5.2/emerald-0.5.2.tar.bz2
Install with the following commands:
./configure --prefix=/usr --sysconfdir=/etc && make && make install
Installing emerald-themes-0.5.2
Download Emerald: http://releases.compiz-fusion.org/0.5.2/emerald-themes-0.5.2.tar.bz2
Install with the following commands:
./configure --prefix=/usr --sysconfdir=/etc && make && make install
Installing ccsm-0.6.0
Download CCSM: http://releases.compiz-fusion.org/0.6.0/ccsm-0.6.0.tar.bz2
Install with the following commands:
python setup.py build && python setup.py PREFIX=/usr install
Configuring Xorg for Compiz
Gentoo's wiki is already great for this task, no need to repeat it here. Refer to the links in the Prerequisites section for your video card. Some Intel, most AMD, and most nVidia cards are supported at the time of this writing.
http://gentoo-wiki.com/HOWTO_compiz-fusion
A couple of helper scripts
Rotate Desktop on init
I've experienced a minor annoyance that I've yet to find a 'fix' for. I run ATI Radeon 9200 with the open source ATI driver from Xorg. I don't know if it's related to the experimental drivers or not. Anyway, when starting compiz, sometimes...not always...the windows refuse to refresh until I switch desktops once. Without the fix for AIGLX mentioned in the Gentoo wiki (XAANoOffscreenPixmaps), this same behavior happens every time. Though the dbus hooks are probably a better way to handle this little bug, I wrote a simple Java app to switch desktops for me on initialization...just because I like Java and it took me about 5 minutes to figure it out. Actually, I think this is easier, but here is a link to the dbus-send command that would be necessary: http://forum.compiz-fusion.org/showthread.php?t=6192
mkdir ~/robottemp && cd ~/robottemp && cat > RobotRotate.java << "EOF" && // SendKeys for X in java ;-) // This little tidbit was inspired by this one: // -http://www.java-tips.org/java-se-tips/java.awt/how-to-use-robot-class-in-java.html // dj_AT_linuxfromscratch_DOT_org import java.awt.AWTException; import java.awt.Robot; import java.awt.event.KeyEvent; public class RobotRotate { public static void main(String[] args) { try { Robot robot = new Robot(); // Give 3 seconds for the WM to start robot.delay(3000); robot.keyPress(KeyEvent.VK_ALT); robot.keyPress(KeyEvent.VK_CONTROL); robot.keyPress(KeyEvent.VK_LEFT); robot.keyRelease(KeyEvent.VK_LEFT); // Wait a half second for screen to rotate completely robot.delay(500); robot.keyPress(KeyEvent.VK_RIGHT); robot.keyRelease(KeyEvent.VK_RIGHT); robot.keyRelease(KeyEvent.VK_CONTROL); robot.keyRelease(KeyEvent.VK_ALT); } catch (AWTException e) { e.printStackTrace(); } } } EOF javac RobotRotate.java && cp RobotRotate.class </usr/lib/classpath/>
Start Compiz
cat > /usr/bin/compizon << "EOF" && #!/bin/sh ##### MAKE SURE YOU FIRE UP ccsm AND SET WINDOW DECORATOR TO /usr/bin/emerald ##### ELSE YOU WILL HAVE NO WINDOWS BORDERS. ##### Also, enable cube so that the Rotate app works correctly. Your desktop ##### will roll left and then right again when Compiz starts to circumvent the ##### bug if you need to use it. LIBGL_ALWAYS_INDIRECT=1 /usr/bin/compiz --replace --indirect-rendering ccp & # or if using XGL # /usr/bin/compiz --replace cpp & # Uncomment this if you get the intermittent bug mentioned above # java RobotRotate # or optionally use dbus-send to send dbus events to cube extension EOF chmod 755 /usr/bin/compizon
Stop Compiz
cat > /usr/bin/compizoff << "EOF" && #!/bin/sh /usr/bin/metacity --replace & # or if using KDE...donno if this is correct, haven't used it in a while ??? # /path/to/kde/bin/konquer --replace & EOF chmod 755 /usr/bin/compizoff
Other notes
KDE is better than Gnome....YES I DID! I am personally a Gnome fan, but in this case KDE is nicer for the eye candy in that you can have separate desktop backgrounds for each desktop, whereas Gnome cannot. Here is a link to fix that Gnome shortcoming: http://forum.compiz-fusion.org/showthread.php?t=6199. I've not tested it myself yet.