Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
vga_switcheroo [Le 05/07/2011, 14:54]
minishooter [Utilisation de vga_switcheroo]
— (Version actuelle)
Ligne 1: Ligne 1:
-====== 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 
- 
-<​note>​À compléter : vga_switcheroo est-il compatible avec la technologie Nvidia Optimus ?</​note>​ 
- 
-===== 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 
- 
-<​code>​$ grep -i switcheroo /​boot/​config-`uname -r`</​code>​ 
- 
-Si vga_switcheroo est disponible, ça vous renverra cette ligne : 
- 
-<​code>​CONFIG_VGA_SWITCHEROO=y</​code>​ 
- 
-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 [[:​kernel|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 sur Ubuntu, aucun problème), pour ça, tapez la commande suivante : 
- 
-<​code>​mount | grep /​sys/​kernel/​debug</​code>​ 
- 
-Qui doit vous renvoyer : 
- 
-<​code>​none on /​sys/​kernel/​debug type debugfs (rw)</​code>​ 
- 
-Si cette ligne s'​affiche 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 éditer ce fichier) : 
- 
-<​code>​none /​sys/​kernel/​debug debugfs defaults 0 0</​code>​ 
- 
-Ensuite, redémarrez votre ordinateur, ou tapez ''​sudo mount -a''​ dans votre terminal pour que le montage soit effectué. 
- 
-===== Utilisation de vga_switcheroo ===== 
- 
-==== Un peu de vocabulaire ===== 
- 
-Pour comprendre ce que nous allons faire, un peu de vocabulaire utilisé de vga_switcheroo : 
- 
-La **carte integrée** correspond à votre chipset graphique (souvent un Intel), peu puissant mais très peu gourmand en énergie. 
- 
-La **carte discrète** correspond à votre carte graphique, plus puissante que le chipset (utile pour jouer, décoder des vidéos HD, faire de l'​infographie 3D,...), cette carte consomme beaucoup de ressources, et réduit donc l'​autonomie de votre ordinateur. 
- 
-==== Le fichier switch ==== 
- 
-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. 
- 
-<​note>​Ceci n'est pas obligatoire,​ si vous ne le faites pas, vous devrez utilisez ''​sudo''​ pour modifier le fichier, ça peut être gênant si vous souhaitez développer vos propres scripts par exemple.</​note>​ 
- 
-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 avec tous les droits : 
-<​code>​chown nom_utilisateur:​nom_utilisateur /​sys/​kernel/​debug/​vgaswitcheroo/​switch</​code>​ 
- 
-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 inutilisée avec la commande suivante (toujours dans le fichier ''/​etc/​rc.local''​) : 
-<​code>​echo OFF > /​sys/​kernel/​debug/​vgaswitcheroo/​switch</​code>​ 
- 
-==== Les commandes dispo ==== 
- 
-Éteindre la carte graphique non utilisé : 
-<​code>​echo OFF > /​sys/​kernel/​debug/​vgaswitcheroo/​switch</​code>​ 
- 
-Allumer la carte graphique non utilisé : 
-<​code>​echo ON > /​sys/​kernel/​debug/​vgaswitcheroo/​switch</​code>​ 
- 
-Active la carte graphique intégrée : (aucun effet si X est démarré) 
-<​code>​echo IGD > /​sys/​kernel/​debug/​vgaswitcheroo/​switch</​code>​ 
- 
-Active la carte graphique discrète : (aucun effet si X est démarré) 
-<​code>​echo DIS > /​sys/​kernel/​debug/​vgaswitcheroo/​switch</​code>​ 
- 
-Malheureusement,​ le serveur X ne gère pas la changement de carte graphique "à chaud",​ il faut le redémarrer pour pouvoir changer de carte graphique, les commandes suivantes permettent de le forcer à redémarrer sur une ou l'​autre des cartes : 
- 
-Active la carte graphique intégrée au prochain démarrage de X : 
-<​code>​echo DIGD > /​sys/​kernel/​debug/​vgaswitcheroo/​switch</​code>​ 
- 
-Active la carte graphique discrète au prochain démarrage de X : 
-<​code>​echo DDIS > /​sys/​kernel/​debug/​vgaswitcheroo/​switch</​code>​ 
  • vga_switcheroo.1309870493.txt.gz
  • Dernière modification: Le 15/12/2011, 15:21
  • (modification externe)