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 14/10/2018, 16:14] – [Fréquence listée dans les modes disponibles] jcmousse | 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 [[: | ||
| + | |||
| + | ---- | ||
| + | |||
| + | // | ||
