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
xrandr [Le 11/09/2012, 12:26]
ymulleneers [Lister les résolutions disponibles] signe *
xrandr [Le 11/09/2022, 11:56] (Version actuelle)
moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
Ligne 1: Ligne 1:
-{{tag>Hardy écran personnalisation ​vétuste}}+{{tag>Focal écran personnalisation ​résolution}}
  
 ---- ----
Ligne 5: Ligne 5:
 ====== 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.+**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 [[multi-écran|en utiliser plusieurs]].+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 deuxième ​écran ou [[:multi-écran|en utiliser plusieurs]].
  
 +Il existe des interfaces graphiques réalisant une partie des transformations de xrandr :
  
 +  * Voir la page [[:​configurer_son_ecran|sur comment configurer son écran]] pour les interfaces graphiques par défaut.
 +  * **[[apt>​LXRandR]]** (installé par défaut sous [[:​Lubuntu]]).
 +  * **[[https://​debian-facile.org/​doc:​environnements:​x11:​arandr|ARandR]]** : très utile pour gérer le multi-écran avec LXDE (Lubuntu). Permet de régler l'​emplacement d'un écran activé mais qui n'est pas connecté (écran virtuel qui peut être partagé via vnc)
  
-===== Lister et changer la résolution d'un écran ===== 
  
-==== Lister les résolutions disponibles ====+===== Configuration ===== 
 +==== Connaitre la configuration xrandr actuelle ==== 
 +Avant de jouer avec xrandr, il est souvent utile de connaitre la configuration xrandr actuelle. Voici une astuce super utile : utiliser l'​application arandr : 
 +  - Installer **[[apt>​arandr]]** 
 +  - Lancer //​arandr//​ 
 +  - (optionnel) changer la configuration de vos écrans 
 +  - Menu //​Disposition//​ => commande //​Enregisrter sous...// 
 +  - Choisir un fichier 
 +  - Ouvrir le fichier dans un éditeur de texte et vous verrez la commande //xrandr// complète 
 +==== Lister ​les sorties et les résolutions disponibles ====
  
-Entrez, en tant qu'​utilisateur, la commande+Pour lister les résolutions disponiblesdepuis un [[:​terminal]] lancez ​la commande ​suivante: <​code>​xrandr</​code>​
  
-    ​xrandr+Vous obtenez une réponse, variable suivant votre matériel et la configuration de votre serveur X, du type : <code bash> 
 +Screen 0: minimum 320 x 200, current 1366 x 768, maximum 32767 x 32767 
 +eDP1 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 345mm x 194mm 
 +   ​1366x768 ​      ​60.0*+ 
 +   ​1360x768 ​      ​59.8 ​    ​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 
 +</​code>​
  
-Vous obtenez une réponse, variable suivant votre matériel ​et la configuration ​de votre serveur X, du type+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.
  
-    Screen 0minimum 320 x 200current 2304 x 1024maximum 8192 x 8192 +Les noms des écrans apparaissent en MAJUSCULES et leur statut suit.  Il existe 5 sorties vidéo possibles ​sortie VGAsortie DVIsortie HDMI, sortie LVDS pour la sortie principale d'un portable et sortie TV pour S-videoLes écrans utilisables sont marqués « connected ​», leurs noms seront utilisés avec la commande « -- output ».
-    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 *. +Attention, il n'est pas nécessaire d'​avoir sur votre ordinateur toutes ​les sorties détectées par XRandRCertaines peuvent être bridées par le constructeur.
-==== Fréquence listée dans les modes disponibles ====+
  
-FIXME+Les modes activés sont directement suivis du signe *.
  
-==== Fréquence non listée dans les modes disponibles ====+==== Lister ​les propriétés ​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.+L'option ''​%%--%%prop''​ permet d'​obtenir un affichage encore plus détaillé ​des propriétés disponibles. 
 +<​code>​ 
 +usr@pc:~$ xrandr --prop 
 +</​code>​ 
 +La sortie ​de cette commande renvoie une information analogue à l'affichage ci-dessous : 
 +<​code>​ 
 +Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192 
 +HDMI-1 disconnected (normal left inverted right x axis y axis) 
 + aspect ratio: Automatic  
 + supported:​ Automatic, 4:3, 16:9 
 + Broadcast RGB: Automatic  
 + supported:​ Automatic, Full, Limited 16:235 
 + audio: auto  
 + supported:​ force-dvi, off, auto, on 
 + non-desktop:​ 0  
 + range: (0, 1) 
 + link-status:​ Good  
 + supported:​ Good, Bad 
 +HDMI-2 disconnected (normal left inverted right x axis y axis) 
 + aspect ratio: Automatic  
 + supported:​ Automatic, 4:3, 16:9 
 + Broadcast RGB: Automatic  
 + supported:​ Automatic, Full, Limited 16:235 
 + audio: auto  
 + supported:​ force-dvi, off, auto, on 
 + non-desktop:​ 0  
 + range: (0, 1) 
 + link-status:​ Good  
 + supported:​ Good, Bad 
 +DP-1 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm 
 + Broadcast RGB: Automatic  
 + supported:​ Automatic, Full, Limited 16:235 
 + audio: auto  
 + supported:​ force-dvi, off, auto, on 
 + non-desktop:​ 0  
 + range: (0, 1) 
 + link-status:​ Good  
 + supported:​ Good, Bad 
 +   ​1024x768 ​     60.00   
 +   ​800x600 ​      60.32    56.25   
 +   ​848x480 ​      60.00   
 +   ​640x480 ​      59.94   
 +   ​1366x768_60.00  59.80*  
 +HDMI-3 disconnected (normal left inverted right x axis y axis) 
 + aspect ratio: Automatic  
 + supported:​ Automatic, 4:3, 16:9 
 + Broadcast RGB: Automatic  
 + supported:​ Automatic, Full, Limited 16:235 
 + audio: auto  
 + supported:​ force-dvi, off, auto, on 
 + non-desktop:​ 0  
 + range: (0, 1) 
 + link-status:​ Good  
 + supported:​ Good, Bad 
 +</​code>​ 
 +==== Fréquence listée dans les modes disponibles ​==== 
 +=== Dimension de la fenêtre=== 
 +Pour changer la résolution vers 1440x900 (plus haute résolution disponible d'​après la réponse du terminal), tapez dans un [[:​terminal]]:​ <​code>​xrandr -s 1440x900</​code>​
  
-Nous allons utiliser les programmes complémentaires **//gtf//** et **//​sed//​**,​ que vous trouverez dans le dépôt FIXME. ​ 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, ​+=== Fréquences ​de rafraîchissement ===
  
-       xrandr --newmode $(gtf 1280 1024 60 | sed -ne '​s/"//​g;​s/​ Modeline //p')+La commande ci-dessous change la fréquence à la nouvelle valeur de 1440×900 à 60 Hz : <​code>​xrandr -s 1440x900 ​-60</code>  ​
  
-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//.+=== Utiliser plusieurs écrans ===
  
-    ​xrandr --addmode VGA1 1280x1024_60.00+Si par exemple vous souhaitez mettre le second écran connecté en HDMI sur le coté droit de l'​écran principal et que l'​écran principal ait une résolution de ''​1920x1200'', ​ nous pouvons entrer dans un terminal : <​code>​xrandr --output HDMI --pos 1920x0 --mode 1440x900 --rate 60</​code>​
  
-Toutes mes félicitation vous pouvez maintenant utiliser un programme graphique pour changer la résolution de cet écran. Par exemplepar le biais de la configuration du système -> Affichage. ​ Ou vous référer à la section "mode listé dans les modes disponibles"​ ci-dessus.+Ainsinous 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.
  
-===== Multi-écran ===== +**%%Exemples ​de configuration ​multi-écrans (multi screen, dual screenmirror screen, clone screen...)%%** 
-==== Configurer « xorg.conf » ==== +  
-Afin de pouvoir utiliser XRandR pour l'​affichage ​multi-écranil faut réaliser une petite modification dans le fichier xorg.conf. +Pour chaque configurationmettez ​la ou les lignes suivantes ​dans **%%/etc/X11/Xsession.d/​45x11-xrandr%%** 
-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 tester après une modification de configuration, il suffit de fermer puis réouvrir une session. 
-Pour la suite de l'​explicationnous 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 ​à [[xorg|X.org]]. En résuméles commandes suivantes généreront un xorg.conf de base: + 
-== Cartes ATI ==+  * **%%Deux écrans cote à cote : %%** 
 +DP-2 est l'​écran principal, DP-1 est **%%à droite%%** de DP-2résolutions différentes ​:
 <​code>​ <​code>​
-sudo aticonfig ​--initial+xrandr ​--output DP-2 --mode 1680x1050 --primary 
 +xrandr --output DP-1 --mode 1280x1024 --right-of DP-2
 </​code>​ </​code>​
-== Cartes nVidia == 
-<​code>​ 
-sudo nvidia-xconfig 
-</​code>​ 
-== Cas générique == 
-FIXME Fermer la session courante, puis basculer dans un terminal avec Ctrl+F1. Ouvrir une session avec l'​utilisateur habituel, puis exécuter : 
-<​code>​ 
-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 
-</​code>​ 
- 
-Le cas échéant, remplacer gdm par kdm si votre environnement habituel est KDE. Pour revenir en mode graphique, appuyer sur Ctrl+F7. 
  
-<​note>​ +Vous pouvez adapter la position ​de l'​écran secondaire avec **%% --left-of--right-of, --above, --below%%** en fonction ​de vos besoins.
-A partir ​de 11.10LightDM est utilisé a la place de GDM sous Ubuntu et XubuntuAinsi donc, les commandes a utiliser sont plutôt:+
  
 +  * **%%Deux écrans clonés, résolutions identiques (Clone dual screen) : %%**
 +DP-2 est l'​écran principal, DP-1 est identique à DP-2, les résolutions sont identiques :
 <​code>​ <​code>​
-sudo service lightdm stop +xrandr ​--output DP-2 --mode 1280x1024 --output DP-1 --same-as DP-2
-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+
 </​code>​ </​code>​
  
-</​note>​ +  * **%%Deux écrans clonés, résolutions différentes (Clone dual screen) : %%** 
- +DP-3 est l'​écran principalDP-1 est identique à DP-3, les résolutions sont différentes ​:
-Il sera peut-être nécessaire de redémarrer pour quel la nouvelle configuration prenne effet. Si la configuration créée ainsi ne fonctionne pasil est toujours possible de rétablir le fichier de sauvegarde avec les commandes suivantes:+
 <​code>​ <​code>​
-sudo rm /​etc/​X11/​xorg.conf +xrandr --output DP-3 --mode 1280x1024 --scale 1x1 --output DP-1 --same-as DP-3 --scale 1.25x1.33
-sudo mv /​etc/​X11/​le_nom_du_fichier_de_sauvegarde /​etc/​X11/​xorg.conf+
 </​code>​ </​code>​
 +Ici, la résolution de l'​écran **%%principal%%** est **%%1280x1024%%**,​ celle de l'​écran **%%secondaire%%** est **%%1024x768%%**.
  
-=== Modifications de xorg.conf === +NB : L'échelle déclarée pour l'écran secondaire (1.25x1.33) est obtenue en divisant les dimensions de l'​écran **%%principal%%** par celles de l'écran ​**%%secondaire%%**.
-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.+Ici  : 1280/​1024=**%%1.25%%** et 1024/​768=**%%1.33%%** 
 +==== Fréquence non listée dans les modes disponibles ====
  
-<​file>​ +Il est tout à fait possible que votre écran supporte le mode //1280x1024 à 60Hz// mais que ce mode ne soit actuellement pas listé dans les modes disponibles. Dans ce cas vous pouvez imposer la résolution de l'​écran à cette dimension et cette fréquence avec ''​xrandr''​. Mais, si ce mode n'est pas supporté, vous obtiendrez un message ''​Frequency out of range''​ et vous ne verrez plus rien à l'​écran... Vous pourrez éventuellement revenir à une résolution et une fréquence supportées en utilisant le paragraphe ​[[#Fréquence listée dans les modes disponibles|Fréquence listée dans les modes disponibles]] en aveugle (c'est à dire sans voir ce que l'on tape!).
-Section "​Screen"​ +
- […] +
- SubSection "​Display"​ +
- […] +
- Virtual 2944 1968 +
- largeur 2944 = 1920 + 1024 +
- # hauteur 1968 = 1200 + 768 +
- EndSubSection +
-EndSection +
-</​file>​+
  
-À partir de maintenantvotre « xorg.conf » est opérationnelNous pouvons relancer le serveur X pour appliquer ​la nouvelle configuration. Pour ce faireil faut fermer la session courante, et utiliser la fameuse combinaison de touches AltGr+Impr. écran+K ​(Ctrl+Alt+⇐ sur les anciennes versions)+Pour obtenir un mode non listéutilisez les programmes complémentaires **//gtf//** et **//sed//** Vous entrez ​la ligne de commande suivantevous devriez bien entendu adapter les nombres 12801024 et 60 à votre résolution cible : 
-===== Gérer les écrans =====+<​code>​xrandr --newmode $(gtf 1280 1024 60 | sed -ne '​s/"//​g;​s/​ Modeline //p')</​code>​
  
-==== Préparation ====+Vous avez normalement 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//. 
 +<​code>​xrandr --addmode VGA1 1280x1024_60.00</​code>​ 
 +Vous pouvez maintenant utiliser un programme graphique pour changer la résolution de cet écran. Par exemple, par le biais de la [[:​configurer_son_ecran|méthode graphique]] ou par celle décrite à la section [[#​Fréquence listée dans les modes disponibles]] ci-dessus.
  
-À partir de maintenant ​il est possible ​de jouer avec ses écrans. +==== Activer la résolution choisie ==== 
-Depuis un [[:terminal]] en lançant la commande : +Il reste maintenant ​à appliquer cette résolution soit (liste non exhaustive) : 
 +  * En ligne de commande : <​code>​xrandr --output <​SortieEcran>​ --mode <​NomDuMode>​ </​code>​ 
 +  * En sélectionnant dans les [[:configurer_son_ecran|paramètres d'​affichage]] le nouveau mode, 
 +  * En sélectionnant dans ArandR ce nouveau mode.
  
-<​code>​xrandr</​code>​+Maintenant que la nouvelle résolution fonctionne, il faut l'​activer pour l'​avoir au prochain ​ démarrage de l'​ordinateur. Une solution consiste à créer un script avec nos deux commandes et de le lancer au démarrage. Avec notre exemple, [[:​tutoriel:​comment_modifier_un_fichier|créez un fichier]] **Resolution.sh** avec ce qui suit comme contenu : 
 +<​code ​bash> 
 +#​!/​bin/​bash/​ 
 +xrandr ​--addmode HDMI 1440x900_60 
 +xrandr --output HDMI --mode 1440x900_60 
 +exit 0; 
 +</​code>​ 
 +rendez votre script [[:​tutoriel:​script_shell#​executer_un_script|éxécutable]] et ajoutez-le enfin [[:​tutoriel:​application_demarrage|aux applications au démarrage]] (cf. point suivant pour une explication détaillée de la procédure de créatoin d'un script). 
 +<​note>​Autre solution, sous Lubuntu (du moins la 16.04) : pour activer la résolution voulue aux prochaines démarrages,​ il suffit d'​ouvrir l'​éditeur des [[:​configurer_son_ecran#​lubuntu|paramètres d'​affichage de Lubuntu]] et d’enregistrer la configuration (bouton "​Enregistrer"​) pour que le système retrouve la résolution à l'​avenir.</​note>​ 
 +==== Ajouter une résolution non listée==== 
 +La résolution de votre écran n'est pas disponible par défaut. C'est rare et ça arrive, on va voir comment gérer cela.
  
-Au tout début du résultat vous devez obtenir grosso modo+Commencez par identifier votre écran : 
 +<code bash>​xrandr | awk '/​connected [^(]/{print $1}'</​code>​
  
-<​code>​ +Par exemple comme réponse vous avez "eDP-1-1" comme identifiant,​ vous aurez à le remplacer par le votre dans les prochaines commandes.
-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) +
-</​code> ​+
  
-Ce résultat indique qu'il existe 4 sorties vidéo possibles : +Si vous désirez essayer avec une résolution de 1920x1080 en 60hz (n.b. vérifiez si la carte graphique le supporte avant) 
-  * VGA-0 pour la sortie VGA externe +Tapez la commande : 
-  * DVI-0 une sortie DVI +<code bash>gtf 1920 1080 60</​code>​
-  * 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.+En retour vous aurez : <code bash># 1920x1080 @ 60.00 Hz (GTF) hsync: 67.08 kHz; pclk: 172.80 MHz 
 +Modeline "​1920x1080_60.00" ​ 172.80 ​ 1920 2040 2248 2576  1080 1081 1084 1118  -HSync +Vsync</​code>​ 
 +   
 +Ce qui nous intéresse ici est la seconde ligne (# est toujours suivi d'un commentaire)
  
-Si dans la ligne commençant par **Screen**, **maximum** contient bien les valeurs définies pour **Virtual**,​ tout est bonAutrement vous devez revérifier votre configuration.+Pour ajouter ​la résolution depuis xrandr cela donne donc : 
 +<code bash>​xrandr --newmode "​1920x1080_60.00" ​ 172.80  1920 2040 2248 2576  1080 1081 1084 1118  -HSync +Vsync</​code>​
  
-==== Interface graphique ====+et donc pour l'​ajouter au menu ("​eDP-1-1"​ sera à remplacer par votre identifiant d'​écran) tapez : 
 +<code bash>​xrandr --addmode eDP-1-1 1920x1080_60.00</​code>​
  
-Pour [[:Gnome]] : [[:​tutoriel:​comment_installer_un_paquet|installez ce paquet]] **[[apt://​grandr|grandr]]** (dépôt universe).+Pour changer de résolution depuis le terminal ​: 
 +<code bash>​xrandr -s 1920x1080_60.00<​/code>
  
-<​note>​Si l'​écran secondaire est branché avant l'​ouverture de la session, le fonctionnement est perturbé.</​note>​+Cependant au redémarrageces modifications seront perdues, d'​ou ​le chapitre suivant
  
-Il existe maintenant  ​**[[apt://arandr|ARandR]]** (dépôt universe) qui est certes ​en anglais mais qui permet un réglage plus complet et différent pour chaque utilisateur.+<note tip>Une autre méthode consiste à regarder les choix disponibles en lançant ​**arandr** ​puis en regardant les lignes de commandes xrandr avec le nom du ou des sorties dans le menu **Sortie**.</​note>​
  
-==== Ligne de commande ==== 
  
-=== Positionner le deuxième écran ​===+=== Rendre persistantes les modifications ​===
  
-Comme exemple nous allons mettre ​le second écran sur le coté droit de l'​écran principal+== Créer ​le script == 
-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.+Reprenez les commandes précédentes (en modifiant les commandes au besoin) : 
 +<file bash>#​!/​bin/​sh 
 +xrandr --newmode "​1920x1080_60.00" ​ 172.80  1920 2040 2248 2576  1080 1081 1084 1118  -HSync +Vsync 
 +xrandr --addmode eDP-1-1 1920x1080_60.00 
 +xrandr -s 1920x1080_60.00</​file>​ 
 +'Ctrl+X'​ pour quitter, n'​oubliez pas de sauvegarder ​en tapant "​o"​.
  
-  xrandr --output VGA-0 --pos 1920x0 --mode 1024x768 --rate 75.1 
  
-Où : +== Lancer le script via /​etc/​X11/​Xsession.d/​ == 
-  * **%%--output%%** détermine l'​écran ​à configurer +La première méthode consiste ​à [[:​tutoriel:​comment_modifier_un_fichier|créer le fichier]] ​**45x11-xrandr** avec les [[:​sudo|droits d'administration]] ​dans **/​etc/​X11/​Xsession.d/​**, en y mettant le script.
-  ​* **%%--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'​écranpar 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 [[http://troumad.developpez.com/​linux/​serveurx/​xorg/#L4|cette documentation]] qui a servi de base aux explications précédentes.+== Lancer le script via ~/.xprofile == 
 +Créez un fichier "~/.xprofile"​ et copiez y le script
  
-=== Fréquence de rafraîchissement ​ ===+== Lancer le script via le lancement d'​application au démarrage ​== 
 +Une autre méthode, peut-être plus artisanale mais efficace, consiste à préparer un script qui sera lancé avec applications au démarrage.
  
-Après installation du paquet XXX (installé par défaut sous Ubuntu), la commande ci-dessous impose la résolution ​ 1024×768 à 75 Hz :+Ajouter au script précédent : 
 +<​code>#​!/​bin/​bash 
 +gsettings set org.gnome.desktop.background picture-uri file:///​usr/​share/​backgrounds/​Xerus_Wallpaper_Grey_4096x2304.png 
 +gsettings set org.gnome.desktop.background picture-uri file:///​usr/​share/​backgrounds/​TCP118v1_by_Tiziano_Consonni.jpg 
 +exit 0; 
 +</​code>​
  
-<​code>​xrandr -s 1024x768 -r 75</​code>​+Le script est enregistré dans un fichier texte (adapt_resolution.sh par exemple) auquel les droits d’exécution sont accordés : 
 +<​code>​ 
 +chmod gua+x  adapt_resolution.sh 
 +</​code>​ 
 +Ensuite, sélectionner « applications au démarrage » parmi les applications d'​Ubuntu. 
 +{{ ::​rchrapplic.png?​nolink&​600 |}} 
 +Choisir « Ajouter » parmi les options proposées : 
 +{{ :​administration:​applicdemar.png?​nolink&​600 |}}
  
 +Rechercher le script dans l'​arborescence,​ compléter le nom donné à la commande ainsi que les commentaires puis cliquer sur « Ajouter » (l'​image d'​illustration correspond à une fenêtre de modification où « Ajouter » a été remplacé par « Enregistrer ») :
 +{{ :​administration:​pgmdemarr.png?​nolink&​600 |}}
 +Désormais le script se lancera automatiquement à chaque connexion de l'​utilisateur (dès la prochaine connexion).
  
-===== Résolution virtuelle ===== 
  
-La résolution virtuelle consiste à définir une résolution plus grande que pourrait supporter ​l'écran.+==== Pivoter ​l'affichage ====
  
-==== Mode « panning » ====+Pour pivoter l'​affichage (utilisation d'un écran en mode portrait par exemple), il est nécessaire d’utiliser l'​option ''​%%--%%rotate''​ suivie du sens de rotation et précédée du nom de l'​écran concerné. ​
  
-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.+Les options de rotation disponibles sont : 
 +|''​normal''​ | orientation par défaut (selon l'écran, généralement paysage ou portrait) | 
 +|''​left''​ | pivoté ​de 90° vers la gauche par rapport à l’orientation « normal » | 
 +|''​right''​ | pivoté de 90° vers la droite par rapport à l’orientation « normal » | 
 +|''​inverted''​ | pivoté de 180° (à l'​envers) par rapport à l'​orientation « normal » | 
  
-Exemple d'une résolution virtuelle de 1024x800 pixels ​pour un [[asus_eee_pc_901|Eee PC 901]] disposant d'un écran de 1024x600 pixels.+Ainsi, ​pour un écran nommé « eDP1 » dont l'affichage doit être tourné vers la gauche, la commande sera la suivante : 
 +<​code>​ 
 +usr@pcx:~$ xrandr --output eDP1 --rotate left 
 +</​code>​
  
-<​code>​xrandr --output LVDS1 --panning 1024x800</​code>​ 
  
-Pour restaurer la résolution d'​origine du [[asus_eee_pc_901|Eee PC 901]].+===== Résolution virtuelle =====
  
-<​code>​xrandr --output LVDS1 --panning 1024x600</​code>​+La résolution virtuelle consiste à définir une résolution plus grande que pourrait supporter l'​écran.
  
-==== Mode « scale » ====+==== Modes « panning » et « scale »==== 
 +Avec le 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.
  
-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é.+Avec le 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 [[asus_eee_pc_701|Eee PC 701]]. Le paramètre ''​scale''​ est un facteur appliqué à la largeur x hauteur. 
  
-<​code>​xrandr --output LVDS1 --mode "​800x480"​ --scale "1.28x1.25"</​code>​+Il faut préciser les paramètres « panning » et « scale » ensembles.
  
-Pour restaurer la résolution d'​origine du [[asus_eee_pc_701|Eee PC 701]].+Exemple pour une sortie VGA 1280x800 pixels : 
 +  * mode « scale » : 
 +<​code>​xrandr --output VGA1 --mode 1280x800 --scale 1.5x1.5 --panning 1920x1200</​code>​ 
 +  * mode « panning » : 
 +<​code>​xrandr --output VGA1 --mode 1280x800 --scale 1x1 --panning 1920x1200</​code>​ 
 +  * revenir en mode « normal » : 
 +<​code>​xrandr --output VGA1 --mode 1280x800 --scale 1x1 --panning 1280x800</​code>​
  
-<​code>​xrandr --output ​LVDS1 --mode "​800x480" ​--scale ​"​1x1"​</​code>​+<note important>​ 
 +Après plusieurs changements de mode, il est possible qu'une erreur similaire à celle ci-dessous se produise. 
 +<​code>​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</​code>​ 
 +Dans ce cas essayez : 
 +<​code>​xrandr --output ​VGA1 --scale ​2x1 ; !-1</code
 +</note>
  
-==== Bug des modes « panning » et « scale » ====+==== NVidia : "​BadMatch"​ error ==== 
 +Si vous avez une erreur de ce type en ajoutant une résolution à une sortie vidéo : 
 +<code bash> 
 +xrandr --addmode HDMI-0 1400x1050_57.20 
 +  X Error of failed request: ​ BadMatch (invalid parameter attributes) 
 +  Major opcode of failed request: ​ 140 (RANDR) 
 +  Minor opcode of failed request: ​ 18 (RRAddOutputMode) 
 +  Serial number of failed request: ​ 31 
 +  Current serial number in output stream: ​ 32 
 +</​code>​ 
 +   
 +Vous pouvez créer un fichier **[[xorg|xorg.conf]]** en adaptant les données : 
 +  
 +<file xorg.conf>​ 
 +# nvidia-settings:​ X configuration file generated by nvidia-settings 
 +# nvidia-settings: ​ version 361.42 ​ (buildd@lgw01-18) ​ Tue Apr  5 14:33:28 UTC 2016 
 + ​Section "​ServerLayout"​ 
 +    Identifier ​    "​Layout0"​ 
 +    Screen ​     0  "​Screen0"​ 0 0 
 +    InputDevice ​   "​Keyboard0"​ "​CoreKeyboard"​ 
 +    InputDevice ​   "​Mouse0"​ "​CorePointer"​ 
 +    Option ​        "​Xinerama"​ "​0"​ 
 + ​EndSection 
 + ​Section "​Files"​ 
 + ​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"​ 
 + ​EndSection 
 + ​Section "​Monitor"​ 
 +    # HorizSync source: edid, VertRefresh source: edid 
 +    Identifier ​    "​Monitor0"​ 
 +    VendorName ​    "​Unknown"​ 
 +    ModelName ​     "NT@ LCD MONITOR"​ 
 +    HorizSync ​      28.0 - 66.0 
 +    VertRefresh ​    48.0 - 75.0 
 +    Option ​        "​DPMS"​ 
 +    Modeline "​1400x1050_57.20" ​ 115.75 ​ 1400 1488 1632 1864  1050 1053 1057 1088 -hsync +vsync 
 +  EndSection 
 + ​Section "​Device"​ 
 +    Identifier ​    "​Device0"​ 
 +    Driver ​        "​nvidia"​ 
 +    VendorName ​    "​NVIDIA Corporation"​ 
 +    BoardName ​     "​GeForce GT 520" 
 + ​EndSection 
 + ​Section "​Screen"​ 
 +    Identifier ​    "​Screen0"​ 
 +    Device ​        "​Device0"​ 
 +    Monitor ​       "​Monitor0"​ 
 +    DefaultDepth ​   24 
 +    Option ​        "​Stereo"​ "​0"​ 
 +    Option ​        "​nvidiaXineramaInfoOrder"​ "​CRT-1"​ 
 +    Option ​        "​metamodes"​ "​HDMI-0:​ nvidia-auto-select +0+0, VGA-0: nvidia-auto-select +1400+0"​ 
 +    Option ​        "​SLI"​ "​Off"​ 
 +    Option ​        "​MultiGPU"​ "​Off"​ 
 +    Option ​        "​BaseMosaic"​ "​off"​ 
 +    Option ​        "​ModeValidation"​ "​NoVesaModes,​ NoXServerModes"​ 
 +    Option ​        "​ExactModeTimingsDVI"​ "​True"​ 
 +    SubSection ​    "​Display"​ 
 +        Depth       ​24 ​    
 +    Modes      "​1400x1050_57.20"​ 
 +    EndSubSection 
 + ​EndSection 
 +</​file>​
  
-Depuis la version 11.10 d'​Ubuntu,​ les modes « panning » et « scale » ne fonctionnent plus correctement. Pour corriger le problème : 
-<​code>​sudo apt-add-repository ppa:​mdeslaur/​testing 
-sudo apt-get update 
-sudo apt-get upgrade</​code>​ 
-puis redémarrer le serveur X ou l'​ordinateur. 
  
 +Pour plus de détail, voir l'​article hyper complet en Anglais sur xrandr sur [[https://​askubuntu.com/​questions/​710172/​why-do-xrandr-errors-badmatch-badname-gamma-failed-happen|askubuntu.com]]
 ==== Conserver les paramètres ==== ==== Conserver les paramètres ====
  
-L'​automatisation de l'​augmentation de résolution est possible. [[:​tutoriel:​comment_modifier_un_fichier|Créez le fichier]] **/​etc/​X11/​Xsession.d/​45x11-xrandr** et collez-y le code suivant :+L'​automatisation de l'​augmentation de résolution est possible. [[:​tutoriel:​comment_modifier_un_fichier|Créez le fichier]] **/​etc/​X11/​Xsession.d/​45x11-xrandr** ​avec les [[:​sudo|droits d'​administration]] ​et collez-y le code suivant :
  
 <​file>​xrandr --verbose --output LVDS1 --mode "​800x480"​ --scale "​1.28x1.25"</​file>​ <​file>​xrandr --verbose --output LVDS1 --mode "​800x480"​ --scale "​1.28x1.25"</​file>​
Ligne 237: Ligne 396:
 Enregistrez et quittez. Dorénavant,​ la résolution sera augmentée automatiquement lors de chaque connexion. Enregistrez et quittez. Dorénavant,​ la résolution sera augmentée automatiquement lors de chaque connexion.
  
 +
 +===== Ajouter des écrans virtuels =====
 +Si vous souhaitez des écrans virtuels VIRTUALX, voir ce lien : https://​askubuntu.com/​questions/​453109/​add-fake-display-when-no-monitor-is-plugged-in
  
 ===== Voir aussi ===== ===== Voir aussi =====
  
   * [[http://​www.delafond.org/​traducmanfr/​X11/​man1/​xrandr.1x.html|Manuel de XRandR]]   * [[http://​www.delafond.org/​traducmanfr/​X11/​man1/​xrandr.1x.html|Manuel de XRandR]]
-  * [[http://​www.labo-linux.org/​tips/​4635-g-rer-son-ses-cran-s-avec-xrandr|Gérer son/ses écran(s)]] avec XRandR (FIXME lien cassé) +  * [[http://​www.planet-libre.org/​index.php?​post_id=1359|Faire du multi-écrans ​avec XRandR]]
-  * [[http://​about-gnulinux.info/​dotclear/index.php?post/​2009/​12/​08/​Faire-du-multi-%C3%A9crans-avec-xrandr|Faire du multi-écrans]] ​avec XRandR+
   * [[https://​wiki.ubuntu.com/​X/​Config/​Resolution#​Adding%20undetected%20resolutions|XrandR]] : Ajouter un mode vidéo non listé (modeline) - wiki officiel anglophone.   * [[https://​wiki.ubuntu.com/​X/​Config/​Resolution#​Adding%20undetected%20resolutions|XrandR]] : Ajouter un mode vidéo non listé (modeline) - wiki officiel anglophone.
-  * [[http://korben.info/augmenter-resolution-ubuntu-netbook.html|Augmenter la résolution écran sous Ubuntu sans contraintes matérielles]]+  * [[https://www.x.org/releases/​X11R7.5/​doc/​man/​man1/​xrandr.1.html|(en) Xrandr sur Xorg]]
  
  
-==== Pages sur le sujet ==== +===== Le fichier xorg.conf ===== 
- +La configuration de [[:​xorg|xorg.conf]] n'est plus nécessaire sur les versions récentes d'​Ubuntu et même, ce fichier n'​existe plus. Cependant pour certaines cartes cela peut s'​avérer utile, dans ce cas référez-vous à la page qui traite d'​[[:​Xorg]].
-{{backlinks>​.}}+
  
 ---- ----
  
-//​Contributeurs : [[utilisateurs:​azerttyu]],​ [[utilisateurs:​Id2ndR]],​ [[utilisateurs:​Ignace72]],​ [[utilisateurs:​percherie]].//​+//​Contributeurs : [[utilisateurs:​ymulleneers]] ​[[utilisateurs:​azerttyu]],​ [[utilisateurs:​Id2ndR]],​ [[utilisateurs:​Ignace72]],​ [[utilisateurs:​percherie]], [[:​utilisateurs:​l_africain|L'​Africain]].// 
  • xrandr.1347359216.txt.gz
  • Dernière modification: Le 11/09/2012, 12:26
  • par ymulleneers