HomeDocumentationFAQCommunity Log in / create account
compiz.org 

From Compiz

Contents

Overview

This page contains instructions for installing an configuring Compiz to run on your openSUSE desktop.

Distributions

These instructions apply to the following distribution.

  • SUSE Linux 10.1

Platforms

These instructions apply to any platform that is supported by openSUSE.

Hardware Considerations

Some video cards do not run compiz well. Others may run but with visual errors or reduced functionality. Many cards simply can't run Compiz at all. You should verify that your card is supported before beginning installation. If you are not sure what card you are using, you can run the following command (as root): hwinfo --gfxcard. The following graphics hardware is known to work well or recommended.

  • Intel
    All intel graphics chips need the newest packages of Xgl and compiz for running flawlessly.
    • i915, i945
      Accelerated XVideo is broken on these cards.
    • compiz --replace will most likely crash the Xserver due to a long standing DRI bug.
  • NVidia
    All NVIDIA cards need the proprietary driver for running Xgl and compiz.
    • GeForce 4xxx series
      XVideo is not accelerated on these cards.
    • GeForce FX 5xxx series, Quadro FX series
      Accelerated XVideo is hitting a slow path on these cards, it is under investigation.
    • GeForce 6xxx series
    • GeForce 7xxx series (GeForce 7600 = not all effects are available but mostly working)
  • ATI
    • Mobility Radeon 9700 SE: Xgl running with proprietary fglrx driver 8.23
    • Radeon X300: Xgl running with proprietary fglrx driver 8.23
    • Radeon X1300

The following hardware is known to have glitches or incompatibilities:

  • ATI
    • Mobility Radeon M6 LY (7000), Mobility Radeon M9 (9000) and Mobility Radeon M9+ (9200)
      Drawing artifacts and occasional flickering.
    • Radeon 9200
      No hardware acceleration using fglrx 8.22.5 driver
    • Radeon XPRESS 200M 5955 (PCIE), Driver: "fglrx_pci", XGL works but the 2D/3D files will not work propely(2D/3D games,full screen videos, etc.)
    • Some older Radeon chipsets have been shown to work with very reduced performance with the open source drivers on SLED10
  • Intel
    • i855GM
      Works, but effects are overall very slow.
    • i815, i845
      Too old, Xgl works, but compiz will not work.

Information about all the supported hardware can be found by running:

cat /etc/X11/xgl-hardware-list

Installation

Pre-Requisite Packages

Use Yast2->Software Management->Selections to verify that the following package groups are installed.

  • At a minimum you need to have the Graphical Base System installed
  • GNOME System
  • If you plan to run KDE you should also install the KDE Desktop Environment

While every package in these groups is not strictly needed, installing the entire group ensures that you can enjoy the full Compiz experience. Do not install Compiz or the other required packages yet.

The openSUSE repository contains many updates for your system which fix bugs and security holes. You should follow your own policy regarding updating your system, but at a minimum you should update your xorg-x11 and SaX2 packages now before installing any proprietary video drivers. If you don't have an update repository configured yet you should use either rug or Yast2 to set one up. Select an openSUSE mirror site near you then select the /pub/suse/update/10.1 directory.

Video Drivers

The open source video drivers for ATI and nVidia that are included with openSUSE do not use hardware acceleration and won't work with Compiz. You'll need to install proprietary drivers from the manufacturers.

ATI

  • Use YaST2->Software Management to install the kernel-source and gcc packages. The driver installation process needs them to compile the required kernel modules.
  • Download the latest ATI driver installer.
  • Open a shell, su to root, and run the ATI installer. The installer won't warn you if the kernel modules fail to build, so we will create an rpm package and install the driver manually.
  • Select "Generate Distribution Specific Driver Package" and create the appropriate package for your architecture.
  • Install the package you just created: rpm -ivh fglrx64_6_9_0_SUSE101-*. You may may see some compiler warnings at the end of installation, but if the kernel modules build successfully you should be OK.
  • Type init 3 to bring you to runlevel 3.
  • Run sax2 from the command line to configure the driver: sax2 -r -m 0=fglrx
  • Re-boot. Run sax2 from a shell or using Run Command and verify that the "3D Acceleration" box is checked.

NVIDIA

  • Download the latest NVIDIA driver.
  • You can find detailed installation instructions here.

Required Packages

  • compiz
  • xgl
  • xgl-hardware-list

Use Yast2->Software Management to install the packages. Since you've already configured an update repository, the latest packages will automatically be pre-selected for you.

If you have added Build Service X11:XGL repository you can also install the following optional but useful packages:

  • compiz-dev
  • compiz-extra
  • compiz-gnome
  • compiz-kde

Bleeding edge testing packages can be found at home:cyberorg

Configuration

In SUSE Linux 10.1 Compiz is managed using the Gnome Desktop Effects Settings tool. From the Gnome desktop use Desktop -> Control Center -> Desktop Effects to start open the dialog. If your using the KDE desktop, run gnome-xgl-settings from a shell or using the Run Command option. The Desktop Effects tool will analyze your system and attempt to determine whether or not you can run Xgl. If it finds anything wrong, it will advise you on what actions can be taken.

Supported and Unsupported Video Cards

The Desktop Effects tool will tell you one of four things:

  • Your graphics card is supported.
    • Xgl should work fine.
  • Your graphics card will not work with Xgl.
    • Your card has no support for 3D acceleration.
    • Your card is known to cause Xgl to crash or garble the contents of the screen while performing basic operations.
  • Your graphics card is not supported, but may work.
    • This card may run Xgl but is extremely slow.
    • You may experience crashes.
    • You may have garbled graphics and artifact when using certain plugins.
  • Your graphics card is not in Xgl's database.
    • Your card is not on the Xgl supported hardware list. You can use the Desktop Effects tool and try to enable Xgl and compiz, but you may or may not be successful.

3D Acceleration

The next piece of information the Desktop Effects tool provides is whether or not 3D acceleration is enabled on your card. With some cards, this will be enabled automatically. With others, you will need to take special action; the Desktop Effects tool will do its best to help you here.

Enabling 3D Acceleration with Intel chipsets

On supported Intel chipsets, enabling 3D acceleration is just a matter of checking a box in SaX2. If Desktop Effects finds that you don't have 3D acceleration enabled, it will offer to run SaX2 to let you fix it. In the original release of SUSE 10.1, clicking the "Run SaX2" button will actually send you to SaX2, and you have to check the correct button (at the bottom of the page) yourself and click OK. With more recent packages, the "Run SaX2" button will make the change for you using libsax.

Enabling 3D Acceleration with ATI or NVIDIA cards

If you have a supported card, and have installed the proprietary drivers correctly, then 3D Acceleration should be already enabled. If you got that message "Your graphics card is supported." but 3D Acceleration is not enabled, then the proprietary driver is probably not installed correctly. If you got the message "Your graphics card is not in Xgl's database." and you know you have a card that supports 3D Accelation, then you can try overriding the auto-detected settings. See the next section for details on doing this.

Overriding the Auto-detected 3D Acceleration Setting

If the Desktop Effects tool doesn't recognize your video card, it might think that 3D Acceleration is disabled even though you know it's really enabled. Since Desktop Effects won't let you enable Xgl unless it thinks 3D Acceleration is enabled, this can be a problem.

To override the autodetected setting for 3D Acceleration, hold down the Shift key and then double-click on the word "Disabled" next to "3D Acceleration". Only do this if you are certain that 3D Acceleration is enabled on your machine. (For the record, you can also do this to change its idea of whether or not your video card is supported, but that's even less recommended.)

Desktop Effects

If you have a supported (or at least, "usable") video card, and have managed to enable 3D Acceleration, then button at the bottom will read "Enable Desktop Effects". Clicking this button will (after asking for the root password), configure your machine to use Xgl, and then log you out so it can restart the X server.

If you later decide that you no longer want to use Xgl, you can come back to the Desktop Effects tool and disable it, which will reverse the process.

If you try to enable Xgl, but the login screen doesn't come back up successfully for some reason, you can use the command gnome-xgl-switch --disable-xgl as root to disable Xgl from the command line. You will probably also need to do rcxdm restart to restart X and the login screen.

Using Compiz with the GNOME desktop

If you were previously using metacity as your window manager in GNOME (the default setting), you will automatically be switched to compiz when you log in after enabling Xgl. Compiz defaults to using most of the same keybindings and mouse bindings as metacity for operations like "move window", "maximize", etc. If you have changed your metacity keybindings in the "Shortcuts" control panel, you will need to go back and change them again for compiz. Likewise, if you have made changes in the "Windows" control panel (eg, to enable "sloppy focus"), you will need to make those changes again.

Using Compiz with the KDE desktop

You need to create a file that will tell your your system to use compiz as the window manager instead of the default kwin. As root create a new text file in the /usr/local/bin directory and name it "compiz.sh". Copy and paste the following into it:

/usr/bin/compiz gconf & /usr/bin/gnome-window-decorator &

After you save the file you should change the file permissions to make the file executable.

Now you should create another file that will instruct KDE to run compiz.sh instead of kwin. Create a new text file in the /opt/kde3/env directory and name it "kdewm.sh". Copy and paste the following into it:

export KDEWM=/usr/local/bin/compiz.sh

As before, after you save the file you should change the file permissions to make the file executable.

If you choose KDE as the default desktop during your installation of your system you will also need to edit your /etc/sysconfig/displaymanager file so it uses the GNOME display manager. Modify the file by changing the DISPLAYMANAGER setting to "gdm":

DISPLAYMANAGER="gdm"

Changing Settings

The Desktop Effects tool which is used for enabling and disable Xgl can also be used to configure compiz options. Start it up as before (via the GNOME Control Center or the command line), and look at the options under the "Window Effects", "Desktop Cube", and "Other Features" tabs. For example, you can turn wobbly windows on or off, change the number of virtual desktops available on the desktop "cube", and control which corner of the screen (if any) activates the window picker.

As mentioned above, some keybindings and window management settings are configured via the GNOME "Shortcuts" and "Windows" control panels instead.

Troubleshooting

Nvidia: Cursor flickers or leaves artifact trails

If you have an Nvidia card (tested with 6600GT), and your mouse cursor is flickering, you need to set the HWCursor option to "On" in your /etc/X11/xorg.conf, under the [Screen] header.