ubuntu-fr

Communauté francophone des utilisateurs d'Ubuntu

 

[[xrandr]]

Piste: » xrandr


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.

Multi-écran

Ubuntu 9.04 (Jaunty Jackalope)

Voici un script qui détecte automatiquement le nombre d'écrans et adapte la résolution et la taille du serveur X en fonction de ce paramètre.

First="LVDS"
Second="VGA-0"
if [[ `xrandr -q | grep " connected" | wc -l` == 2 ]]
# if there is two screens connected, set the second one at the left to make a wide desktop
then xrandr --output $Second --left-of $First --output $First --mode 1600x1200
# else, set the only one as the only desktop available
else xrandr --output $First --pos 0x0
fi

Ubuntu 8.10 (Intrepid Ibex)

Ubuntu utilise un nouveau système qui gère la détection automatique de l'affichage, la résolution, la fréquence de rafraichissement, la rotation et le multi écran. L'outil présent dans Système → Préférences → Résolution de l'écran utilise XRandR.

Ne fonctionne pas sur certaines cartes Nvidia « doubles » (9800GX2 par exemple) qui ne supportent pas le multi-écran, les configurations doubles cartes RV515 (Radeon X1300/1550) : la première carte est reconnue pas la seconde.

Ubuntu 8.04 LTS (Hardy Heron)

Configurer « 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.

XRandR pour travailler a besoin de connaître la résolution maximale qu'il pourra 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 ».

Section "Screen"
	[…]
	SubSection "Display"
		[…]
		Virtual 2944 1968
		# largeur 2944 = 1920 + 1024
		# hauteur 1968 = 1200 + 768
	EndSubSection
EndSection

Il faut aussi définir les modes maximaux disponible, à l'aide de la directive MetaModes.

Section "Device"
	[…]
        #"MetaModes" "max_écran_1-max_écran_2 min_écran_1-min_écran_2" 
	Option "MetaModes" "1920x1200-1024x768 800x600-800x600"
	[…]
EndSection

À partir de maintenant, votre « xorg.conf » est opérationnel. Nous pouvons relancer le serveur X à l'aide de la fameuse combinaison de touches Ctrl+Alt+⇐).

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).

Si l'écran secondaire est branché avant l'ouverture de la session, le fonctionnement est perturbé.

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 permet de bénéficier d'une résolution de 1024×600 pixels sur la dalle LCD de 800×480 pixels du Eee PC 701.

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"

L'automatisation de l'augmentation de résolution est possible. Pour cela, 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

Pages sur le sujet


xrandr.txt · Dernière modification: Le 26/08/2010, 15:08 par 92.136.9.7
Le contenu de ce wiki est sous licence : CC BY-SA v3.0