Compiz: Problèmes connus

Ce message survient généralement lorsque l'on essaie de démarrer une application 3D. Pour corriger :

sudo ln -s /usr/lib/libGL.so.1.2 /usr/lib/libGL.so.1

Peut survenir lorsque l'on essaie de démarrer Compiz. Pour déterminer le message d'erreur exact entrez dans un terminal la commande suivante :

compiz --replace

Puis reportez-vous à la partie concernant votre message d'erreur :

Cas 1 - Less than 65536kb of memory and nVidiaaborting and using fallback: /usr/bin/metacity.

Cette erreur concerne en principe les utilisateurs de cartes Nvidia, n'effectuez pas la modification suivante dans le cas contraire. Ouvrir le fichier /usr/bin/compiz

Repérer et remplacer la ligne :

NVIDIA_MEMORY="65536" # 64MB

par :

NVIDIA_MEMORY="32768" # 32MB

puis redémarrer.

Cas 2 - Compiz ne se lance pas à chaque ouverture de session

Cette méthode a été utilisée après la mise a niveau de Ubuntu 11.04 vers Ubuntu 11.10 et après avoirs remis Gnome (Pour remettre Gnome : Remettre Gnome)

Si à chaque démarrage, Compiz ne démarre pas, il suffit de le mettre en application au démarrage.

  1. Ouvrez le Terminal et tapez:
gnome-session-properties


pour ouvrir : Préférences des applications au démarrage.

  1. Cliquez ensuite sur : Ajouter pour ajouter une nouvelle commande
  2. Dans "Nom" mettre "Start Compiz"
  3. Dans le champ "Commande" mettre :
    compiz --replace
  4. Pour finir, cliquez sur "Ajouter" pour valider et fermez ensuite la fenêtre.
  5. Fermer votre session et reconnectez-vous. Voila:-)

(Sur Xubuntu et dérivés, pour que la commande fonctionne, il faut se connecter en session xfce et pas en session xubuntu.)

Pour se débarrasser de ce problème il faut corriger le fichier /usr/bin/compiz.

sudo gedit /usr/bin/compiz

En remplaçant au début du fichier:

COMPIZ_BIN_PATH="/usr/local/bin/" # For window decorators and compiz
PLUGIN_PATH="/usr/local/lib/compiz/" 
GLXINFO="/usr/bin/glxinfo"
KWIN="/usr/bin/kwin"
METACITY="/usr/bin/metacity"
COMPIZ_NAME="compiz" # Final name for compiz (compiz.real)

Par:

COMPIZ_BIN_PATH="/usr/bin/" # For window decorators and compiz
PLUGIN_PATH="/usr/lib/compiz/" 
GLXINFO="/usr/bin/glxinfo"
KWIN="/usr/bin/kwin"
METACITY="/usr/bin/metacity"
COMPIZ_NAME="compiz.real" # Final name for compiz (compiz.real)

Puis relancer compiz :

compiz --replace

Sous Ubuntu 8.04 et selon les cartes graphiques, il se peut que les ombres ne s'affichent pas correctement sous les fenêtres (couleurs aléatoires, absences des ombres…).

sudo mv /usr/lib/xorg/modules/libwfb.so /usr/lib/xorg/modules/libwfb_backup.so
sudo ln -sf /usr/lib/nvidia/libwfb.so.xserver-xorg-core /usr/lib/xorg/modules/libwfb.so

Avant toute chose, vérifiez que les paquets apt://compiz-gtk,compiz-gnome sont bien installé, et redémarrer le serveur graphique (Ctrl + Alt + Backspace ou Alt + Impr. écran + K). Attention : sauvegardez vos données avant ! Toute donnée non enregistrée sera perdue définitivement !

Une autre méthode consiste à utiliser emerald en tant que décorateur de fenêtre.

Les possesseurs de cartes graphiques Nvidia avec des pilotes antérieurs à la version 100.14.09 semblent souvent rencontrer des problèmes avec les décorations/cadres des fenêtres qui ne s'affichent pas.

Vous avez deux méthodes :

Manuel

Il suffit d'éditer le fichier /etc/X11/xorg.conf et d'ajouter :

Option "AddARGBGLXVisuals" "True"
Option	"TripleBuffer"	"true"

dans la partie "Device".

DefaultDepth 24

dans la partie "Screen".

Automatiquement

Vous pouvez ajouter ces 2 paramètres et sauvegarder votre ancien xorg.conf en tapant :

sudo nvidia-xconfig --add-argb-glx-visuals -d 24

puis redémarrez le serveur X : Ctrl + Alt + Backspace (n'oubliez pas de sauvegarder vos travaux en cours), ou déconnectez vous et relancez le serveur X depuis l'écran de login.

Autre cause possible

Si la décoration des fenêtres n'est toujours pas visible, il faut activer le greffon Décoration. « Décoration de la fenêtre » est dans la section « Effects » de l'outil de configuration. assurez-vous que la case est cochée.

Si malgré cela vous n'avez toujours pas la décoration des fenêtres il faut aller dans ccsm ⇒ décoration de la fenêtre ⇒ commande et vous entrez emerald –replace ou si vous souhaitez avoir metacity : gtk-window-decorator –replace

Autre astuce

autre astuce: aller dans le ccsm>effets>window decoration dans les options, compléter la ligne Décoration windows avec "any", puis cliquer sur <précédent> miracle! les bordures de fenêtre reviennent!!!

Méthode radicale

Si aucune de ces solutions ne fonctionne il reste une solution un poil violente mais efficace: Ouvrez synaptic, recherchez tous les paquets correspondants à compiz et supprimez-les définitivement: clic droit sur le paquet et clic sur suppression définitive (vérifiez bien que les paquets sélectionnés automatiquement soient supprimés définitivement !) Ensuite nous allons chercher tous les paquets relatifs à compiz et ccsm et nous allons les supprimer. Pour cela, dans un terminal tapez:

find -iname *compiz*

Et supprimez tous les fichiers et dossiers relatifs à compiz affichés. Pour ccsm tapez dans un terminal:

find -iname *ccsm*

Et supprimez tous les fichiers et dossiers relatifs à compiz affichés.

Redémarrez votre ordinateur et réinstallez compiz et ccsm, tout devrait être rentré dans l'ordre ;)

Core Dumped

Si vous obtenez une erreur de segmentation:

user@group~$ ccsm
compizconfig - Info: Backend     : gsettings
compizconfig - Info: Integration : true
compizconfig - Info: Profile     : Default
Segmentation fault (core dumped)

Essayez de désinstaller compizconfig-backend-kconfig

Sur Kubuntu (KDE)

→ Si vous utilisez une décoration particulière piochée sur kde-look, il se peut qu'elle ne soit pas intégrable à compiz. C'est le cas du populaire Domino. Choisissez de préférence une décoration plus traditionnelle fournie avec KDE.

→ Si les bordures de fenêtres disparaissent :

  • Vérifiez que le greffon Décoration est bien activé dans Compiz-fusion.
  • Relancez le décorateur de fenêtres depuis la ligne de commande (ALT+F2)
kde-window-decorator --replace

Si le problème persiste (décoration de la fenêtre qui disparait quoi que vous fassiez), installez Emerald et remplacez la ligne qui précède par :

emerald --replace

Ce bug est signalé ici : https://bugs.launchpad.net/compiz/+bug/129801

→ Si kde-window-decorator plante lorsque vous tentez d'enrouler la fenêtre à l'aide de la molette de votre souris, vous utilisez probablement le décorateur de fenêtres crystal.

Pour que tout rentre dans l'ordre, procédez comme suit : menu K→Paramètres du Système→Apparence→Décoration des fenêtres et décochez Cycle tasks with mouse wheel

kde-window-decorator va planter une fois encore. Pas de souci, vous n'avez plus qu'a le relancer : kde-window-decorator –replace et tout fonctionnera à l'avenir. → Si apt notifier se retrouve dans une fenètre sur le bureau il vous suffit d'exécuter une fois Kopete et le problème est définitivement résolu ;-)

Barre des tâches et menus principaux inaccessibles, disparition des bordures de fenêtres pour certaines applications spécifiques (Evolution, Synaptic, OpenOffice et Nautilus, par exemple).

Dans CompizConfig Settings Manager, allez dans les paramètres du greffon Workarounds, et décochez Legacy Fullscreen Support. Pour plus de détails (en anglais)...

script pour désactiver/réactiver compiz-fusion automatiquement

Certains utilisateurs sont obligés de désactiver Compiz-fusion pour obtenir des performances correctes avec certains jeux ou Film, Applications ect…

Voici un petit script tout simple qui ferme compiz-fusion, lance le jeu demandé et relance compiz-fusion après le jeu. Modifiez-le à votre guise pour désactiver/réactiver d'autres applications si vous le souhaitez!

#!/bin/bash
if [ "`ps -ef |grep 'compiz' |grep -v grep`" != "" ]; then 
killall compiz.real
# ajout de cette ligne pour ne pas perdre les bordures de fenêtres
metacity &
$@
#décommentez la ligne suivante si compiz se relance avant le début du jeu
#zenity --info --text='Cliquez ici quand le jeu est terminé'
compiz --replace&
emerald --replace
else 
$@
fi

Il suffit de copier/coller ce script dans un fichier vierge, le renommer compiz-stop (par exemple), le placer dans /usr/local/bin et le rendre exécutable (sudo chmod +x /usr/local/bin/compiz-stop).

On peut alors l'utiliser comme argument (exemple: lancer "compiz-stop tremulous" pour ouvrir tremulous en désactivant compiz-fusion).

Saccades avec carte Nvidia

Pour certaines configurations, Compiz peut saccader malgré les ajouts dans xorg.conf, on peut utiliser l'option −−loose-binding. Il suffit simplement de rajouter un programme de démarrage (Système → Préférences → Sessions ou bien Système → Préférences → Applications au démarrage, selon la version d'Ubuntu), avec comme nom "Compiz" par exemple et la commande

compiz --replace  --loose-binding

Il peut y avoir certains soucis de synchronisation verticale. Sous VLC, Totem…

  1. Aller dans l'outil de configuration de compiz ccsm:
    • Dans les paramètres de composition, désactiver la détection automatique de fréquence et définissez la valeur manuellement
    • Dans les paramètres d'OpenGL, définir les filtres de texture en qualité maximum
    • Et activer Sync vers Vblank
  2. Dans les paramètres Nvidia:
    • Dans l'onglet OpenGL: activer Sync vers Vblank
    • Et définir les paramètres de qualité au maximum
    • Dans l'onglet de configuration de l'écran (X Server Display Configuration) définir la résolution et la fréquence manuellement
  3. En super utilisateur rajoutez les deux lignes suivantes à la fin du fichier /etc/environment :
CLUTTER_PAINT=disable-clipped-redraws:disable-culling
    * CLUTTER_VBLANK=True
  1. Redémarrez

Bug de l'écran noir et carte Nvidia

Il est du à un bug/limitation dans l'implémentation par NVidia de "GLX_EXT_texture_from_pixmap". Ne pas utiliser les effets de blur peut retarder l'apparition du bug. Utiliser compiz avec l'option −−indirect-rendering devrait presque complètement éliminer les écrans noirs. Notez que la synchronisation verticale (Sync vers VBlank) ne fonctionne pas avec "l'indirect rendering".

Le bug des écrans noirs est fixé avec les pilotes Nvidia égal ou supérieur à la version 100.14.19 qui devraient éliminer ses problèmes avec le "direct rendering", bien qu'on peut encore observer un écran noir si on change répétivement de console virtuelle (ctrl alt F1 - F2…).

Vidéo saccadée

Une astuce est de désactiver les effets 3D pendant la lecture du film, où en automatique via icone Compiz-Switch.
voir aussi automatiquement via un script

Crash de Totem avec carte Intel

Pour certaines cartes Intel (exemples : GM950, GM965, utilisant le paquet 915resolution) il arrive que Totem crashe lors de la lecture d'une vidéo au format avi (alors qu'il fonctionne correctement sans Compiz). Cela provient en fait d'un mauvais réglage de gstreamer, qu'utilise Totem. Pour le corriger :

$ gstreamer-properties

et dans l'onglet Vidéo, sélectionner "X Window System (sans Xv)" à la place de "Autodetect" comme greffon de sortie par défaut. Plus de renseignements (en anglais) sur https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/111257.

Les vidéos ne s'affichent plus

Il peut être nécessaire de faire des ajustements pour permettre aux vidéos de se lancer correctement.

  • Pour VLC : Aller dans Paramètres→Préférences→Video→Modules de sortie, cocher Options avancées en bas de la fenêtre, et choisir Sortie vidéo X11.
  • Pour mplayer : dans les préférences vidéos, choisir gl2 et mettre le direct rendering en OFF (à la fin du menu)
  • Pour Gxine : choisir OpenGL
  • Pour Totem-Xine : lancer dans un terminal gedit ~/.gnome2/totem_config , remplacer # video.driver:auto par video.driver:OpenGL ou video.driver:xshm (Essayez les deux et voyez lequel fonctionne le mieux)
  • Pour gstreamer.10, et Totem-gstreamer donc : tapez dans un terminal :
gstreamer-properties

dans la fenêtre qui s'affiche, allez dans l'onglet Vidéo, Puis choisir le greffon de sortie par défaut : Greffon: X Window System (Sans Xv), puis fermer.

Certains programmes n'utilisent pas de la "vraie" transparence. C'est le cas par exemple de Katapult sous KDE. Pour éviter que compiz ne dessine une ombre pour ce type de fenêtre, dans ccsm, menu Effets, Décoration de la fenêtre, dans le champ Shadow windows, tapez (pour katapult par exemple) :

any & name!=katapult

Il arrive qu'après une installation "fraîche" de Compiz fusion, les polices de la barre de titre des fenêtres soient démesurément grandes. Quelques manipulations suffisent pour résoudre le problème :

Éditez le fichier /etc/gdm/gdm.conf

cherchez

[server-Standard]
name=Standard server
-command=/usr/bin/X -br -audit 0

et remplacez par:

[server-Standard]
name=Standard server
-command=/usr/bin/X -br -audit 0 -dpi 96

redémarrez et c'est ok!

Si vous utilisez un logiciel utilisant JAVA (plus précisément, l'interface graphique SWING), il se peut que le programme ne s'affiche pas correctement (fenêtre grise).

→ Première méthode, Editez le fichier /etc/environment et ajoutez la ligne suivante :

AWT_TOOLKIT="MToolkit"

Enregistrez les modifications et redémarrez le serveur X (Ctrl + Alt + Del) pour que les changements prennent effets.

→ Autre méthode, ajoutez la ligne suivante au début (première ligne) du fichier lançant le programme qui ne s'affiche pas correctement :

export AWT_TOOLKIT=MToolkit

Si vous rencontrez des problèmes avec les bureaux virtuels, que les icônes des applications restent d'un bureau sur l'autre et que le sélecteur de bureau en bas à droite ne marche pas bien, assurez-vous d'avoir mis le nombre de bureaux virtuels dans General Options –> Desktop Size à 1 (c'est le paramètre Taille virtuelle qui est pris en compte)

Il est tout à fait possible d'activer Compiz Fusion sur plusieurs écrans simultanément (bi-écran ou plus). Néanmoins, toutes les méthodes d'affichage sur plusieurs écrans ne sont pas compatibles avec Compiz Fusion.

  • Si vous optez pour deux (ou plus) écrans X séparés, chaque écran aura sa propre "session" compiz.
  • Si vous optez pour un seul grand écran géré par Twinview, Compiz Fusion tournera sur les différents moniteurs comme s'il s'agissait d'un seul écran.
  • Enfin, si vous optez pour un écran multiple géré par Xrandr (v 1.2), Compiz Fusion devrait fonctionner (mais je n'ai pas testé donc je ne peux m'avancer sur le sujet).

Pour plus de détails concernant les multi-ecran consulter l'article sur la question.

Il se peut que les menus mettent longtemps à apparaître le pilote nvidia et double écran (problème constaté avec Aiglx + nvidia + compiz fusion + 2 écrans). Sous Gnome, lorsque l'on clique sur un menu normal ou contextuel, celui ci met parfois plus d'une seconde pour apparaître. Cela ne le fait pas dans les applications KDE.

Le workaround en attendant que le bug soit corrigé est de taper dans un terminal :

  compiz --loose-binding --only-current-screen --replace ccp &

Cette commande peut être exécutée au démarrage grâce à l'application Session.

Disparition de la gestion des majuscules

Ouvrez le gestionnaire de configuration Compiz et allez dans la section Général :

  • cliquez sur le bouton [ General Options ],
  • cliquez sur l'onglet [ Commands ],
  • ouvrir la section 'Key bindings',
  • désactivez la commande 'Run command 0' en cliquant sur le bouton en face de celle-ci puis cliquez sur la case à cocher 'Désactiver' et validez !

Pour mettre des images au dessus et au dessous du cube, il n'y a qu'une seule boîte de liste d'images, elle ne fonctionne qu'avec l'image du dessus ou l'action d'insérer une image au dessous n'est pas claire. Devrait-il y avoir une seconde boîte sous la première? [L'éditeur de cette section du wiki n'a pas trouvé de solution/besoin de plus d'informations reliées à ce sujet]

L'ajout ou la suppression d'images au dessus et au dessous du cube peut se faire à l'aide de l'éditeur "gconf-editor":

pouet@bab:~$ gconf-editor

puis en suivant le chemin /apps/compiz/plugins/cubeaddon/screen0/options. Modifiez les clés "bottom_images" et "top_images".

on peut aussi utiliser le plugin "reflexion et déformation du cube" onglet Dessus/Dessous du cube

Le scintillement jaillit (avec carte Nvdia) lorsque la vidéo est complètement en plein écran et que l'on souhaite faire apparaître la barre de contrôle de la vidéo en bougeant la souris.

Ouvrez le gestionnaire de configuration Compiz et allez dans la section Général :

  • cliquez sur le bouton [ General Options ],
  • cliquez sur l'onglet [ General ],
  • décochez la ligne "Ne pas rediriger les fenetres en plein ecran".

Contributeurs principaux : zaya0000, m3ta-x, _Enchained, toy (Astuce Nvidia) zippy, wolf, mbf, Ghoscube, coz_, Archaon59 , kamou, krop, elturisto, ametaireau, Id2ndR, Ultim4T0m, claudiux, Smon, sylvainvh, Max.

  • compiz_fusion_problemes_connus.txt
  • Dernière modification: Le 14/08/2017, 18:27
  • (modification externe)