Ceci est une ancienne révision du document !
vga_switcheroo
vga_switcheroo est un outil inclus dans le noyau Linux qui permet de switcher entre les différentes cartes graphiques d'un ordinateur. Cet outil est particulièrement utile si vous posséder un ordinateur portable avec plusieurs GPU.
Pour plus d'informations, je vous renvoi à la news publié sur linuxfr.org lors de la sortie de Linux 2.6.34 :
http://linuxfr.org/news/nouvelle-version-2634-du-noyau-linux#switcheroo
Manipulation préalable
vga_switcheroo est-il dispo dans mon noyau ?
Tout d'abord, on va vérifier que vga_switcheroo est disponible dans le noyau que vous utilisez actuellement, pour cela, tapez la commande suivante dans votre terminal
$ grep -i switcheroo /boot/config-`uname -r`
Si vga_switcheroo est disponible, ça vous renverra cette ligne :
CONFIG_VGA_SWITCHEROO=y
Si vous avez bien cette ligne, vous pouvez continuer sans problème, dans le cas contraire, vérifier avec la commande uname -r
que votre noyau est au moins à la version 2.6.34. Dans Ubuntu 10.04 la version de base du noyau 2.6.32, et vga_switcheroo n'est donc pas disponible, vous pouvez soit mettre à jour votre distribution, soit vous diriger vers la page consacrée au kernel sur le wiki pour trouver une autre solution.
/sys/kernel/debug est-il bien monté ?
Maintenant que nous savons que le noyau inclus vga_switcheroo, il reste à vérifier que /sys/kernel/debug
est bien monté (en principe, il y est sur Ubuntu), pour ça, tapez la commande suivante :
mount | grep /sys/kernel/debug
Qui doit vous renvoyer :
none on /sys/kernel/debug type debugfs (rw)
Si la ligne tout va bien, vous pouvez passer à la partie suivante ! :) Si ce n'est pas le cas (ça ne renvoie rien), ajouter cette ligne à votre fichier /etc/fstab (vous aurez besoin d'utiliser sudo) :
none /sys/kernel/debug debugfs defaults 0 0
Ensuite, redémarrez votre ordinateur, ou tapez sudo mount -a
dans votre terminal pour que le montage soit effectué.
Utilisation de vga_switcheroo
Pour switcher entre les cartes graphiques, vga_switcheroo utilise un simple fichier que vous pouvez retrouver ici : /sys/kernel/debug/vgaswitcheroo/switch
Pour l'utiliser plus simplement, on va faire pour que ce fichier nous appartienne au démarrage, ça facilitera ses modifications.
sudo
pour modifier le fichier, ça peut être gênant si vous souhaitez développer vos propres scripts
Pour faire cela, il suffit de rajouter cette ligne dans le fichier /etc/rc.local
(juste avant le exit 0
) qui est exécuté au démarrage :
chown nom_utilisateur:nom_utilisateur /sys/kernel/debug/vgaswitcheroo/switch
Vous pouvez en même temps ajoutez "une règle par défaut" qui sera exécuté à chaque lancement, personnellement, je désactive directement ma carte graphique ATI avec la commande suivante (toujours dans le fichier /etc/rc.local
) :
echo OFF > /sys/kernel/debug/vgaswitcheroo/switch