Désactiver compiz pour lancer un jeu vidéo voir une vidéo
Les pilotes poulsbo sont très mal pris en charge sur linux voir pas pris en charge pour les dernières versions de Xorg.
Il est comme même possible d'utiliser les effets 3D du bureau avec compiz néanmoins la lecture d'une vidéo voir certains "petits" jeux (et programmes comme Google Earth) peut se révéler chaotique. Il est possible d'utiliser une parade qui consiste à désactiver les effets du bureau au lancement des applications problématiques, bien sûr on pourrait utiliser fusion-icon et faire ça manuellement mais cela n'est vraiment pas pratique et encombre la zone de notification pour pas grand chose. L'astuce est la suivante:
En me basant sur le script Compiz fusion et les jeux 3D qui notons si on lance 2 fois une application réactive compiz..., mon script ne permet pas se genre de légèreté, même si c'est un peu barbare...
Installation manuelle
Créons un fichier dans /usr/bin
[BASH linenumbers='false'] sudo nano /usr/bin/cponoff [/BASH]
Et copions le contenu de ce script:
[BASH linenumbers='false'] #!/bin/bash #Vérifié pour une utilisation avec les applications: vlc, totem ou un jeu. #Vérifié pour une utilisation avec des fichiers: audios ou vidéos. #set -xv titre="Cponoff" texte_off="Cponoff a désactivé compiz pour lire votre vidéo..." texte_on="Cponoff a réactivé compiz..." erreur="Une instance est déjà ouverte.\\nFermez les applications utilisant cponoff et recommencez." application=$1 fichier=$2 nom=${fichier%.*} ext=${fichier#$nom} ext=`echo $ext | sed 's/\\.//g'` compiz=`ps -ef | grep 'compiz' | grep -v grep` cponoff_() { if [ "$compiz" != "" ]; then composite=`cat $HOME/.gconf/apps/metacity/general/%gconf.xml | \\ grep compositing_manager | \\ sed "s#^.*value=\\"\\(.*\\)\\"/>#\\1#"` if [ "$composite" == "true" ]; then comp_act=on gconftool-2 --type=Boolean --set /apps/metacity/general/compositing_manager false else comp_act=off fi metacity --replace& sleep 5 if [ "$icone" ]; then notify-send -t 20000 -i "$icone" "$titre" "$texte_off" fi if [ "$fichier" ]; then $application "$fichier" else $application fi if [ "$application" = "" ]; then sleep 1 else compiz --replace& if [ "$comp_act" == "on" ]; then gconftool-2 --type=Boolean --set /apps/metacity/general/compositing_manager true fi sleep 10 if [ "$icone" ]; then notify-send -t 20000 -i "$icone" "$titre" "$texte_on" fi fi else if [ "$fichier" ]; then $application "$fichier" else $application fi compiz --replace& if [ "$comp_act" == "on" ]; then gconftool-2 --type=Boolean --set /apps/metacity/general/compositing_manager true fi fi } if [ "$2" ]; then ## lancement d'une musique (ou ajout à la playlist) if [ "$ext" == "raw" ] || [ "$ext" == "wav" ] || [ "$ext" == "bwf" ] || [ "$ext" == "aiff" ] || [ "$ext" == "caf" ] || [ "$ext" == "cda" ] \\ || [ "$ext" == "atrac" ] || [ "$ext" == "flac" ] \\ || [ "$ext" == "mp3" ] || [ "$ext" == "ogg" ] || [ "$ext" == "wma" ] || [ "$ext" == "au" ] || [ "$ext" == "asf" ] || [ "$ext" == "aa" ] || [ "$ext" == "aac" ] \\ || [ "$ext" == "midi" ] then if [ "$application" == "totem" ]; then $application --enqueue "$fichier" else $application "$fichier" fi elif [ "$compiz" != "" ]; then ## lancement d'une vidéo if [ "$ext" == "avi" ] || [ "$ext" == "flv" ] || [ "$ext" == "mov" ] || [ "$ext" == "moov" ] || [ "$ext" == "mpg" ] || [ "$ext" == "mpeg" ] || [ "$ext" == "vob" ] || [ "$ext" == "wmv" ] then nom_theme=`grep icon_theme $HOME/.gconf/desktop/gnome/interface/%gconf.xml -A1 | \\ tail -n1 | \\ sed "s#^.*\\(.*\\) #\\1#"` # le grep -A1 affiche une ligne de plus, le tail -n1 affiche 1 ligne à partir de la fin
if [ -d $HOME/.icons/$nom_theme ]; then
theme=$HOME/.icons/$nom_theme
else
theme=/usr/share/icons/$nom_theme
fi
chemin_icone=$theme/`cat $theme/index.theme | grep apps] | sed "s#^.*\\[\\(.*\\)\\]#\\1#"`
if [ -f "$chemin_icone/$application.png" ]; then
icone="$chemin_icone/$application.png"
elif [ -f "$chemin_icone/$application.svg" ]; then
icone="$chemin_icone/$application.svg"
elif [ -f "$chemin_icone/$application.xpm" ]; then
icone="$chemin_icone/$application.xpm"
elif [ -f "/usr/share/pixmaps/$application.png" ]; then
icone="/usr/share/pixmaps/$application.png"
elif [ -f "/usr/share/pixmaps/$application.svg" ]; then
icone="/usr/share/pixmaps/$application.svg"
elif [ -f "/usr/share/pixmaps/$application.xpm" ]; then
icone="/usr/share/pixmaps/$application.xpm"
else
icone=""
fi
cponoff_ $application "$fichier" $icone
else
cponoff_ $application "$fichier"
fi
else
zenity --error --title="$titre" --text="$erreur"
fi
## lancement d'une application (en général un jeu)
else
if [ "$compiz" != "" ]; then
cponoff_ $application
else
zenity --error --title="$titre" --text="$erreur"
fi
fi
[/BASH]
Comment ça marche ?
Éditer vos lanceurs du menu avec alacarte et remplacer pour totem la commande par:
[BASH linenumbers='false'] cponoff totem %U [/BASH]
ou pour vlc:
[BASH linenumbers='false'] cponoff vlc %U [/BASH]
Si vous lancez un jeu ou une application:
[BASH linenumbers='false'] cponoff mon_application [/BASH]
Notons que si avec totem ou vlc vous lancez des mp3 via nautilus compiz ne se désactivera pas, par contre si vous lancer vlc ou totem tout seul compiz se désactivera afin de prévenir tous problèmes si vous allez ouvrir une vidéo.
Pour finir pas besoin de mettre l'argument "--enqueue" à totem si vous lisez des mp3 il s’ajouteront automatiquement à votre playlist.
Il est comme même possible d'utiliser les effets 3D du bureau avec compiz néanmoins la lecture d'une vidéo voir certains "petits" jeux (et programmes comme Google Earth) peut se révéler chaotique. Il est possible d'utiliser une parade qui consiste à désactiver les effets du bureau au lancement des applications problématiques, bien sûr on pourrait utiliser fusion-icon et faire ça manuellement mais cela n'est vraiment pas pratique et encombre la zone de notification pour pas grand chose. L'astuce est la suivante:
En me basant sur le script Compiz fusion et les jeux 3D qui notons si on lance 2 fois une application réactive compiz..., mon script ne permet pas se genre de légèreté, même si c'est un peu barbare...
Installation manuelle
Créons un fichier dans /usr/bin
[BASH linenumbers='false'] sudo nano /usr/bin/cponoff [/BASH]
Et copions le contenu de ce script:
[BASH linenumbers='false'] #!/bin/bash #Vérifié pour une utilisation avec les applications: vlc, totem ou un jeu. #Vérifié pour une utilisation avec des fichiers: audios ou vidéos. #set -xv titre="Cponoff" texte_off="Cponoff a désactivé compiz pour lire votre vidéo..." texte_on="Cponoff a réactivé compiz..." erreur="Une instance est déjà ouverte.\\nFermez les applications utilisant cponoff et recommencez." application=$1 fichier=$2 nom=${fichier%.*} ext=${fichier#$nom} ext=`echo $ext | sed 's/\\.//g'` compiz=`ps -ef | grep 'compiz' | grep -v grep` cponoff_() { if [ "$compiz" != "" ]; then composite=`cat $HOME/.gconf/apps/metacity/general/%gconf.xml | \\ grep compositing_manager | \\ sed "s#^.*value=\\"\\(.*\\)\\"/>#\\1#"` if [ "$composite" == "true" ]; then comp_act=on gconftool-2 --type=Boolean --set /apps/metacity/general/compositing_manager false else comp_act=off fi metacity --replace& sleep 5 if [ "$icone" ]; then notify-send -t 20000 -i "$icone" "$titre" "$texte_off" fi if [ "$fichier" ]; then $application "$fichier" else $application fi if [ "$application" = "" ]; then sleep 1 else compiz --replace& if [ "$comp_act" == "on" ]; then gconftool-2 --type=Boolean --set /apps/metacity/general/compositing_manager true fi sleep 10 if [ "$icone" ]; then notify-send -t 20000 -i "$icone" "$titre" "$texte_on" fi fi else if [ "$fichier" ]; then $application "$fichier" else $application fi compiz --replace& if [ "$comp_act" == "on" ]; then gconftool-2 --type=Boolean --set /apps/metacity/general/compositing_manager true fi fi } if [ "$2" ]; then ## lancement d'une musique (ou ajout à la playlist) if [ "$ext" == "raw" ] || [ "$ext" == "wav" ] || [ "$ext" == "bwf" ] || [ "$ext" == "aiff" ] || [ "$ext" == "caf" ] || [ "$ext" == "cda" ] \\ || [ "$ext" == "atrac" ] || [ "$ext" == "flac" ] \\ || [ "$ext" == "mp3" ] || [ "$ext" == "ogg" ] || [ "$ext" == "wma" ] || [ "$ext" == "au" ] || [ "$ext" == "asf" ] || [ "$ext" == "aa" ] || [ "$ext" == "aac" ] \\ || [ "$ext" == "midi" ] then if [ "$application" == "totem" ]; then $application --enqueue "$fichier" else $application "$fichier" fi elif [ "$compiz" != "" ]; then ## lancement d'une vidéo if [ "$ext" == "avi" ] || [ "$ext" == "flv" ] || [ "$ext" == "mov" ] || [ "$ext" == "moov" ] || [ "$ext" == "mpg" ] || [ "$ext" == "mpeg" ] || [ "$ext" == "vob" ] || [ "$ext" == "wmv" ] then nom_theme=`grep icon_theme $HOME/.gconf/desktop/gnome/interface/%gconf.xml -A1 | \\ tail -n1 | \\ sed "s#^.*
Comment ça marche ?
Éditer vos lanceurs du menu avec alacarte et remplacer pour totem la commande par:
[BASH linenumbers='false'] cponoff totem %U [/BASH]
ou pour vlc:
[BASH linenumbers='false'] cponoff vlc %U [/BASH]
Si vous lancez un jeu ou une application:
[BASH linenumbers='false'] cponoff mon_application [/BASH]
Notons que si avec totem ou vlc vous lancez des mp3 via nautilus compiz ne se désactivera pas, par contre si vous lancer vlc ou totem tout seul compiz se désactivera afin de prévenir tous problèmes si vous allez ouvrir une vidéo.
Pour finir pas besoin de mettre l'argument "--enqueue" à totem si vous lisez des mp3 il s’ajouteront automatiquement à votre playlist.