Nvidia activer / désactiver rapidement le TwinView

Si comme moi vous utilisez une carte graphique Nvidia avec le TwinView d’activé, il arrive parfois que l’on ai besoin de le désactiver rapidement et éventuellement de changer la résolution pour lancer un jeu par exemple. Il existe bien sûr l’outil graphique made in Nvidia à savoir nvidia-settings. Mais on peut faire plus simple et plus rapide encore grâce à Xrandr installé par défaut avec le paquet x11-xserver-utils.

Voyons un peu sont utilisation, pour commencer vous devez avoir un Xorg fonctionnel en TwinView, voici le mien. J’ai deux écrans côte à côte le principal à gauche, le secondaire à droite, chacun avec une résolution de 1600×1200.

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 1.0  (buildmeister@builder57)  Thu Jul 17 18:39:19 PDT 2008

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
    RgbPath         "/usr/lib/X11/rgb"
EndSection

Section "Module"
    Load           "dbe"
    Load           "extmod"
    Load           "type1"
    Load           "freetype"
    Load           "glx"
EndSection

Section "ServerFlags"
    Option         "Xinerama" "0"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
    Option         "XkbModel" "pc105"
    Option         "XkbLayout" "fr"
    Option         "XkbVariant" "oss"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "CRT-0"
    HorizSync       30.0 – 110.0
    VertRefresh     50.0 – 150.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    Option         "UseEDID" "False"
EndSection

Section "Device"
    Identifier     "Videocard0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 6600"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Videocard0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "UseEDID" "False"
    Option         "TwinView" "1"
    Option         "TwinViewXineramaInfoOrder" "CRT-0"
    Option         "metamodes" "CRT-0: 1600x1200_75 +0+0, CRT-1: 1600x1200_75 +1600+0"

    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

La partie qui nous intérresse est l’option metamodes dans la section screen.

Option         "metamodes" "CRT-0: 1600x1200_75 +0+0, CRT-1: 1600x1200_75 +1600+0"

  • CRT-0: 1600x1200_75 +0+0 désigne mon écran principal (celui de gauche) avec une résolution de 1600×1200 avec un taux de raffraissichement de 75Hrz  ainsi que sa position.
  • CRT-1: 1600x1200_75 +1600+0 désigne mon écran secondaire(celui de droite) avec une résolution de 1600×1200 avec un taux de raffraissichement de 75Hrz ainsi que sa position a 1600px de mon écran principal.

Voilà le résultat de xrandr dans un terminal :

xrandr
Screen 0: minimum 3200 x 1200, current 3200 x 1200, maximum 3200 x 1200
default connected 3200×1200+0+0 0mm x 0mm
   3200×1200      50.0*

Et là vous vous dites c’est quoi ce bordel un seul écran de 3200×1200. Et bien oui, techniquement ou plutôt virtuellement c’est la réalité. Mais le plus important c’est de remarquer que Xrandr pense que "mon" écran ne peut pas afficher d’autre résolution que celle là (minimum, current, maximum).

Pas de souci, nous allons lui préciser ce que "mon" écran peut faire d’autre. Pour cela éditer votre fichier xorg.conf et modifier l’option metamodes comme suit.

Option         "metamodes" "CRT-0: 1600x1200_75 +0+0, CRT-1: 1600x1200_75 +1600+0; CRT-0: 1600x1200_75 +0+0; CRT-0: 1024x768_85 +0+0; CRT-0: 800x600_85 +0+0;"

Après un redémarrage de X (ctrl+alt+backspace) voilà le résultat de Xrandr.

 xrandr
Screen 0: minimum 800 x 600, current 3200 x 1200, maximum 3200 x 1200
default connected 3200×1200+0+0 0mm x 0mm
   3200×1200      50.0*

   1600×1200      51.0

   1024×768       52.0
   800×600        53.0

Vous pouvez mettre autant de metamodes que vous voulez, vous avez compris la syntaxe.

Passons à la commande permettant de changer rapidement de résolution :

xrandr -s 1024×768

Vous voilà en mono écran avec une résolution de 1024×768, et pour revenir en dual screen remplacer 1024×768 par 3200×1200.

Il ne vous reste plus qu’a vous créer des raccourcis sur votre bureau avec les options nécessaire.

Ils m’ont aidés :

Ce contenu a été publié dans Humeur. Vous pouvez le mettre en favoris avec ce permalien.