Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
xrandr [Le 26/09/2017, 14:04] – [Lister les résolutions disponibles] 205.167.7.244 | xrandr [Le 12/06/2020, 16:01] (Version actuelle) – [Lister les sorties et les résolutions disponibles] 90.89.139.81 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ====== XRandR ====== | ||
+ | |||
+ | **XRandR** est un outil en ligne de commande qui utilise l' | ||
+ | |||
+ | Le point fort de l' | ||
+ | |||
+ | Il existe des interfaces graphiques réalisant une partie des transformations de xrandr. | ||
+ | |||
+ | * Voir la page [[: | ||
+ | * **[[apt> | ||
+ | * **[[apt> | ||
+ | |||
+ | |||
+ | ===== Configuration ===== | ||
+ | |||
+ | ==== Lister les sorties et les résolutions disponibles ==== | ||
+ | |||
+ | Pour lister les résolutions disponibles, | ||
+ | |||
+ | 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 | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | CVT connected 1440x900+0+0 (normal left inverted right x axis y axis) 0mm x 0mm | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | TV1 unknown connection (normal left inverted right x axis y axis) | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | 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 statut suit. Il existe 5 sorties vidéo possibles : sortie VGA, sortie DVI, sortie HDMI, sortie LVDS pour la sortie principale d'un portable et sortie TV pour S-video. Les écrans utilisables sont marqués « connected », leurs noms seront utilisés avec la commande « -- output ». | ||
+ | |||
+ | Attention, il n'est pas nécessaire d' | ||
+ | |||
+ | Les modes activés sont directement suivis du signe *. | ||
+ | |||
+ | ==== Lister les propriétés disponibles ==== | ||
+ | |||
+ | L' | ||
+ | < | ||
+ | usr@pc:~$ xrandr --prop | ||
+ | </ | ||
+ | La sortie de cette commande renvoie une information analogue à l' | ||
+ | < | ||
+ | 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: | ||
+ | Broadcast RGB: Automatic | ||
+ | supported: | ||
+ | audio: auto | ||
+ | supported: | ||
+ | non-desktop: | ||
+ | range: (0, 1) | ||
+ | link-status: | ||
+ | supported: | ||
+ | HDMI-2 disconnected (normal left inverted right x axis y axis) | ||
+ | aspect ratio: Automatic | ||
+ | supported: | ||
+ | Broadcast RGB: Automatic | ||
+ | supported: | ||
+ | audio: auto | ||
+ | supported: | ||
+ | non-desktop: | ||
+ | range: (0, 1) | ||
+ | link-status: | ||
+ | supported: | ||
+ | DP-1 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm | ||
+ | Broadcast RGB: Automatic | ||
+ | supported: | ||
+ | audio: auto | ||
+ | supported: | ||
+ | non-desktop: | ||
+ | range: (0, 1) | ||
+ | link-status: | ||
+ | supported: | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | HDMI-3 disconnected (normal left inverted right x axis y axis) | ||
+ | aspect ratio: Automatic | ||
+ | supported: | ||
+ | Broadcast RGB: Automatic | ||
+ | supported: | ||
+ | audio: auto | ||
+ | supported: | ||
+ | non-desktop: | ||
+ | range: (0, 1) | ||
+ | link-status: | ||
+ | supported: | ||
+ | </ | ||
+ | ==== 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' | ||
+ | |||
+ | === Fréquences de rafraîchissement === | ||
+ | |||
+ | La commande ci-dessous change la fréquence à la nouvelle valeur de 1440×900 à 60 Hz : < | ||
+ | |||
+ | === Utiliser plusieurs écrans === | ||
+ | |||
+ | Si par exemple vous souhaitez mettre le second écran connecté en HDMI sur le coté droit de l' | ||
+ | |||
+ | Ainsi, nous pouvons en déduire l' | ||
+ | |||
+ | * **%%--output%%** détermine l' | ||
+ | * **%%--pos%%** positionne l' | ||
+ | * **%%--mode%%** détermine le mode utilisé (optionnel) | ||
+ | * **%%--rate%%** la fréquence de l' | ||
+ | |||
+ | **%%Exemples de configuration multi-écrans (multi screen, dual screen, mirror screen, clone screen...)%%** | ||
+ | |||
+ | Pour chaque configuration, | ||
+ | |||
+ | Pour tester après une modification de configuration, | ||
+ | |||
+ | * **%%Deux écrans cote à cote : %%** | ||
+ | DP-2 est l' | ||
+ | < | ||
+ | xrandr --output DP-2 --mode 1680x1050 --primary | ||
+ | xrandr --output DP-1 --mode 1280x1024 --right-of DP-2 | ||
+ | </ | ||
+ | |||
+ | Vous pouvez adapter la position de l' | ||
+ | |||
+ | * **%%Deux écrans clonés, résolutions identiques (Clone dual screen) : %%** | ||
+ | DP-2 est l' | ||
+ | < | ||
+ | xrandr --output DP-2 --mode 1280x1024 --output DP-1 --same-as DP-2 | ||
+ | </ | ||
+ | |||
+ | * **%%Deux écrans clonés, résolutions différentes (Clone dual screen) : %%** | ||
+ | DP-3 est l' | ||
+ | < | ||
+ | xrandr --output DP-3 --mode 1280x1024 --scale 1x1 --output DP-1 --same-as DP-3 --scale 1.25x1.33 | ||
+ | </ | ||
+ | Ici, la résolution de l' | ||
+ | |||
+ | NB : L' | ||
+ | |||
+ | Ici : 1280/ | ||
+ | ==== Fréquence non listée dans les modes disponibles ==== | ||
+ | |||
+ | 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' | ||
+ | |||
+ | Pour obtenir un mode non listé, utilisez les programmes complémentaires **//gtf//** et **// | ||
+ | < | ||
+ | |||
+ | Vous avez normalement défini un mode nommé '' | ||
+ | < | ||
+ | Vous pouvez maintenant utiliser un programme graphique pour changer la résolution de cet écran. Par exemple, par le biais de la [[: | ||
+ | |||
+ | ==== Activer la résolution choisie ==== | ||
+ | Il reste maintenant à appliquer cette résolution soit (liste non exhaustive) : | ||
+ | * En ligne de commande : < | ||
+ | * En sélectionnant dans les [[: | ||
+ | * En sélectionnant dans ArandR ce nouveau mode. | ||
+ | |||
+ | Maintenant que la nouvelle résolution fonctionne, il faut l' | ||
+ | <code bash> | ||
+ | # | ||
+ | xrandr --addmode HDMI 1440x900_60 | ||
+ | xrandr --output HDMI --mode 1440x900_60 | ||
+ | exit 0; | ||
+ | </ | ||
+ | rendez votre script [[: | ||
+ | < | ||
+ | ==== 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. | ||
+ | |||
+ | Commencez par identifier votre écran : | ||
+ | <code bash> | ||
+ | |||
+ | Par exemple comme réponse vous avez " | ||
+ | |||
+ | Si vous désirez essayer avec une résolution de 1920x1080 en 60hz (n.b. vérifiez si la carte graphique le supporte avant) | ||
+ | Tapez la commande : | ||
+ | <code bash>gtf 1920 1080 60</ | ||
+ | |||
+ | En retour vous aurez : <code bash># 1920x1080 @ 60.00 Hz (GTF) hsync: 67.08 kHz; pclk: 172.80 MHz | ||
+ | Modeline " | ||
+ | | ||
+ | Ce qui nous intéresse ici est la seconde ligne (# est toujours suivi d'un commentaire) | ||
+ | |||
+ | Pour ajouter la résolution depuis xrandr cela donne donc : | ||
+ | <code bash> | ||
+ | |||
+ | et donc pour l' | ||
+ | <code bash> | ||
+ | |||
+ | Pour changer de résolution depuis le terminal : | ||
+ | <code bash> | ||
+ | |||
+ | Cependant au redémarrage, | ||
+ | |||
+ | <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**.</ | ||
+ | |||
+ | |||
+ | === Rendre persistantes les modifications === | ||
+ | |||
+ | == Créer le script == | ||
+ | Reprenez les commandes précédentes (en modifiant les commandes au besoin) : | ||
+ | <file bash># | ||
+ | xrandr --newmode " | ||
+ | xrandr --addmode eDP-1-1 1920x1080_60.00 | ||
+ | xrandr -s 1920x1080_60.00</ | ||
+ | ' | ||
+ | |||
+ | |||
+ | == Lancer le script via / | ||
+ | La première méthode consiste à [[: | ||
+ | |||
+ | |||
+ | == Lancer le script via ~/.xprofile == | ||
+ | Créez un fichier " | ||
+ | |||
+ | == Lancer le script via le lancement d' | ||
+ | Une autre méthode, peut-être plus artisanale mais efficace, consiste à préparer un script qui sera lancé avec applications au démarrage. | ||
+ | |||
+ | Ajouter au script précédent : | ||
+ | < | ||
+ | gsettings set org.gnome.desktop.background picture-uri file:/// | ||
+ | gsettings set org.gnome.desktop.background picture-uri file:/// | ||
+ | exit 0; | ||
+ | </ | ||
+ | |||
+ | Le script est enregistré dans un fichier texte (adapt_resolution.sh par exemple) auquel les droits d’exécution sont accordés : | ||
+ | < | ||
+ | chmod gua+x adapt_resolution.sh | ||
+ | </ | ||
+ | Ensuite, sélectionner « applications au démarrage » parmi les applications d' | ||
+ | {{ :: | ||
+ | Choisir « Ajouter » parmi les options proposées : | ||
+ | {{ : | ||
+ | |||
+ | Rechercher le script dans l' | ||
+ | {{ : | ||
+ | Désormais le script se lancera automatiquement à chaque connexion de l' | ||
+ | |||
+ | |||
+ | ==== Pivoter l' | ||
+ | |||
+ | Pour pivoter l' | ||
+ | |||
+ | Les options de rotation disponibles sont : | ||
+ | |« normal » | orientation par défaut (selon l' | ||
+ | |« 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' | ||
+ | |||
+ | Ainsi, pour un écran nommé « eDP1 » dont l' | ||
+ | < | ||
+ | usr@pcx:~$ xrandr --output eDP1 --rotate left | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Résolution virtuelle ===== | ||
+ | |||
+ | La résolution virtuelle consiste à définir une résolution plus grande que pourrait supporter l' | ||
+ | |||
+ | ==== Modes « panning » et « scale »==== | ||
+ | Avec le mode « panning » la taille d' | ||
+ | |||
+ | 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é. | ||
+ | |||
+ | |||
+ | Il faut préciser les paramètres « panning » et « scale » ensembles. | ||
+ | |||
+ | Exemple pour une sortie VGA 1280x800 pixels : | ||
+ | * mode « scale » : | ||
+ | < | ||
+ | * mode « panning » : | ||
+ | < | ||
+ | * revenir en mode « normal » : | ||
+ | < | ||
+ | |||
+ | <note important> | ||
+ | Après plusieurs changements de mode, il est possible qu'une erreur similaire à celle ci-dessous se produise. | ||
+ | < | ||
+ | Major opcode of failed request: | ||
+ | Minor opcode of failed request: | ||
+ | Serial number of failed request: | ||
+ | Current serial number in output stream: | ||
+ | Dans ce cas essayez : | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | ==== NVidia : " | ||
+ | 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: | ||
+ | Major opcode of failed request: | ||
+ | Minor opcode of failed request: | ||
+ | Serial number of failed request: | ||
+ | Current serial number in output stream: | ||
+ | </ | ||
+ | | ||
+ | Vous pouvez créer un fichier **[[xorg|xorg.conf]]** en adaptant les données : | ||
+ | |||
+ | <file xorg.conf> | ||
+ | # nvidia-settings: | ||
+ | # nvidia-settings: | ||
+ | | ||
+ | Identifier | ||
+ | Screen | ||
+ | InputDevice | ||
+ | InputDevice | ||
+ | Option | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | # generated from default | ||
+ | Identifier | ||
+ | Driver | ||
+ | Option | ||
+ | Option | ||
+ | Option | ||
+ | Option | ||
+ | | ||
+ | | ||
+ | # generated from default | ||
+ | Identifier | ||
+ | Driver | ||
+ | | ||
+ | | ||
+ | # HorizSync source: edid, VertRefresh source: edid | ||
+ | Identifier | ||
+ | VendorName | ||
+ | ModelName | ||
+ | HorizSync | ||
+ | VertRefresh | ||
+ | Option | ||
+ | Modeline " | ||
+ | EndSection | ||
+ | | ||
+ | Identifier | ||
+ | Driver | ||
+ | VendorName | ||
+ | BoardName | ||
+ | | ||
+ | | ||
+ | Identifier | ||
+ | Device | ||
+ | Monitor | ||
+ | DefaultDepth | ||
+ | Option | ||
+ | Option | ||
+ | Option | ||
+ | Option | ||
+ | Option | ||
+ | Option | ||
+ | Option | ||
+ | Option | ||
+ | SubSection | ||
+ | Depth | ||
+ | Modes " | ||
+ | EndSubSection | ||
+ | | ||
+ | </ | ||
+ | |||
+ | |||
+ | Pour plus de détail, voir l' | ||
+ | ==== Conserver les paramètres ==== | ||
+ | |||
+ | L' | ||
+ | |||
+ | < | ||
+ | |||
+ | Enregistrez et quittez. Dorénavant, | ||
+ | |||
+ | |||
+ | ===== Ajouter des écrans virtuels ===== | ||
+ | Si vous souhaitez des écrans virtuels VIRTUALX, voir ce lien : https:// | ||
+ | |||
+ | ===== Voir aussi ===== | ||
+ | |||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | |||
+ | ===== Le fichier xorg.conf ===== | ||
+ | La configuration de [[: | ||
+ | |||
+ | ---- | ||
+ | |||
+ | // | ||