Comment lire l'EDID de votre moniteur sur un Raspberry Pi

Image de titre EDID

Dans cet article, nous vous expliquons exactement ce que vous devez faire pour interpréter les données d'identification d'affichage étendues (EDID) de votre moniteur sur votre Raspberry Pi.

Note : auparavant, une fonction pour lire l'EDID était disponible avec la version autonome de PiDoctor. Cette version a été abandonnée, et la fonction de lecture de l'EDID n'est pas implémentée dans la nouvelle version de PiDoctor. PiCockpit PiDoctor Je vais donc vous donner des instructions manuelles pour lire l'EDID dans cet article.

PiDoctor inclut la sortie sur les modes de surveillance

Avant de nous plonger dans la manière d'extraire l'EDID de votre Raspberry Pi, notez que la nouvelle fonction PiCockpit PiDoctor L'application comprend un grand nombre de résultats que l'on peut attendre de la lecture de l'EDID (modes de résolution supportés, nom du moniteur, support audio, ...), voici deux exemples de captures d'écran :

L'application PiCockpit PiDoctor, qui remplace certaines fonctionnalités EDID, inclut la sortie sur les modes CEA et DMT.

Lire l'EDID sous Raspbian / Raspberry Pi OS

Exécutez la commande suivante sur la ligne de commande :

tvservice -d /tmp/edid.dat

Exécutez cette commande pour écrire l'EDID dans un fichier temporaire.

Cela créera edid.dat dans le répertoire /tmp.

Note : sur un Raspberry Pi 4 et 400, deux écrans peuvent être attachés en utilisant les ports microHDMI. Dans ce cas, vous devez spécifier l'écran à partir duquel lire l'EDID :

tvservice --list

tvservice affiche les écrans ci-joints.
tvservice montre les affichages ci-joints

Passez ensuite l'ID du dispositif, de l'écran qui vous intéresse, comme suit :

tvservice --device 2 -d /tmp/edid.dat

Décoder EDID en utilisant edidparser

Vous pouvez exécuter edidparser sur ce fichier (s'il n'est pas sur votre système, veuillez l'installer d'abord) :

edidparser /tmp/edid.dat

Cela vous donnera beaucoup de résultats, par exemple sur mon moniteur, cela donne :

Enabling fuzzy format match
Parsing /tmp/edid.dat
HDMI:EDID version 1.3, 1 extensions, screen size 48x27 cm
HDMI:EDID features - videodef 0x80 standby suspend active off; colour encoding:RGB444|YCbCr422; sRGB is not default colourspace; preferred format is native; does not support GTF
HDMI:EDID found monitor range descriptor tag 0xfd
HDMI:EDID monitor range offsets: V min=0, V max=0, H min=0, H max=0
HDMI:EDID monitor range: vertical is 50-76 Hz, horizontal is 30-83 kHz, max pixel clock is 170 MHz
HDMI:EDID monitor range does not support GTF
HDMI:EDID found monitor name descriptor tag 0xfc
HDMI:EDID monitor name is VE228
HDMI:EDID found monitor S/N descriptor tag 0xff
HDMI:EDID found preferred CEA detail timing format: 1920x1080p @ 60 Hz (16)
HDMI:EDID established timing I/II bytes are BF EF 00
HDMI:EDID found DMT format: code 4, 640x480p @ 60 Hz in established timing I/II
HDMI:EDID found DMT format: code 5, 640x480p @ 72 Hz in established timing I/II
HDMI:EDID found DMT format: code 6, 640x480p @ 75 Hz in established timing I/II
HDMI:EDID found DMT format: code 8, 800x600p @ 56 Hz in established timing I/II
HDMI:EDID found DMT format: code 9, 800x600p @ 60 Hz in established timing I/II
HDMI:EDID found DMT format: code 10, 800x600p @ 72 Hz in established timing I/II
HDMI:EDID found DMT format: code 11, 800x600p @ 75 Hz in established timing I/II
HDMI:EDID found DMT format: code 16, 1024x768p @ 60 Hz in established timing I/II
HDMI:EDID found DMT format: code 17, 1024x768p @ 70 Hz in established timing I/II
HDMI:EDID found DMT format: code 18, 1024x768p @ 75 Hz in established timing I/II
HDMI:EDID found DMT format: code 36, 1280x1024p @ 75 Hz in established timing I/II
HDMI:EDID standard timings block x 8: 0x714F 8180 8140 9500 A940 B300 D1C0 0101
HDMI:EDID found DMT format: code 21, 1152x864p @ 75 Hz (4:3) in standard timing 0
HDMI:EDID found DMT format: code 35, 1280x1024p @ 60 Hz (5:4) in standard timing 1
HDMI:EDID found DMT format: code 32, 1280x960p @ 60 Hz (4:3) in standard timing 2
HDMI:EDID found DMT format: code 47, 1440x900p @ 60 Hz (16:10) in standard timing 3
HDMI:EDID found DMT format: code 51, 1600x1200p @ 60 Hz (4:3) in standard timing 4
HDMI:EDID found DMT format: code 58, 1680x1050p @ 60 Hz (16:10) in standard timing 5
HDMI:EDID found DMT format: code 82, 1920x1080p @ 60 Hz (16:9) in standard timing 6
HDMI:EDID parsing v3 CEA extension 0
HDMI:EDID monitor support - underscan IT formats:yes, basic audio:yes, yuv444:yes, yuv422:yes, #native DTD:1
HDMI:EDID failed to find a matching detail format for 1920x1080p hfp:48 hs:32 hbp:80 vfp:3 vs:5 vbp:22 pixel clock:138 MHz
HDMI:EDID calculated refresh rate is 60 Hz
HDMI:EDID guessing the format to be 1920x1080p @60 Hz
HDMI:EDID found CEA detail timing format: 1920x1080p @ 60 Hz (16)
HDMI:EDID found DMT detail timing format: 1366x768p @ 60 Hz (81)
HDMI:EDID found CEA detail timing format: 1280x720p @ 60 Hz (4)
HDMI:EDID found CEA detail timing format: 720x480p @ 60 Hz (2)
HDMI:EDID found CEA detail timing format: 1920x1080i @ 60 Hz (5)
HDMI:EDID found CEA format: code 16, 1920x1080p @ 60Hz (native)
HDMI:EDID found CEA format: code 5, 1920x1080i @ 60Hz
HDMI:EDID found CEA format: code 4, 1280x720p @ 60Hz
HDMI:EDID found CEA format: code 3, 720x480p @ 60Hz
HDMI:EDID found CEA format: code 2, 720x480p @ 60Hz
HDMI:EDID found CEA format: code 1, 640x480p @ 60Hz
HDMI:EDID found CEA format: code 17, 720x576p @ 50Hz
HDMI:EDID found CEA format: code 18, 720x576p @ 50Hz
HDMI:EDID found CEA format: code 19, 1280x720p @ 50Hz
HDMI:EDID found CEA format: code 20, 1920x1080i @ 50Hz
HDMI:EDID found CEA format: code 31, 1920x1080p @ 50Hz
HDMI:EDID found audio format 2 channels PCM, sample rate: 32|44|48 kHz, sample size: 16|20|24 bits
HDMI:EDID found HDMI VSDB length 5
HDMI:EDID HDMI VSDB has physical address 1.0.0.0
HDMI:EDID HDMI VSDB has no extension fields
HDMI:EDID filtering formats with pixel clock unlimited MHz or h. blanking unlimited
HDMI:EDID best score mode initialised to CEA (1) 640x480p @ 60 Hz with pixel clock 25 MHz (score 0)
HDMI:EDID best score mode is now CEA (1) 640x480p @ 60 Hz with pixel clock 25 MHz (score 61864)
HDMI:EDID best score mode is now CEA (2) 720x480p @ 60 Hz with pixel clock 27 MHz (score 3066472)
HDMI:EDID CEA mode (3) 720x480p @ 60 Hz with pixel clock 27 MHz has a score of 66472
HDMI:EDID best score mode is now CEA (4) 1280x720p @ 60 Hz with pixel clock 74 MHz (score 3635592)
HDMI:EDID DMT mode (4) 640x480p @ 60 Hz with pixel clock 25 MHz has a score of 18432
HDMI:EDID CEA mode (5) 1920x1080i @ 60 Hz with pixel clock 74 MHz has a score of 2773832
HDMI:EDID DMT mode (5) 640x480p @ 72 Hz with pixel clock 31 MHz has a score of 5529
HDMI:EDID DMT mode (6) 640x480p @ 75 Hz with pixel clock 31 MHz has a score of 5760
HDMI:EDID DMT mode (8) 800x600p @ 56 Hz with pixel clock 36 MHz has a score of 26880
HDMI:EDID DMT mode (9) 800x600p @ 60 Hz with pixel clock 40 MHz has a score of 28800
HDMI:EDID DMT mode (10) 800x600p @ 72 Hz with pixel clock 50 MHz has a score of 8640
HDMI:EDID DMT mode (11) 800x600p @ 75 Hz with pixel clock 49 MHz has a score of 9000
HDMI:EDID best score mode is now CEA (16) 1920x1080p @ 60 Hz with pixel clock 148 MHz (score 5398248)
HDMI:EDID DMT mode (16) 1024x768p @ 60 Hz with pixel clock 65 MHz has a score of 47185
HDMI:EDID CEA mode (17) 720x576p @ 50 Hz with pixel clock 27 MHz has a score of 66472
HDMI:EDID DMT mode (17) 1024x768p @ 70 Hz with pixel clock 75 MHz has a score of 13762
HDMI:EDID CEA mode (18) 720x576p @ 50 Hz with pixel clock 27 MHz has a score of 66472
HDMI:EDID DMT mode (18) 1024x768p @ 75 Hz with pixel clock 78 MHz has a score of 14745
HDMI:EDID CEA mode (19) 1280x720p @ 50 Hz with pixel clock 74 MHz has a score of 117160
HDMI:EDID CEA mode (20) 1920x1080i @ 50 Hz with pixel clock 74 MHz has a score of 128680
HDMI:EDID DMT mode (21) 1152x864p @ 75 Hz with pixel clock 108 MHz has a score of 43662
HDMI:EDID CEA mode (31) 1920x1080p @ 50 Hz with pixel clock 148 MHz has a score of 232360
HDMI:EDID DMT mode (32) 1280x960p @ 60 Hz with pixel clock 108 MHz has a score of 98728
HDMI:EDID DMT mode (35) 1280x1024p @ 60 Hz with pixel clock 108 MHz has a score of 103643
HDMI:EDID DMT mode (36) 1280x1024p @ 75 Hz with pixel clock 135 MHz has a score of 24576
HDMI:EDID DMT mode (47) 1440x900p @ 60 Hz with pixel clock 106 MHz has a score of 102760
HDMI:EDID DMT mode (51) 1600x1200p @ 60 Hz with pixel clock 162 MHz has a score of 140200
HDMI:EDID DMT mode (58) 1680x1050p @ 60 Hz with pixel clock 146 MHz has a score of 130840
HDMI:EDID DMT mode (81) 1366x768p @ 60 Hz with pixel clock 85 MHz has a score of 4062945
HDMI:EDID DMT mode (82) 1920x1080p @ 60 Hz with pixel clock 148 MHz has a score of 149416
HDMI0:EDID preferred mode remained as CEA (16) 1920x1080p @ 60 Hz with pixel clock 148 MHz
HDMI:EDID has HDMI support and audio support
edidparser exited with code 0

Outil de décodage en ligne

Vous pouvez également télécharger ce fichier vers un outil de décodage en ligne, par exemple edid.tv

Note : dans mon test, edid.tv s'est plaint d'une somme de contrôle incorrecte pour l'un de mes EDIDs - je ne suis pas au courant d'une solution de contournement pour le moment.

EDID.tv offre un riche aperçu des informations EDID
EDID.tv

Dépannage tvservice / vidage EDID

Rien d'écrit

Quand je cours

tvservice -device 2 -d tmp/edid.dat

Je reçois "Rien d'écrit !"

Maintenant, essayez et vérifiez les points suivants :

  • Votre moniteur est-il connecté à votre port HDMI (non, sérieusement) ?
  • L'ID de l'appareil est-il correct ? Veuillez utiliser tvservice -list pour obtenir une liste des identifiants, ne vous contentez pas de copier-coller mon exemple d'identifiant de dispositif 2.
  • essayez tvservice sans -device 2
  • essayez de redémarrer le Raspberry Pi (il y a des problèmes dans ce cas d'utilisation particulier lorsque les moniteurs sont branchés à chaud, AFAIK), et exécutez les commandes à nouveau.
  • essayer les autres paramètres de tvservice, pour déboguer si une sortie de ce moniteur particulier est possible (Voici une documentation pour tvservice)
  • certains téléviseurs/écrans sont défectueux et ne peuvent pas fournir d'EDID - essayez un autre écran pour voir si cela fait une différence.

Conclusion

Maintenant que les données d'identification de l'affichage étendu de votre moniteur ont enfin un sens, vous pouvez commencer votre prochain projet Raspberry Pi !

Vous cherchez des idées ? Jetez un coup d'œil à notre série de projets Paragon.

2 commentaires

  1. Yoann sur janvier 26, 2022 à 5:32 pm

    Bonjour, j'obtiens cette erreur :
    tvservice n'est pas pris en charge lorsque le pilote vc4-kms-v3d est utilisé.
    Des fonctionnalités similaires sont disponibles avec les outils linux standard
    tel que modetest de libdrm-tests.

    Y a-t-il une alternative ?

    Merci,

Laissez un commentaire