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.
Il existe des interfaces graphiques réalisant une partie des transformations de xrandr.
Lister et changer la résolution d'un écran
Lister les résolutions disponibles
Depuis un terminal en lancez la commande suivante.
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 CVT connected 1440x900+0+0 (normal left inverted right x axis y axis) 0mm x 0mm 1440x900 60.0 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 voyez 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. Il existe 4 sorties vidéo possibles : sortie VGA, sortie DVI, sortie LVDS pour la sortie principale d'un portable et sortie TV pour S-video.
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.
Les modes activés sont ceux/celui qui est directement suivi du signe *.
Fréquence listée dans les modes disponibles
Dimension de la fenêtre
Pour changer la résolution vers 1440x900 (plus haute fréquence disponible), tapez
xrandr -s 1440x900
60
La commande ci-dessous change la résolution à la nouvelle valeur de 1440×900 à 60 Hz :
xrandr -s 1440x900-r 60
Utiliser plusieurs écrans
Si par exemple nous voulons mettre le second écran sur le coté droit de l'écran principal et que l'écran principal ait une résolution de 1920x1200, nous pouvons taper
xrandr --output HDMI--pos 1920x0 --mode 1440x900 --rate 60
Ainsi, nous pouvons en déduire l'effet des paramètres.
- --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 (optionnel)
- --mode détermine le mode utilisé (optionnel)
- --rate la fréquence de l'écran, optionnel : par défaut c'est la plus grande valeur qui est appliquée.
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 actuellement pas listé dans les modes disponibles et que vous enragiez 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 à l'écran… 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 (c'est à dire sans voir ce que l'on tape!).
Nous allons utiliser les programmes complémentaires gtf et sed. Vous entrez la ligne de commande suivante (Attention, messieurs-dame les modificateurices, 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.
Ajouter une résolution avec Ubuntu 14.04
Prenons l'exemple de l'ajout d'une résolution de de 1366x768_60 sur une sortie VGA
- demander les infos pour la résolution
cvt 1366 768 60
- copier les infos données en retour
"1366x768_60.00" 85.25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync
- Essayer la résolution dans la console
xrandr --newmode "1366x768_60.00" 85.25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync
xrandr --addmode VGA1 1366x768_60.00
- Pour la persistance Créez un fichier et nommez-le 45x11-xrandr
Collez les 2 lignes ci-dessus dans ce fichier.
Lancez le navigateur de fichier en admin
sudo nautilus
Collez le fichier dans /etc/X11/Xsession.d/
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 Ubuntu 11.10 , Ubuntu 12.04 :
sudo apt-add-repository ppa:mdeslaur/testing sudo apt-get update sudo apt-get upgrade
puis redémarrer le serveur X ou l'ordinateur.
Pour Ubuntu 12.10 (X.Org 1.13.0 et xrandr 1.3.5), Ubuntu 13.04 (X.Org 1.13.3 et xrandr 1.3.5), il faut toujours préciser les paramètres « panning » et « scale » ensembles.
Exemple pour une sortie VGA 1280x800 pixels :
- mode « scale » :
xrandr --output VGA1 --mode 1280x800 --scale 1.5x1.5 --panning 1920x1200
- mode « panning » :
xrandr --output VGA1 --mode 1280x800 --scale 1x1 --panning 1920x1200
- revenir en mode « normal » :
xrandr --output VGA1 --mode 1280x800 --scale 1x1 --panning 1280x800
X Error of failed request: BadMatch (invalid parameter attributes) Major opcode of failed request: 140 (RANDR) Minor opcode of failed request: 7 (RRSetScreenSize) Serial number of failed request: 26 Current serial number in output stream: 28
Dans ce cas essayez :
xrandr --output VGA1 --scale 2x1 ; !-1
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
- XrandR : Ajouter un mode vidéo non listé (modeline) - wiki officiel anglophone.
Le fichier xorg.conf
A partir de la version 12.04 Precise Pangolin, la configuration de xorg.conf n'est plus nécessaire et même, ce fichier n'existe plus. Référez-vous utilement à Configurer son écran ou à configurer_son_ecran_old.
Contributeurs : ymulleneers azerttyu, Id2ndR, Ignace72, percherie.
Parties supprimées car incompréhensible et fausse : supprimé