Wiki

Compiz/Problembehebung

Problembehebung

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Ausbaufähige Anleitung

Dieser Anleitung fehlen noch einige Informationen. Wenn Du etwas verbessern kannst, dann editiere den Beitrag, um die Qualität des Wikis noch weiter zu verbessern.


Anmerkung: Bitte auf Aktualität überprüfen und gegebenenfalls ausmisten. Falls nötig, die Ubuntu-Versionen dazuschreiben, bei denen eine Lösung aktuell ist.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

ATI-Grafikkarte mit AIGLX-fähigem Treiber

Ab Ubuntu 8.10 Intrepid Ibex behoben: Accelerated Indirect Rendering (AIGLX) funktioniert erst ab der proprietären, unfreien Treiberversion 8.42 (fglrx).

Nach der Installation von Compiz auf einem System mit Unterstützung für AIGLX durch den proprietären ATI-Treiber erscheint nach dem Start durch den Konsolenbefehl [1]

compiz --replace 

zunächst die Fehlermeldung:

Checking for Xgl: not present.
...
No whitelisted driver found
aborting and using fallback: /usr/bin/metacity 

Xgl wird entgegen der Fehlermeldung mit einem AIGLX-fähigen System nicht benötigt. xserver-xgl kann und sollte deinstalliert werden. Um die Änderungen zu übernehmen, einen Neustart nicht vergessen.

Die eigentliche Lösung ist relativ simpel, denn in der Compiz-Konfigurationsdatei ist der fglrx-Treiber noch nicht enthalten. Diese enthält u.a. die zugelassenen Treiber. Hier ist der proprietäre ATI-Treiber hinzuzufügen. Die Datei /usr/bin/compiz dazu mit einem Editor [2] mit Root-Rechten öffnen. In der Zeile 53/54 ändert man den Eintrag dahingehend ab (wobei die Reihenfolge der Treiber egal ist):

# Driver whitelist
WHITELIST="nvidia intel ati  fglrx  radeon i810"

Hinweis:

Speziell ATI-Chipsätze für Notebooks brauchen noch eine Sonderbehandlung.

Composite-Erweiterung fehlt bei Nvidia

Ubuntu 8.04 Hardy Heron: falls Compiz nicht starten sollte und X.org sich über eine fehlende Composite-Erweiterung beschwert, fügt man in der Datei /etc/X11/xorg.conf folgende Zeilen am Ende ein [2]:

Section "Extensions"
         Option  "Composite" "Enable"
EndSection

Sollte bereits eine Section "Extensions" existieren, passt man diese entsprechend an.

Compiz starten und stoppen

Manchmal kann es vorkommen, dass Compiz abstürzt. Dann fehlt z.B. die Fensterleiste bzw. -Dekoration. Dies kann man sehr einfach mit dem Fusion Icon/Select Window Decorator beheben. Oder im Terminal [1]:

Stoppen

Um Compiz zu stoppen, den folgenden Befehl ausführen:

killall compiz 

Starten

Um Compiz zu starten, gibt man folgende Befehle ein:

compiz --indirect-rendering --strict-binding --replace gconf &
gnome-window-decorator --replace & 

Zurücksetzen

Im erweiterten Konfigurationsmanager von Compiz unter Einstellungen das kleine 'Besensymbol' (rechts außen) auswählen. Zusätzlich muss man im eigenen Home-Verzeichnis den versteckten Ordner ~/.compiz entfernen.

Falls Compiz nicht mehr startet, kann man die Compiz-Konfiguration auch in einem Terminal-Fenster auf die Standardwerte zurücksetzen.

Achtung!

Wichtig ist, dass Compiz nicht gestartet ist, da es sonst zu einem Absturz kommen kann!

Folgender Befehl sorgt dafür, das die Standardwerte von Compiz geladen werden:

gconftool-2 --recursive-unset /apps/compiz
rm -rf ~/.compiz 

Danach die installierten Compiz-Pakete neu installieren und den XServer neu starten.

Keine Fensterleiste

Falls beim Start keine Fensterleiste erscheinen sollte, ist Compiz nicht korrekt gestartet. Um dies einzustellen, benutzt man den erweiterten CompizConfig Einstellungs-Manager und trägt dort den gewünschten Fenster-Dekorator im Bereich Effekte/Window Decoration entsprechend ein:

  • gtk-window-decorator --replace (GNOME Standard)

  • emerald --replace (GNOME Emerald)

  • kde-window-decorator --replace (KDE)

Danach aktiviert man dieses Modul, damit die Änderung greift.

Eine weitere Möglichkeit, um den Fensterdekorateur im laufenden Betrieb zu wechseln, bietet das Panel-Plugin Fusion-Icon/Select Window Decorator. Nach einem Wechsel sollte man - unter Nutzung von Fusion-Icon/Reload Window Manager - den Fenstermanager neu starten, damit die Änderung wirkt.

Die entsprechenden Befehle für das Terminal [1]:

  • GNOME

gtk-window-decorator & 

bzw. um Compiz zu beenden

nohup metacity --replace & 
  • KDE

kde-window-decorator & 

bzw. um Compiz zu beenden

kwin --replace & 

Fensterleisten verschieben

Falls das Verschieben mit der Fensterleiste hängt oder ruckelt, muss im GNOME Konfigurationseditor eine Anpassung vorgenommen werden. Dazu öffnet man diesen und navigiert zum Schlüssel "/apps/compiz/plugins/resize/allscreens/options". Man wählt den Wert "stretch_texture" aus und startet danach den Computer neu.

Eine zweite Möglichkeit ist das Deaktivieren der visuellen Effekte in den erweiterten Einstellungen des GNOME-Desktop bzw. das Ausschalten der Metacity-Effekte.

Ruckelnde Wiedergabe von Videos

Videoanwendungen über einen Composite Manager wie Compiz stellen wesentlich höhere Anforderung an die Hardware. Mit folgenden Einstellungen sollte wieder eine flüssige Wiedergabe mit dem MPlayer gewährleistet sein. Dazu startet man den Mplayer, öffnet per Rechtsklick rechte Maustaste die "Einstellungen" und wählt im Reiter "Video" den Treiber "X11 Videoausgabe" aus. Nun noch die folgenden Optionen aktivieren:

  • "Direct Rendering verwenden"

  • "Frame-Dropping aktivieren"

und folgende Option deaktivieren:

  • "HARTES Frame-Dropping aktivieren"

Im Reiter "Codecs & Demuxer" nimmt man folgende Einstellungen vor:

  • Videocodec-Familie: "XviD 1.0 decoder"

  • Audiocodec-Familie: "Ogg/Vorbis audio decoder"

Leider wird so das Bild im Vollbildmodus nicht mehr gezoomt. Der VLC Player ist in ähnlicher Weise betroffen.

Probleme bei Spielen

Beispiel: Frozen-Bubbles ist fast komplett transparent, bestimmte Konturen lassen sich nur erahnen. Allgemeine Lösung im Terminal [1]:

export XLIB_SKIP_ARGB_VISUALS=1 
<Programmname>  

Für Frozen-Bubbles:

# Beispiel 
export XLIB_SKIP_ARGB_VISUALS=1 
frozen-bubble 

Zur Vereinfachung lässt sich ein Script schreiben [2],

#!/bin/sh
export XLIB_SKIP_ARGB_VISUALS=1
$1

als /usr/local/bin/launch3d speichern (dies erfordert Root-Rechte) und ausführbar machen [1]:

sudo chmod 755 /usr/local/bin/launch3d 

Nun kann man per

launch3d <Programm> 

das gewünschte <Programm> starten.

Compiz Bug in Java

Bei aktivierten Compiz kann es zu einer fehlerhaften Darstellung bei Java-Anwendungen kommen. Abhilfe schafft der folgende Eintrag [2] in der Datei /etc/environment:

AWT_TOOLKIT=MToolkit

Nach einem Neustart funktioniert wieder alles wie gewohnt.

Hinweis:

Verwendet man Sun Java 6 Update 1 oder neuer, so sollte der Fehler auch ohne den oben genannten "Workaround" behoben sein.

Spiel XY läuft nicht mit Compiz

In einem solchen Fall bietet es sich an, Compiz für die Spieldauer zu deaktivieren. Dazu startet man das Spiel fortan über ein Skript, das zuerst Compiz deaktiviert (Metacity aktiviert), dann das Spiel startet und nach Beenden Compiz (Emerald) wieder aktiviert. Hier ein Beispiel für Neverwinter Nights unter GNOME:

#!/bin/sh
metacity --replace &
sleep 3
nwn && compiz &
sleep 3
emerald --replace & 

Wird Emerald über das Plugin "Fensterdekorator" aktiviert bzw. nicht genutzt, kann auf dessen Aufruf samt vorhergehendem sleep 3 verzichtet werden. Die sleep-Dauer in Sekunden kann je nach System auch verlängert, verkürzt oder sogar ganz entfernt werden, denn sie dient lediglich dazu, Grafikprobleme beim zu schnellen Umschalten zwischen den verschiedenen Modi zu vermeiden.

Bei diesem Beispiel wird übrigens vorausgesetzt, dass sich Neverwinter Nights in einem im PATH definierten Ordner befindet, ansonsten muss es aus dem Spielverzeichnis heraus über das Kommando ./nwn anstelle des oben genannten nwn gestartet werden. Näheres dazu findet sich unter Umgebungsvariablen.

Unter KDE ersetzt man metacity & durch kwin &.

SKIP_CHECK nötig

Compiz überprüft anhand einer internen Liste beim Start automatisch, ob die eigene Grafikkarte (für Compiz) geeignet ist. Daher ist z.B. bei Mobile-Karten von ATI eine Umgehung der Überprüfung beim Compiz-Start notwendig. Einmalig wird das durch ein

SKIP_CHECKS=yes compiz --replace 

erreicht. Bei manchen Grafikkarten führt dies dazu, dass zwar die Effekte funktionieren, am rechten und/oder unteren Bildschirmrand aber ein Bereich entsteht, in dem "Grafikmüll" angezeigt wird. Hier kann es helfen, in der Datei /etc/X11/xorg.conf im Abschnitt "Screen" die Option "DefaultDepth" auf den Wert "16" zu setzen:

...
Section "Screen"
...
        DefaultDepth    16
...
EndSection
...

Nach dieser Änderung muss zunächst der XServer neugestartet werden, bevor anschließend die Kontrolle mit der SKIP_CHECK-Methode erneut durchgeführt wird.

Um die SKIP_CHECK-Methode dauerhaft zu verankern - sodass Compiz auch per Menü gestartet werden kann - , muss

mkdir -p ~/.config/compiz && echo SKIP_CHECKS=yes >> ~/.config/compiz/compiz-manager 

in einem Terminal [1] ausgeführt werden. Der letzte Befehl muss einmal von allen Benutzern ausgeführt werden, die die Effekte nutzen wollen.

GNOME: Probleme mit den Tastaturkürzeln

Die GNOME Tastenkürzel können sich mit den voreingestellten Tastenkürzeln der Compiz-Plugins überschneiden. Letztere lassen sich mit dem Programm gset-compiz jedoch nach Belieben verändern.

Falls die Supertaste, die gleichzeitig der Windows-Taste Windows heutiger Tastaturen entspricht, nicht funktionieren sollte, so fehlt eine notwendige Einstellung. Dazu wählt man

  • "System -> Einstellungen -> Tastatur -> Belegungseinstellungen -> Alt/Win Behavior -> Super is mapped to the Win-keys"

Oberer Bildschirmrand gesperrt

Bei Compiz ist das Verschieben von Fenstern (z.B. bei GNOME mit gedrückter Alt-Taste) über den oberen Bildschirmrand hinaus standardmäßig deaktiviert. Dies ist insbesondere bei Netbooks lästig, wenn Fenster zu groß für den Bildschirm sind und man deswegen nicht an alle Bedienelemente herankommt. Man kann den oberen Rand mit folgender Befehlszeile im Terminal freischalten:

gconftool-2 --type bool --set /apps/compiz/plugins/move/allscreens/options/constrain_y 0

Alternativ kann man einen Konfigurationseditor starten und dort unter "/apps/compiz/plugins/move/allscreens/options/" den Haken hinter "constrain_y" entfernen.

Compiz lässt sich nicht aktivieren mit Nvidia und mehreren Monitoren

Um das Problem zu beheben, muss in den Nvidia-Einstellungen statt "Separate X Server" auf "TwinView" umschalten werden. Ggf. benötigt der Rechner einen Neustart. Diese Einstellung findet man in den "NVIDIA X Server Settings" (Menü "System -> Systemverwaltung") unter "X Server Display Configuration" im Reiter "Display".


Diese Revision wurde am 28. Juni 2010 um 09:12 Uhr von Germrolf erstellt.
Dieser Seite wurden folgende Begriffe zugeordnet: Desktop, Fenstermanager

Passwort vergessen?