Compiz-Fusion

From Gentoo Linux Wiki

Jump to: navigation, search

Window managers TOC

Back to X.Org

Compiz-Fusion, the reunification of Compiz and the Beryl fork, is a set of plugins and add-ons for Compiz, an OpenGL window and compositing manager. It has reached its first stable version: 0.6.0. Version 0.7.8 can be found in the main tree. Live ebuilds can be found in desktop-effects and are numbered 9999. See the layman article for instructions on adding the desktop-effects overlay.

Contents

[edit] Prerequisites

Compiz-Fusion requires a driver supporting 3D acceleration and AIGLX. Please refer to the graphics drivers article for more information.

[edit] Installation

[edit] USE Flags

For installation the following packages need to be emerged with the USE flags that are specified

See the offical Gentoo documentation on USE flags handling if help is required.

[edit] Keywords

Add the following lines to /etc/portage/package.keywords,

File: /etc/portage/package.keywords
...
dev-python/compizconfig-python 
x11-wm/compiz 
x11-wm/compiz-fusion 
x11-plugins/compiz-plugins-main 
x11-plugins/compiz-plugins-extra 
x11-plugins/compiz-plugins-unsupported 
x11-wm/emerald 
x11-themes/emerald-themes 
x11-apps/ccsm 
x11-libs/libcompizconfig 
x11-libs/compizconfig-backend-gconf 
x11-libs/compizconfig-backend-kconfig 
x11-libs/compiz-bcop

However, x11-libs/compizconfig-backend-gconf and x11-libs/compizconfig-backend-kconfig are only required if one wishes to use Compiz-Fusion with GNOME or KDE, if you use Xfce or otherwise, you can add the -gnome, -kde and -kde4 USE flags to:

[edit] Emerge

Compiz-Fusion can now be emerged with the following command:

emerge -av compiz-fusion

[edit] Usage

To start Compiz-Fusion manually, run compiz-manager in a terminal,

compiz-manager

Compiz-Fusion versions earlier than 0.7.8 are manually started with compiz-start,

compiz-start

[edit] Intel GMA

Intel GMA PC owners should start compiz with some more parameters (INTEL_BATCH & LIBGL_ALWAYS_INDIRECT & --indirect-rendering) set before starting compiz:

LIBGL_ALWAYS_INDIRECT=1 INTEL_BATCH=1 compiz --replace --indirect-rendering --sm-disable ccp

[edit] Radeon r600/r700

Compiz must be started with indirect rendering:

compiz --indirect-rendering

[edit] Autostart

[edit] KDE3

To make a KDE3 session autostart Compiz-Fusion create a symlink from KDE3's Autostart directory to /usr/bin/compiz-manager compiz-manager as shown below:

cd ~/.kde/Autostart
ln -s /usr/bin/compiz-manager compiz-manager

[edit] KDE4

In KDE-4.2+ the easiest way to autostart Compiz-Fusion is to create a compiz-kde-launcher somewhere in the $PATH of the user which wishes to use it, like so:

echo "/usr/bin/compiz-manager" > /usr/local/bin/compiz-kde-launcher chmod +x /usr/local/bin/compiz-kde-launcher

or you could just create a symlink from your compiz startup file to it.

ln -s /usr/bin/compiz-manager /usr/local/bin/compiz-kde-launcher

Then simply select it from System Settings/Default Applications/Window Manager. Select the Compiz custom option.

[edit] Gnome

To change the default window manager in gnome run gconf-editor, and set /desktop/gnome/session/required_components/windowmanager to "compiz"

Alternatively compiz can be added to the list of applications which will start at login (Note, that this will start metacity first and then replace with Compiz.)

Navigate to System > Preferences > Startup Applications

Add a new Program to the session list named Compiz-Fusion and path /usr/bin/compiz-manager

Add a new Program to the session list named Emerald and in command "emerald --replace"

Save the settings and relog to test.

[edit] Xfce4

Create the following script in your home directory. Then, add it to be autostarted via Settings->Session and Startup->Application Autostart.

File: /home/<username>/.start-compiz
#!/bin/bash

compiz --replace --sm-disable ccp&
emerald --replace

[edit] Troubleshooting

If windows fail to redraw unless certain actions are taken (these seem to include: moving the window, scrolling the window, clicking the title bar, and changing the transparency, among other things), and you are using the proprietary nvidia driver, try the following: Get the source for compiz-plugins-main from http://releases.compiz.org/0.8.2/compiz-plugins-main-0.8.2.tar.bz2 and extract it to a new directory. Edit src/workarounds.c to look like the following near line 191:

Note: As of compiz-plugins-main-0.8.4, this is alteration is already in place.

Code:
static void
workaroundsPaintScreen (CompScreen   *s,
                        CompOutput   *outputs,
                   int          numOutputs,
                   unsigned int mask)
{   
    WORKAROUNDS_SCREEN (s);

    currentScreen = s;

    if (workaroundsGetForceGlxSync (s->display))
      glXWaitX ();

    UNWRAP (ws, s, paintScreen);
    (*s->paintScreen) (s, outputs, numOutputs, mask);
    WRAP (ws, s, paintScreen, workaroundsPaintScreen);
}

Compile and install:

Code:
./configure --prefix=/usr; make; sudo make install

Then restart Compiz. Enable the Workarounds plugin in ccsm, and check the box for Force synchronization between X and GLX, and hope everything works. Test whether you are still experiencing the redraw issue by going to the General page in ccsm and flipping back and forth between the Key Bindings tab and any other tab, as this seems to provoke the issue if it is present. This patch was created by user Maniac103 of nvnews.net forums.

Personal tools
In other languages