Ceci est une ancienne révision du document !
Compiz-Fusion, la fusion de Beryl et de Compiz
Pour rappel, Compiz est un gestionnaire de bureau en 3D, et Beryl est son fork (c'est-à-dire que certains développeurs de Compiz ont continué à faire évoluer le projet indépendamment, y apportant des modifications non négligeables).
Les deux projets se réunissent pour n'en faire plus qu'un sous le nom de Compiz-Fusion.
Compiz-Fusion offre de magnifiques bureaux en 3D, plus évolués que ceux que l'on a actuellement avec Beryl ou Compiz.
Si vous n'utilisez pas encore Ubuntu Gutsy ou Ubuntu Hardy et que vous souhaitez utiliser Compiz_fusion, migrer vers Ubuntu Gutsy est une solution. Si vous souhaitez rester sur Ubuntu Feisty, ⇒ cette page est faite pour vous ⇐. Utilisez cette méthode à vos risques et périls !
Pour vous mettre l'eau à la bouche avant de l'installer visionnez cette vidéo de 5 minutes en flash qui vous permettra de jeter un premier coup d'œil sur le futur des effets visuels que nous donnera cette belle alliance.
Installation / Activation
Ubuntu
Installez les paquets compiz et compizconfig-settings-manager avec leurs dépendances respectives (les dépendances sont les paquets que le système vous propose d'installer en compléments).
Autre solution : Menu application → Ajouter / supprimer → rechercher "Advanced Desktop Effects Settings" → Installer → Appliquer les changements
Kubuntu
Hardy Heron 8.04
Pour activer Compiz : Menu K→ Système → Desktop Effects et choisir le niveau.
Gutsy Gibbon 7.10 (et + anciens)
Il vous faut installer Compiz-fusion à partir des dépôts officiels. Installez les paquets de base et de configuration :
Dans certains cas, si vous souhaitez utiliser XGL, si AIGLX ne fonctionne pas sur votre configuration :
Aussi, si vous ne voulez ou ne pouvez pas (instabilités…) utiliser les décorations de fenêtres de kde (kwin), vous pouvez installer Emerald. Des thèmes divers pour Emerald sont téléchargeables sur kde-look.org et installables en mode graphique.
Xubuntu
Il vous faut installer Compiz-fusion à partir des dépôts officiels. Installez les paquets de base et de configuration :
Dans certains cas, si vous souhaitez utiliser XGL, si AIGLX ne fonctionne pas sur votre configuration :
Utilisation
Ubuntu
Si Compiz-fusion n'est pas actif :
- Ouvrez : Système→Préférences→Apparence,
- Allez dans l'onglet Effets Visuels
- Choisissez ce que vous préférez entre Aucun, Normal et Extra
- Cette configuration sera mémorisée pour chaque démarrage !
Kubuntu
Pour lancer Compiz-fusion, pressez ALT+F2 et lancez la commande :
compiz --replace
Pour lancer Compiz-fusion avec le thème habituel que vous utilisez dans kwin :
kde-window-decorator --replace
Pour revenir aux fenêtres KDE :
kwin --replace
Attention : si vous avez lancé les commandes depuis la konsole, ne la fermez pas sinon cela fermera kwin par la même occasion. Préférez alt F2.
Il est possible d'automatiser les commandes compiz –replace et emerald –replace au démarrage de KDE :
Créez un fichier compiz dans ~/.kde/Autostart/
kate ~/.kde/Autostart/compiz
Remarque : Si vous possédez Kubuntu Hardy Heron avec KDE 4, crééz ce fichier dans ~/.kde4/Autostart/ , soit :
kate ~/.kde4/Autostart/compiz
dans lequel vous collez :
#!/bin/sh compiz --replace & emerald --replace &
N'oubliez pas de donner les droits nécessaires à son exécution :
chmod +x ~/.kde/Autostart/compiz
Remarque : Si vous possédez Kubuntu Hardy Heron avec KDE 4, la commande ci-dessus devient :
chmod +x ~/.kde4/Autostart/compiz
Xubuntu
Avant de lancer compiz-fusion, aller dans le centre de configuration avec la commande :
ccsm
Dans la catégorie "Effects", "Décoration des fenêtres", remplir le champ "Commande" avec :
emerald --replace
Puis pour lancer compiz fusion utiliser la commande :
killall xfwm4 && compiz --replace
Pour l'arrêter proprement et revenir à xfwm4 :
killall compiz.real && xfwm4 --replace
Les greffons
Voir la page dédiée aux greffons de Compie Fusion.
Utilitaires divers
gnome-compiz-manager (indisponible pour Hardy)
Il faut installer le paquet gnome-compiz-manager.
Il est composé de deux applications :
- compiz-tray-icon : qui lance et stop compiz.
- gnome-compiz-preferences : permet d'ajuster quelques effets simples.
Fusion-Icon
Fusion-Icon est un petit programme qui se loge dans la boite à miniatures et vous permettra de modifier certains paramètres de compiz Fusion, de le désactiver, d'avoir un accès direct au ccsm et au panneau de configuration d'emerald. Pour les utilisateurs de carte nvidia rencontrant des problèmes, il permet d'activer ou de désactiver les options "loose binding" et "indirect rendering" en un clic.
Il n'est pas encore disponible dans les paquets officiels (il l'est pour Hardy Heron), aussi il va falloir l'installer manuellement :
Pour Hardy Heron:
Installez le paquet fusion-icon
Pour Gutsy Gibbon 7.10 (et + anciens)
Installez le paquet git-core
Et lancez la commande suivante :
git clone git://anongit.opencompositing.org/users/crdlb/fusion-icon
Si un message d'erreur apparaît, saisissez la commande suivante :
sudo update-alternatives --config git
et sélectionnez le choix 1 et relancez la procédure.
Il ne vous reste plus alors qu'à installer fusion-icon :
cd fusion-icon make sudo make install
Remarque : pour pouvoir désinstaller plus facilement ce paquet on peut remplacer sudo install par
sudo checkinstall
qui crée un paquet deb.
Pour avoir l'icône de Compiz-Fusion dans la barre d'outils, ajoutez la commande :
fusion-icon
à la liste des programmes lancés à l'ouverture de session : Système → Préférences → Sessions. ( utilisé l'option —no-start pour ne pas avoir à redémarer compiz (sous hardy))
Compiz-Switch
Il existe une alternative à fusion-icon avec un paquet deb pour ubuntu si vous recherchez uniquement une activation/désactivation de Compiz-fusion à l'aide d'un simple clic.
- Si Compiz fonctionne, il active le décorateur de bureau par défaut.
- Si Compiz ne fonctionne pas, il le lance immédiatement.
Pour plus de renseignement : http://forlong.blogage.de/article/pages/Compiz-Switch
Widgets
Si vous utilisez une application pour avoir des widgets, telle que screenlets, vous pouvez utiliser conjointenent le greffon Widget layer de compiz-fusion. Avec ce greffon vous pouvez afficher ou non les widgets.
Le greffon est disponible dans la catégorie Desktop.
Par défaut le raccourci clavier pour activer les widgets est F9. Vous pouvez modifier la configuration dans l'onglet Action du greffon.
Captures d'écran
Le nouveau cube, reflets intégrés : CTRL + ALT + Souris
Le greffon 'Expo' : SUPER + E
Le greffon pour faire du feu : SUPER + SHIFT + Souris Pour effacer SUPER + SHIFT + C
Et CompizConfig configurateur
Ring Switcher : SUPER + TAB
Commutateur d'application : ALT + TAB
Configuration des options graphique
Problèmes connus
Vous trouverez le fichier Xorg.conf dans /etc/X11/.
The Composite extension is not available
Ce message peut survenir lorsque l'on essaie d'activer le bureau 3D. Editez le fichier xorg.conf et ajoutez l'option composite dans la section Extensions, si la section n'existe pas copier/coller les lignes suivantes à la fin du fichier :
Section "Extensions" Option "Composite" "1" EndSection
ou alors vérifiez que vous avez installé le paquet xserver-xgl
error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory
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
Desktop effects could not be enabled - Problème au lancement de Compiz
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 - Blacklisted device
Ce problème survient sous Gutsy avec certaines cartes Intel et ATI, car elle ont été volontairement désactivés pour des problèmes vidéos, que vous pouvez résoudre ensuite.
Pour autoriser le fonctionnement de ces cartes :
- Ouvrez un terminal et tapez :
echo SKIP_CHECKS=yes > ~/.config/compiz/compiz-manager
- Vous pouvez ensuite fermer le terminal,
- Puis, vous pouvez ouvrir Compiz Fusion normalement.
Cas 2 - No whitelisted driver found
Cette erreur ne concerne que les utilisateurs de cartes ATI, utilisant les tous derniers pilotes propriétaire (qui permettent enfin l'utilisation de compiz sans XGL), n'effectuez pas la modification suivante dans le cas contraire. Ouvrir le fichier /usr/bin/compiz
Repérer la ligne :
WHITELIST="nvidia intel etc ..."
et rajouter fglrx avant nvidia en laissant un espace entre les deux, puis redémarrer.
WHITELIST="fglrx nvidia intel etc ..."
Cas 3 - 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.
Erreur au démarrage de compiz : /usr/bin/compiz: 378: /usr/local/bin/compiz: not found
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
Problème d'affichage des ombres
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 ln -sf /usr/lib/nvidia/libwfb.so.xserver-xorg-core /usr/lib/xorg/modules/libwfb.so
Décorations des fenêtres manquantes
Avant toute chose, vérifiez que emerald est bien installé, si ce n'est pas le cas, installez le via synaptic ou apt-get et redémarrer le serveur graphique (Ctrl + Alt + Backspace, sauvegardez vos données avant).
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: metacity –replace
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
Problèmes avec les décorations de fenêtre d'applications spécifiques
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)...
Compiz-fusion et les jeux 3D
Certains utilisateurs sont obligés de désactiver Compiz-fusion pour obtenir des performances correctes avec certains jeux ou applications.
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), avec comme nom "Compiz" par exemple et la commande
compiz --replace --loose-binding
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…).
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.
Ombre inutile sur fenêtre transparente
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
Titres géants
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!
Problème de compatibilité avec le bureau 3D et Java
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
Problèmes avec les bureaux virtuels
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)
Compiz Fusion et écrans multiples
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.
- Si vous optez pour deux (ou plus) écrans X séparés unifiés par Xinerama (solution qui est en cours d'abandon à l'heure actuelle), Compiz Fusion ne fonctionnera pas car Xinerama désactive l'option Xgl.
- 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.
Probleme de délai dans l'apparition des menus avec le multiple écran
Il se peut que les menus mettent longtemps à apparaitre le driver 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 apparaitre. 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 etre exécuté au démarrage grace à l'application Session.
Liens
Référence
Contributeurs : zaya0000, m3ta-x, _Enchained, toy (Astuce Nvidia) zippy, wolf, mbf (Décoration & Autres Information ; merci Ghoscube et coz_ #Compiz-fusion), Archaon59 (ajout de la commande de lancement alternative pour Nvidia), kamou compiz par defaut au demarrage, krop, elturisto, ametaireau (titres immenses), Id2ndR, Ultim4T0m, claudiux Crash de Totem