Ceci est une ancienne révision du document !
XRandR
XRandR est un outil en ligne de commande qui utilise l'extension RandR de Xorg afin de gérer les paramètres d'affichage de vos écrans comme la taille, le redimensionnement, la rotation ou le multi-écran.
Le point fort de l'extension RandR est que cette dernière est directement implémentée dans Xorg et ne nécessite pas le redémarrage de X lorsque l'on souhaite par exemple changer sa résolution, brancher un 2e écran ou en utiliser plusieurs.
Lister et changer la résolution d'un écran
Lister les résolutions disponibles
Entrez, en tant qu'utilisateur, la commande
xrandr
Vous obtenez une réponse, variable suivant votre matériel et la configuration de votre serveur X, du type
Screen 0: minimum 320 x 200, current 2304 x 1024, maximum 8192 x 8192 LVDS1 connected 1024x768+1280+0 (normal left inverted right x axis y axis) 331mm x 207mm 1280x800 60.0 + 1024x768 60.0* 800x600 60.3 56.2 640x480 59.9 VGA1 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 0mm x 0mm 1024x768 60.0* 800x600 60.3 56.2 848x480 60.0 640x480 59.9 TV1 unknown connection (normal left inverted right x axis y axis) 848x480 59.9 + 640x480 59.9 + 1024x768 59.9 800x600 59.9
Vous voyer apparaître les noms des modes écrans disponibles en première colonne et les différentes fréquences de rafraîchissement disponibles en seconde colonne. Les noms des écrans apparaissent en MAJUSCULES et leur statu suit. Les modes activé sont ceux/celui qui est directement suivi du signe *.
Fréquence listée dans les modes disponibles
Fréquence non listée dans les modes disponibles
Imaginons que vous ayez lu le manuel de votre écran et que vous y aviez lu que le mode 1280x1024 à 60Hz était supporté mais que ce mode n'est aucunement pas listé dans les modes disponibles et que vous enrager de ne pouvoir profiter des possibilités de votre écran. Nous allons imposer la résolution de l'écran à cette dimension et cette fréquence avec xrandr. Nous ne modifierons pas le fichier de configuration de Xorg. Mais, si ce mode n'est pas supporté, nous obtiendrons un message "Frequency out of range" et nous ne verrons plus rien… Nous pourrons éventuellement revenir à une résolution et une fréquence supportée en utilisant le paragraphe "Fréquence listée dans les modes disponibles" en aveugle.
Nous allons utiliser les programmes complémentaires gtf et sed, que vous trouverez dans le dépôt . Vous entrez la ligne de commande suivante (Attention, messieurs les modificateurs, il y a truc non-trivial…), vous devriez bien entendu adapter les nombres 1280, 1024 et 60 à votre résolution cible,
xrandr --newmode $(gtf 1280 1024 60 | sed -ne 's/"//g;s/ Modeline //p')
Bravo, vous avez défini un mode nommé 1280x1024_60.00 ou un nom adapté à votre résolution cible. Maintenant, il ne vous reste plus qu'à l'autoriser pour l'écran récalcitrant. Imaginons que le nom de cet écran soit VGA1.
xrandr --addmode VGA1 1280x1024_60.00
Toutes mes félicitation vous pouvez maintenant utiliser un programme graphique pour changer la résolution de cet écran. Par exemple, par le biais de la configuration du système → Affichage. Ou vous référer à la section "mode listé dans les modes disponibles" ci-dessus.
Multi-écran
Configurer « xorg.conf »
Afin de pouvoir utiliser XRandR pour l'affichage multi-écran, il faut réaliser une petite modification dans le fichier xorg.conf. Ces instructions ont été conçues pour la version 11.10 (Oneiric Ocelot), mais devraient rester valides sur les versions ultérieures.
Préparation de xorg.conf
Pour la suite de l'explication, nous partons du principe que la configuration de base marche comme il faut pour un seul écran. Si ce n'est pas le cas ou, pour les versions les plus récentes, si le fichier ne se trouve pas dans le dossier /etc/X11/, il faudra vous référer à la page dédiée à X.org. En résumé, les commandes suivantes généreront un xorg.conf de base:
Cartes ATI
sudo aticonfig --initial
Cartes nVidia
sudo nvidia-xconfig
Cas générique
Fermer la session courante, puis basculer dans un terminal avec Ctrl+F1. Ouvrir une session avec l'utilisateur habituel, puis exécuter :
sudo service gdm stop sudo X -configure # uniquement si un fichier xorg existe déjà: sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak-avant-XRandR # dans tous les cas: sudo mv ~/xorg.conf.new /etc/X11/xorg.conf sudo service gdm start
Le cas échéant, remplacer gdm par kdm si votre environnement habituel est KDE. Pour revenir en mode graphique, appuyer sur Ctrl+F7.
sudo service lightdm stop sudo X -configure # uniquement si un fichier xorg existe déjà: sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak-avant-XRandR # dans tous les cas: sudo mv ~/xorg.conf.new /etc/X11/xorg.conf sudo service lightdm start
Il sera peut-être nécessaire de redémarrer pour quel la nouvelle configuration prenne effet. Si la configuration créée ainsi ne fonctionne pas, il est toujours possible de rétablir le fichier de sauvegarde avec les commandes suivantes:
sudo rm /etc/X11/xorg.conf sudo mv /etc/X11/le_nom_du_fichier_de_sauvegarde /etc/X11/xorg.conf
Modifications de xorg.conf
XRandR a besoin de connaître la résolution maximale qu'il devra gérer, c'est à dire la résolution cumulée des 2 écrans. Dans l'exemple nous partons du principe que nous aurons une résolution maximale de 2944×1968 soit :
- pour le premier écran 1920×1200
- pour le second écran 1024×768
Cette résolution maximale est définie à l'aide de la directive « Virtual », toujours dans le fichier xorg.conf.
Section "Screen" […] SubSection "Display" […] Virtual 2944 1968 # largeur 2944 = 1920 + 1024 # hauteur 1968 = 1200 + 768 EndSubSection EndSection
À partir de maintenant, votre « xorg.conf » est opérationnel. Nous pouvons relancer le serveur X pour appliquer la nouvelle configuration. Pour ce faire, il faut fermer la session courante, et utiliser la fameuse combinaison de touches AltGr+Impr. écran+K (Ctrl+Alt+⇐ sur les anciennes versions).
Gérer les écrans
Préparation
À partir de maintenant il est possible de jouer avec ses écrans. Depuis un terminal en lançant la commande :
xrandr
Au tout début du résultat vous devez obtenir grosso modo
Screen 0: minimum 320 x 200, current 2944 x 1200, maximum 2944 x 1968 VGA-0 connected 1024x768+1920+0 (normal left inverted right) 408mm x 255mm [....] DVI-0 disconnected (normal left inverted right) LVDS connected 1920x1200+0+0 (normal left inverted right) 0mm x 0mm [....] S-video disconnected (normal left inverted right)
Ce résultat indique qu'il existe 4 sorties vidéo possibles :
- VGA-0 pour la sortie VGA externe
- DVI-0 une sortie DVI
- LVDS pour la sortie principale d'un portable
- S-video sortie TV
Attention, il n'est pas nécessaire d'avoir sur votre ordinateur toutes les sorties détectées par XRandR. Certaines peuvent être bridées par le constructeur.
Si dans la ligne commençant par Screen, maximum contient bien les valeurs définies pour Virtual, tout est bon. Autrement vous devez revérifier votre configuration.
Interface graphique
Pour Gnome : installez ce paquet grandr (dépôt universe).
Il existe maintenant ARandR (dépôt universe) qui est certes en anglais mais qui permet un réglage plus complet et différent pour chaque utilisateur.
Ligne de commande
Positionner le deuxième écran
Comme exemple nous allons mettre le second écran sur le coté droit de l'écran principal. Par défaut l'écran principal est actif et réglé en 1920x1200. Il faut donc juste activer le second écran et le positionner au bon endroit.
xrandr --output VGA-0 --pos 1920x0 --mode 1024x768 --rate 75.1
Où :
- --output détermine l'écran à configurer
- --pos positionne l'écran dans l'espace virtuel, dans cet exemple l'écran sera décalé de 1920 px vers la droite et de 0 vers le bas. Soit tout simplement à droite de l'écran principal.
- --mode détermine la résolution de l'écran
- --rate la fréquence de l'écran, par défaut c'est la plus grande valeur qui est appliquée ce qui peut ne pas plaire à l'écran.
Pour tester d'autres configurations, vous êtes invité à regarder la documentation de XRandR.
Vous pouvez aussi consulter cette documentation qui a servi de base aux explications précédentes.
Fréquence de rafraîchissement
Après installation du paquet XXX (installé par défaut sous Ubuntu), la commande ci-dessous impose la résolution 1024×768 à 75 Hz :
xrandr -s 1024x768 -r 75
Résolution virtuelle
La résolution virtuelle consiste à définir une résolution plus grande que pourrait supporter l'écran.
Mode « panning »
La taille d'affichage n'est pas modifiée mais on peut déplacer son écran au sein de cette résolution virtuelle. Ce serait comme si on utilisait une lucarne pour visionner une partie d'un paysage et qu'on la déplaçait.
Exemple d'une résolution virtuelle de 1024x800 pixels pour un Eee PC 901 disposant d'un écran de 1024x600 pixels.
xrandr --output LVDS1 --panning 1024x800
Pour restaurer la résolution d'origine du Eee PC 901.
xrandr --output LVDS1 --panning 1024x600
Mode « scale »
Vous pouvez augmenter artificiellement la résolution native à une résolution supérieure de celle supportée par la dalle LCD. Contrairement à la résolution virtuelle, tout le contenu est visible mais redimensionné.
Exemple pour bénéficier d'une résolution de 1024×600 pixels sur la dalle LCD de 800×480 pixels du Eee PC 701. Le paramètre scale
est un facteur appliqué à la largeur x hauteur.
xrandr --output LVDS1 --mode "800x480" --scale "1.28x1.25"
Pour restaurer la résolution d'origine du Eee PC 701.
xrandr --output LVDS1 --mode "800x480" --scale "1x1"
Bug des modes « panning » et « scale »
Depuis la version 11.10 d'Ubuntu, les modes « panning » et « scale » ne fonctionnent plus correctement. Pour corriger le problème :
sudo apt-add-repository ppa:mdeslaur/testing sudo apt-get update sudo apt-get upgrade
puis redémarrer le serveur X ou l'ordinateur.
Conserver les paramètres
L'automatisation de l'augmentation de résolution est possible. Créez le fichier /etc/X11/Xsession.d/45x11-xrandr et collez-y le code suivant :
xrandr --verbose --output LVDS1 --mode "800x480" --scale "1.28x1.25"
Enregistrez et quittez. Dorénavant, la résolution sera augmentée automatiquement lors de chaque connexion.
Voir aussi
- Gérer son/ses écran(s) avec XRandR ( lien cassé)
- Faire du multi-écrans avec XRandR
- XrandR : Ajouter un mode vidéo non listé (modeline) - wiki officiel anglophone.