Menu Fermer

xrandr : configurer les écrans sur Linux

Configurer vos écrans sous Linux peut parfois sembler compliqué, surtout lorsque vous utilisez plusieurs moniteurs ou que vous souhaitez ajuster des paramètres spécifiques comme la résolution, la rotation ou la disposition. C’est là qu’intervient xrandr, un outil en ligne de commande puissant conçu pour gérer et personnaliser les affichages sous X11. Que vous souhaitiez modifier la résolution, ajuster le taux de rafraîchissement, ou organiser vos écrans pour un environnement multi-moniteur, xrandr offre une solution flexible et efficace.

Dans cet article, nous vous guidons à travers les fonctionnalités principales de cet outil pour tirer le meilleur parti de vos écrans sur Linux.

Comment configurer son écran sur Linux avec xrandr

Qu’est-ce que la commande xrandr et quelle est son utilité ?

Dans Linux, la configuration de votre écran peut se faire au niveau du serveur X, notamment dans la configuration Xorg.conf.
Mais vous pouvez aussi configurer vos écran en ligne de commandes grâce à xrandr.

xrandr (X Resize and Rotate) est un utilitaire en ligne de commande pour les systèmes basés sur Linux et utilisant le serveur X11. Il permet de gérer les écrans et les affichages connectés à un ordinateur.
Avec xrandr, vous pouvez configurer les résolutions, orienter les écrans, ajuster les taux de rafraîchissement, et organiser les affichages dans des configurations multi-écrans.
Cela peut se faire à tout moment en ligne de commandes, ce qui permet de modifier la configuration écran sans devoir relancer le serveur X.

Voici quelques configuration écrans qui peuvent être fait avec cet utilitaire :

  • Pour gérer des configurations multi-écrans sur Linux
  • Si vous utilisez un système sans interface graphique pour ajuster les paramètres d’affichage
  • Pour personnaliser la résolution ou le taux de rafraîchissement de vos écrans
  • En cas de problèmes avec la détection automatique des écrans (par exemple, ajouter un mode personnalisé)

Vous pouvez créer un script bash que vous appliquez au démarrage de votre session X11 ou à tout moment.

Dans le cas de Wayland, vous pouvez utiliser la commande wlr-randr (les compositeurs basés sur wlroots), qui fonctionne globalement de la même manière.
Pour les compositeurs basés sur Sway, vous devez par contre, utiliser swaymsg pour configurer votre écran)

Comment configurer son écran sur Linux avec xrandr

Liste des écrans disponibles

La première chose à faire lorsque vous souhaitez utiliser xrandr est de lister les écrans disponibles pour obtenir leurs identifiants, les résolutions et fréquence d’affichage supporté.
Il est très important de comprendre le contenu de la sortie car vous en avez besoin dans les commandes pour interagir avec la configuration d’affichage.

Pour cela, on utilise la commande suivante :

xrandr -q

Exemple de sortie :

Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
HDMI-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 60Hz
1920x1080 60.00*+
1680x1050 59.88
1280x1024 75.02 60.02
1024x768 75.03 60.00
800x600 60.32 56.25
640x480 59.94
eDP-1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 60Hz
1366x768 60.00*+
1280x720 59.80 59.74
1024x768 60.00
800x600 60.32 56.25
640x480 59.94
DP-1 disconnected (normal left inverted right x axis y axis)

Soit donc :

  • Screen 0 : Désigne l’écran principal, tel que géré par le serveur X
  • minimum : Taille minimale supportée (en pixels) pour cet écran
  • current : Résolution actuelle de l’écran (dans cet exemple, 1920×1080
  • maximum : Taille maximale supportée (en pixels)

Si on prend la première ligne :

HDMI-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 60Hz

Cela nous donne les informations suivantes :

  • HDMI-1 : Nom de la sortie (par exemple, un écran connecté via HDMI).
  • connected : La sortie est active et un écran est connecté
  • primary : C’est l’écran principal, où les barres de menus et d’autres éléments d’interface apparaissent par défaut.
  • 1920×1080+0+0 : Résolution et position de l’écran.
    • 1920×1080 : Résolution actuelle.
    • +0+0 : Position dans une configuration multi-écrans. Ici, l’écran est positionné à la coordonnée (0,0).
  • (normal left inverted right x axis y axis) : Orientation de l’écran.
    • normal : Orientation standard (paysage).
    • left, right : Rotation de 90° ou 270°.
    • inverted : Rotation de 180°.
  • 60Hz : Taux de rafraîchissement actuel.

Voici un exemple de sortie xrandr avec deux écrans :

Liste des écrans disponibles sur Linux avec xrandr

Les noms des sorties sur xrandr (tels que DP-0, HDMI-0, eDP-1, etc.) représentent les ports vidéo physiques ou virtuels disponibles sur votre machine. Ces noms sont attribués par le pilote graphique utilisé (Intel, NVIDIA, AMD, etc.) et dépendent du matériel et du fabricant. Voici une explication des noms courants :

Nom de sortieDescription
eDP-XEmbedded DisplayPort. C’est l’écran intégré (par exemple sur un ordinateur portable).
DP-XDisplayPort. Port physique ou virtuel pour connecter des écrans via un câble DisplayPort.
HDMI-XHigh-Definition Multimedia Interface. Port HDMI utilisé pour connecter des moniteurs ou TV.
VGA-XVideo Graphics Array. Port VGA pour connecter des écrans plus anciens (analogique).
DVI-XDigital Visual Interface. Port DVI pour écrans plus anciens (numérique ou analogique).
LVDS-XLow-Voltage Differential Signaling. Écran intégré sur les anciens ordinateurs portables.
USB-C-XSortie vidéo via un port USB-C (souvent convertie en DisplayPort ou HDMI).
Virtual-XSortie virtuelle, utilisée pour des écrans simulés ou dans des environnements virtuels.
NoneSortie désactivée ou non connectée.

Pour des informations plus détaillées sur les écrans, utilisez la commande suivante :

xrandr --prop

Changer la résolution d’un écran

Vous pouvez modifier la résolution d’un écran spécifique en appliquant celles supportées par votre écran.
Pour cela, utilisez l’option –mode comme ceci :

xrandr --output HDMI-1 --mode 1280x720

Cette commande configure l’écran HDMI-1 à une résolution de 1280×720.

Si la résolution souhaitée n’est pas répertoriée, vous pouvez en ajouter une.
Pour cela, vous devez utiliser les options --newmode et --addmode.
Voici comment faire :

  • Générer un mode avec cvt :
cvt 1920 1080 60
  • On obtient alors une sortie du type :
Modeline "1920x1080_60.00" 172.80 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
  • Ajouter le mode à xrandr puis appliquez le :
xrandr --newmode "1920x1080_60.00" 172.80 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
xrandr --addmode HDMI-1 "1920x1080_60.00"
xrandr --output HDMI-1 --mode "1920x1080_60.00"

Changer l’orientation de l’écran

Vous pouvez faire pivoter l’affichage (portrait, paysage, etc.) grâce à l’option –rotate :

xrandr --output HDMI-1 --rotate left

Les options disponibles :

  • normal : orientation par défaut (paysage)
  • left : rotation de 90° à gauche
  • right : rotation de 90° à droite
  • inverted : affichage inversé à 180°

Changer le taux de rafraîchissement :

Vous pouvez configurer un taux de rafraîchissement spécifique si plusieurs sont disponibles. Pour cela, on utilise le drapeau –rate :

xrandr --output HDMI-1 --rate 60

Changer la luminosité

L’option –brightness donne la possibilité de changer la luminosité :

xrandr --output HDMI-1 --brightness 0.7

Les valeur de –brightness se situent entre 0 et 1, où 1 est la luminosité maximale.

Activer ou désactiver un écran

L’utilitaire donne aussi la possibilité de d’activer ou désactiver son écran à tout moment.

Pour activer un écran :

xrandr --output HDMI-1 --auto

Pour désactiver un écran :

xrandr --output HDMI-1 --off

Tableau récapitulatif des principales options de la commande xrandr

Voici un tableau récapitulatif des principales options de la commande xrandr, utilisée pour gérer les écrans sous X11 :Exemple d’utilisation
OptionDescriptionExemple d’utilisationwlr-randr –output HDMI-A-1 –mode 1920×1080 –pos 1920,0
–listmonitorsListe les moniteurs connectés et actifs avec leurs configurations actuelles.xrandr –listmonitorsweston-randr –output HDMI-A-1 –mode 1920×1080
–output <nom>Spécifie un écran ou un moniteur pour effectuer des modifications.xrandr –output HDMI-1swaymsg output HDMI-A-1 resolution 1920×1080 position 0 0
–mode <résolution>Définit la résolution de l’écran spécifié.xrandr –output HDMI-1 –mode 1920×1080grim screenshot.png
–rate <taux>Définit le taux de rafraîchissement de l’écran spécifié.xrandr –output HDMI-1 –rate 60wf-recorder -f screen-record.mp4
–autoActive un écran avec sa configuration par défaut.xrandr –output HDMI-1 –autoswaybg -o HDMI-A-1 -i background.png
–offDésactive un écran.xrandr –output HDMI-1 –offlibinput list-devices
–brightness <valeur>Ajuste la luminosité de l’écran (valeur entre 0 et 1, où 1 est la luminosité maximale).xrandr –output HDMI-1 –brightness 0.8wayland-info
–rotate <direction>Change l’orientation de l’écran. Les directions possibles sont normal, left, right, inverted.xrandr –output HDMI-1 –rotate leftweston-info
–reflect <axe>Réfléchit l’écran horizontalement ou verticalement. Les axes possibles sont x, y, ou xy.xrandr –output HDMI-1 –reflect xswaymsg -t get_outputs
–pos <x>x<y>Définit la position de l’écran dans une configuration multi-écrans.xrandr –output HDMI-1 –pos 1920×0swaymsg resize set width 800 height 600
–primaryDéfinit un écran comme écran principal.xrandr –output HDMI-1 –primaryOutil graphique, sans commande spécifique
–newmode <nom>Ajoute un mode d’affichage personnalisé.xrandr –newmode “1920x1080_60.00” 172.80 1920 2048 2248 2576 1080 1083 1088 1120
–addmode <nom> <mode>Associe un mode personnalisé à un écran.xrandr –addmode HDMI-1 “1920x1080_60.00”
–dpi <valeur>Définit la résolution en points par pouce (DPI) de l’écran.xrandr –dpi 96
–scale <x>x<y>Définit une échelle pour l’affichage (facteur horizontal et vertical).xrandr –output HDMI-1 –scale 1.5×1.5
–transform <matrice>Applique une transformation matricielle personnalisée à l’affichage.xrandr –output HDMI-1 –transform 1,0,0,0,1,0,0,0,1
–listprovidersAffiche les fournisseurs d’affichage (GPU ou sources graphiques) disponibles.xrandr –listproviders
–set <propriété>Définit une propriété personnalisée pour un écran.xrandr –output HDMI-1 –set “Broadcast RGB” “Full”

Comment configurer plusieurs écrans sur Linux avec xrandr

xrandr permet de positionner des écrans supplémentaires à gauche, à droite, au-dessus, ou en dessous de l’écran principal.

xrandr permet de positionner des écrans supplémentaires à gauche, à droite, au-dessus, ou en dessous de l’écran principal.
Puis pour indiquer la disposition, par exemple configurer l’écran HDMI-0 à droite de DP-0 :

xrandr --output DP-0 --left-of HDMI-0

Ce qui nous donne :

xrandr --output DP-0 --mode 2560x1440 --pos 1920x0 --mode 2560x1440 --pos 0x0 --rate 120 --primary
xrandr --output HDMI-0 --mode 1920x1080 --pos 1920x0 --pos 0x0 --rate 120
xrandr --output DP-0 --left-of HDMI-0

autorandr et arandr : compléments à xrandr

arandr est une interface graphique simple pour xrandr, conçue pour gérer les écrans et les résolutions sous Linux. Il permet de configurer facilement les écrans (résolution, orientation, position) via une interface utilisateur intuitive, sans avoir besoin de saisir des commandes dans le terminal.
C’est un outil idéal pour les utilisateurs qui préfèrent une approche visuelle pour configurer leurs affichages, tout en exploitant la puissance de xrandr.
Il n’est pas disponible par défaut sur Linux, vous devez l’installer :

sudo apt install arandr # Ubuntu, Debian, Linux Mint
sudo dnf install arandr # Fedora

autorandr est autre utilitaire très intéressant qui vous permet tout simplement d’enregistrer la configuration écran de xrandr dans des profils.
Puis vous pouvez appliquer le profil de votre choix.
Ainsi l’utilitaire donne la possibilité d’automatiser la configuration écran.