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.
Table des matières
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.
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 :
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 sortie | Description |
eDP-X | Embedded DisplayPort. C’est l’écran intégré (par exemple sur un ordinateur portable). |
DP-X | DisplayPort. Port physique ou virtuel pour connecter des écrans via un câble DisplayPort. |
HDMI-X | High-Definition Multimedia Interface. Port HDMI utilisé pour connecter des moniteurs ou TV. |
VGA-X | Video Graphics Array. Port VGA pour connecter des écrans plus anciens (analogique). |
DVI-X | Digital Visual Interface. Port DVI pour écrans plus anciens (numérique ou analogique). |
LVDS-X | Low-Voltage Differential Signaling. Écran intégré sur les anciens ordinateurs portables. |
USB-C-X | Sortie vidéo via un port USB-C (souvent convertie en DisplayPort ou HDMI). |
Virtual-X | Sortie virtuelle, utilisée pour des écrans simulés ou dans des environnements virtuels. |
None | Sortie 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 | ||
Option | Description | Exemple d’utilisation | wlr-randr –output HDMI-A-1 –mode 1920×1080 –pos 1920,0 |
–listmonitors | Liste les moniteurs connectés et actifs avec leurs configurations actuelles. | xrandr –listmonitors | weston-randr –output HDMI-A-1 –mode 1920×1080 |
–output <nom> | Spécifie un écran ou un moniteur pour effectuer des modifications. | xrandr –output HDMI-1 | swaymsg 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×1080 | grim screenshot.png |
–rate <taux> | Définit le taux de rafraîchissement de l’écran spécifié. | xrandr –output HDMI-1 –rate 60 | wf-recorder -f screen-record.mp4 |
–auto | Active un écran avec sa configuration par défaut. | xrandr –output HDMI-1 –auto | swaybg -o HDMI-A-1 -i background.png |
–off | Désactive un écran. | xrandr –output HDMI-1 –off | libinput 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.8 | wayland-info |
–rotate <direction> | Change l’orientation de l’écran. Les directions possibles sont normal, left, right, inverted. | xrandr –output HDMI-1 –rotate left | weston-info |
–reflect <axe> | Réfléchit l’écran horizontalement ou verticalement. Les axes possibles sont x, y, ou xy. | xrandr –output HDMI-1 –reflect x | swaymsg -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×0 | swaymsg resize set width 800 height 600 |
–primary | Définit un écran comme écran principal. | xrandr –output HDMI-1 –primary | Outil 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 | |
–listproviders | Affiche 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.
Liens
- Système d’exploitation et OS : qu’est-ce que c’est ? comment ça marche ?
- Découvrir Linux : Qu’est-ce que Linux ?
- Les distributions Linux : qu’est-ce que c’est ?
- Qu’est-ce que le serveur X sur Linux
- Qu’est-ce qu’un environnement de bureau Linux
- Configurer et comprendre xorg.conf
- Linux : passer de Xorg (X11) à Wayland
- Liste des commandes X11
- Ubuntu : configurer deux écrans (plusieurs écrans)
- autorandr : automatiser la configuration écran sur Linux