Le problème
On a lsusb, lspci, lscpu… mais rien pour les écrans ou les GPUs.
Pour savoir quel écran est branché sur quelle sortie, c'est la danse du
xrandr | grep connected, cat /sys/class/drm/card*/edid | edid-decode,
nvidia-smi…
J'ai écrit deux outils pour régler ça.
lsdisplay
Liste les écrans connectés avec fabricant, modèle, numéro de série,
résolution, fréquence, diagonale, et dessine un schéma ASCII du layout :
$ lsdisplay
CONNECTED DISPLAYS
==================
DP-4 1440x2560+0+0 27" 75Hz Iiyama PL2792Q DisplayPort S/N:1152031921274 rot=left [PRIMARY]
HDMI-A-2 1440x2560+1441+0 27" 75Hz Iiyama PL2792Q HDMI S/N:1152032422031 rot=left
HDMI-A-5 5376x3024+0+2561 65" 60Hz Samsung QN800D HDMI S/N:94:e6:ba:dd:9a:7a
Total: 3 display(s) connected
LAYOUT
======
+--------------+ +--------------+
| | | |
| DP-4* | | HDMI-A-2 |
| | | |
+--------------+ +--------------+
+------------------------------+
| |
| HDMI-A-5 |
| |
+------------------------------+
Fonctionnalités :
- Parse les EDID directement depuis
/sys/class/drm(pas de dépendance externe) - Fonctionne sur X11 et Wayland (KDE, Sway, wlroots)
- Mode
--jsonpour le scripting - Mode
--scanpour découvrir les Smart TV Samsung sur le réseau - Fichier d'overrides pour corriger les EDID buggés (Samsung, je te regarde…)
- Python 3.6+, zéro dépendance
lsgpu
Liste les GPUs avec stats NVIDIA, mapping écran par sortie :
$ lsgpu
GRAPHICS CARDS
==============
card0: NVIDIA GA107 [GeForce RTX 3050 6GB]
Driver: nvidia | VRAM: 6 GB | GPU:0% MEM:2077/6144MB 37°C 16.7W
├─ DP-4: connected ← Iiyama PL2792Q 27"
├─ HDMI-A-2: connected ← Iiyama PL2792Q 27"
card1: Intel Arrow Lake-S [Intel Graphics]
Driver: i915
├─ HDMI-A-5: connected ← Samsung TQ65QN800DTXXC 65"
Total: 2 GPU(s), 3 output(s) connected
Fonctionnalités :
- Stats NVIDIA (utilisation, température, puissance, mémoire)
- Stats AMD via sysfs
- Mode
--watchavec sparklines en temps réel - Liste des processus utilisant le GPU
- Python 3.6+, zéro dépendance Python
Installation
sudo cp lsdisplay.py /usr/local/bin/lsdisplay
sudo chmod +x /usr/local/bin/lsdisplay
Paquet .deb disponible aussi. Un seul fichier Python, pas de pip, pas de venv.
Appel à testeurs
C'est une v0.1.0 — testé sur ma config (GPU NVIDIA + Intel, KDE Wayland,
3 écrans dont 2 Samsung TV). J'aimerais des retours sur :
- Configs AMD (j'ai le code mais pas le matos pour tester)
- Wayland hors KDE (Sway, GNOME, Hyprland)
- Écrans avec EDID exotiques
- Suggestions d'affichage ou de fonctionnalités
Liens
Licence : GPL-2.0
# $ lsdisplay --list-priority
Posté par géhème . Évalué à 1 (+1/-0).
$ lsdisplay --list-priority
DISPLAY PRIORITY ORDER
# Test config AMD
Posté par gUI (Mastodon) . Évalué à 3 (+0/-0). Dernière modification le 04 mai 2026 à 08:17.
Ça m'a tout l'air d'être OK:
Pour info je suis également sous Wayland/KDE.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
# ne reconnais pas mon environnement
Posté par Matthieu Duchemin (site web personnel) . Évalué à 1 (+1/-0).
Je suis sous mageia 9 et j'utilise sway, lsdisplay considère que je suis sous xwayland et n'arrive pas à détecter les modèles de mes écrans.
# Liste des fabriquants
Posté par Dring . Évalué à 2 (+0/-0).
Super script !
Dans ton code, je vois ça :
Tu les as trouvé où ces codes ? Quelqu'un connaît l'histoire derrière ces codes ?
Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.