Cómo leer el EDID de tu monitor en una Raspberry Pi

Nota: anteriormente, una función para leer el EDID solía estar disponible con la versión independiente de PiDoctor. Esta versión ha sido descontinuada, y la funcionalidad para leer el EDID no está implementada en la nueva PiCockpit PiDoctor por lo que te voy a dar instrucciones manuales de cómo leer el EDID en este artículo.

PiDoctor incluye salida en los modos de monitorización

Antes de sumergirnos en cómo extraer el EDID en su Raspberry Pi, tenga en cuenta que el nuevo PiCockpit's PiDoctor La aplicación incluye una gran cantidad de salidas que esperarías al leer el EDID también (modos de resolución soportados, nombre del monitor, soporte de audio, ...), aquí hay dos capturas de pantalla de muestra:

La aplicación PiCockpit PiDoctor, que sustituye algunas funciones de EDID, incluye la salida en los modos CEA y DMT

Leer el EDID en Raspbian / Raspberry Pi OS

Ejecute el siguiente comando en la línea de comandos:

tvservice -d /tmp/edid.dat
ejecute este comando para escribir el EDID en un archivo temporal.

Esto creará edid.dat en el directorio /tmp.

Nota: en una Raspberry Pi 4 y 400, se pueden conectar dos pantallas utilizando los puertos microHDMI. En este caso, querrás especificar la pantalla de la que leer el EDID:

tvservice --list
tvservice muestra las pantallas adjuntas.
tvservice muestra las pantallas adjuntas

A continuación, introduzca el ID del dispositivo, de la pantalla que le interesa, así:

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

Decodificar EDID con edidparser

Puede ejecutar edidparser en este archivo (si no está en su sistema, instálelo primero):

edidparser /tmp/edid.dat

Esto le dará mucha salida, por ejemplo en mi monitor, da:

Activar la coincidencia de formato difusa...
Analizando /tmp/edid.dat...
HDMI:EDID versión 1.3, 1 extensiones, tamaño de pantalla 48×27 cm
HDMI:Características EDID - videodef 0x80 standby suspender activo apagado; codificación del color:RGB444|YCbCr422; sRGB no es el espacio de color por defecto; el formato preferido es el nativo; no admite GTF
HDMI:EDID encontrado descriptor de rango de monitor etiqueta 0xfd
HDMI:Desplazamientos del rango del monitor EDID: V min=0, V max=0, H min=0, H max=0
HDMI:Rango del monitor EDID: vertical es 50-76 Hz, horizontal es 30-83 kHz, el reloj de píxeles máximo es 170 MHz
HDMI:La gama de monitores EDID no es compatible con GTF
HDMI:EDID encontrado nombre del monitor etiqueta descriptor 0xfc
HDMI:El nombre del monitor EDID es VE228
HDMI:EDID encontrado monitor S/N etiqueta descriptor 0xff
HDMI:EDID encontró el formato de sincronización de detalles CEA preferido: 1920x1080p @ 60 Hz (16)
HDMI:Los bytes de sincronización I/II establecidos son BF EF 00
HDMI:EDID encontrado Formato DMT: código 4, 640x480p @ 60 Hz en temporización establecida I/II
HDMI:EDID encontrado Formato DMT: código 5, 640x480p @ 72 Hz en temporización establecida I/II
HDMI:EDID encontrado Formato DMT: código 6, 640x480p @ 75 Hz en temporización establecida I/II
HDMI:EDID encontrado Formato DMT: código 8, 800x600p @ 56 Hz en temporización establecida I/II
HDMI:EDID encontrado Formato DMT: código 9, 800x600p @ 60 Hz en temporización establecida I/II
HDMI:EDID encontrado Formato DMT: código 10, 800x600p @ 72 Hz en temporización establecida I/II
HDMI:EDID encontrado Formato DMT: código 11, 800x600p @ 75 Hz en temporización establecida I/II
HDMI:EDID encontrado Formato DMT: código 16, 1024x768p @ 60 Hz en temporización establecida I/II
HDMI:EDID encontrado Formato DMT: código 17, 1024x768p @ 70 Hz en temporización establecida I/II
HDMI:EDID encontrado Formato DMT: código 18, 1024x768p @ 75 Hz en temporización establecida I/II
HDMI:EDID encontrado Formato DMT: código 36, 1280x1024p @ 75 Hz en temporización establecida I/II
HDMI:Bloque de tiempos estándar EDID x 8: 0x714F 8180 8140 9500 A940 B300 D1C0 0101
HDMI:EDID encontrado Formato DMT: código 21, 1152x864p @ 75 Hz (4:3) en temporización estándar 0
HDMI:EDID encontrado Formato DMT: código 35, 1280x1024p @ 60 Hz (5:4) en temporización estándar 1
HDMI:EDID encontrado Formato DMT: código 32, 1280x960p @ 60 Hz (4:3) en temporización estándar 2
HDMI:EDID encontrado Formato DMT: código 47, 1440x900p @ 60 Hz (16:10) en temporización estándar 3
HDMI:EDID encontrado Formato DMT: código 51, 1600x1200p @ 60 Hz (4:3) en temporización estándar 4
HDMI:EDID encontrado Formato DMT: código 58, 1680x1050p @ 60 Hz (16:10) en temporización estándar 5
HDMI:EDID encontrado Formato DMT: código 82, 1920x1080p @ 60 Hz (16:9) en temporización estándar 6
HDMI:Análisis EDID v3 Extensión CEA 0
HDMI:Compatibilidad con monitores EDID - underscan Formatos TI:sí, audio básico:sí, yuv444:sí, yuv422:sí, #native DTD:1
HDMI:EDID no pudo encontrar un formato de detalle que coincidiera con 1920x1080p hfp:48 hs:32 hbp:80 vfp:3 vs:5 vbp:22 pixel clock:138 MHz
HDMI:La frecuencia de actualización calculada por EDID es de 60 Hz
HDMI:EDID adivina que el formato es 1920x1080p @60 Hz
HDMI:EDID encontró el formato de sincronización de detalles CEA: 1920x1080p @ 60 Hz (16)
HDMI:EDID encontrado Formato de sincronización de detalles DMT: 1366x768p @ 60 Hz (81)
HDMI:EDID encontrado Formato de sincronización de detalles CEA: 1280x720p @ 60 Hz (4)
HDMI:EDID encontrado Formato de sincronización de detalles CEA: 720x480p @ 60 Hz (2)
HDMI:EDID encontrado Formato de sincronización de detalles CEA: 1920x1080i @ 60 Hz (5)
HDMI:EDID encontrado Formato CEA: código 16, 1920x1080p @ 60Hz (nativo)
HDMI:EDID encontrado Formato CEA: código 5, 1920x1080i @ 60Hz
HDMI:EDID encontrado Formato CEA: código 4, 1280x720p @ 60Hz
HDMI:EDID encontrado Formato CEA: código 3, 720x480p @ 60Hz
HDMI:EDID encontrado Formato CEA: código 2, 720x480p @ 60Hz
HDMI:EDID encontrado Formato CEA: código 1, 640x480p @ 60Hz
HDMI:EDID encontrado Formato CEA: código 17, 720x576p @ 50Hz
HDMI:EDID encontrado Formato CEA: código 18, 720x576p @ 50Hz
HDMI:EDID encontrado Formato CEA: código 19, 1280x720p @ 50Hz
HDMI:EDID encontrado Formato CEA: código 20, 1920x1080i @ 50Hz
HDMI:EDID encontrado Formato CEA: código 31, 1920x1080p @ 50Hz
HDMI:EDID encontrado formato de audio 2 canales PCM, frecuencia de muestreo: 32|44|48 kHz, tamaño de muestra: 16|20|24 bits
HDMI:EDID encontrado HDMI VSDB longitud 5
HDMI:EDID HDMI VSDB tiene la dirección física 1.0.0.0
HDMI:EDID HDMI VSDB no tiene campos de extensión
HDMI:Formatos de filtrado EDID con reloj de píxeles ilimitado MHz o h. blanking ilimitado
HDMI:Modo de mejor puntuación EDID inicializado en CEA (1) 640x480p @ 60 Hz con reloj de píxeles 25 MHz (puntuación 0)
HDMI:El modo de mejor puntuación de EDID es ahora CEA (1) 640x480p @ 60 Hz con reloj de píxeles 25 MHz (puntuación 61864)
HDMI:El modo de mejor puntuación de EDID es ahora CEA (2) 720x480p @ 60 Hz con reloj de píxeles 27 MHz (puntuación 3066472)
HDMI:El modo EDID CEA (3) 720x480p @ 60 Hz con reloj de píxeles de 27 MHz tiene una puntuación de 66472
HDMI:El modo de mejor puntuación EDID es ahora CEA (4) 1280x720p @ 60 Hz con reloj de píxeles 74 MHz (puntuación 3635592)
HDMI:El modo EDID DMT (4) 640x480p @ 60 Hz con reloj de píxeles de 25 MHz tiene una puntuación de 18432
HDMI:El modo EDID CEA (5) 1920x1080i @ 60 Hz con reloj de píxeles 74 MHz tiene una puntuación de 2773832
HDMI:El modo EDID DMT (5) 640x480p @ 72 Hz con reloj de píxeles de 31 MHz tiene una puntuación de 5529
HDMI:Modo EDID DMT (6) 640x480p @ 75 Hz con reloj de píxeles de 31 MHz tiene una puntuación de 5760
HDMI:Modo EDID DMT (8) 800x600p @ 56 Hz con reloj de píxeles de 36 MHz tiene una puntuación de 26880
HDMI:Modo EDID DMT (9) 800x600p @ 60 Hz con reloj de píxeles de 40 MHz tiene una puntuación de 28800
HDMI:Modo EDID DMT (10) 800x600p @ 72 Hz con reloj de píxeles de 50 MHz tiene una puntuación de 8640
HDMI:Modo EDID DMT (11) 800x600p @ 75 Hz con reloj de píxeles de 49 MHz tiene una puntuación de 9000
HDMI:El modo de mejor puntuación EDID es ahora CEA (16) 1920x1080p @ 60 Hz con reloj de píxeles 148 MHz (puntuación 5398248)
HDMI:El modo EDID DMT (16) 1024x768p @ 60 Hz con reloj de píxeles de 65 MHz tiene una puntuación de 47185
HDMI:El modo EDID CEA (17) 720x576p @ 50 Hz con reloj de píxeles de 27 MHz tiene una puntuación de 66472
HDMI:El modo EDID DMT (17) 1024x768p @ 70 Hz con reloj de píxeles 75 MHz tiene una puntuación de 13762
HDMI:El modo EDID CEA (18) 720x576p @ 50 Hz con reloj de píxeles de 27 MHz tiene una puntuación de 66472
HDMI:El modo EDID DMT (18) 1024x768p @ 75 Hz con reloj de píxeles de 78 MHz tiene una puntuación de 14745
HDMI:El modo EDID CEA (19) 1280x720p @ 50 Hz con reloj de píxeles 74 MHz tiene una puntuación de 117160
HDMI:El modo EDID CEA (20) 1920x1080i @ 50 Hz con reloj de píxeles 74 MHz tiene una puntuación de 128680
HDMI:El modo EDID DMT (21) 1152x864p @ 75 Hz con reloj de píxeles de 108 MHz tiene una puntuación de 43662
HDMI:El modo EDID CEA (31) 1920x1080p @ 50 Hz con reloj de píxeles de 148 MHz tiene una puntuación de 232360
HDMI:El modo EDID DMT (32) 1280x960p @ 60 Hz con reloj de píxeles de 108 MHz tiene una puntuación de 98728
HDMI:El modo EDID DMT (35) 1280x1024p @ 60 Hz con reloj de píxeles de 108 MHz tiene una puntuación de 103643
HDMI:El modo EDID DMT (36) 1280x1024p @ 75 Hz con reloj de píxeles de 135 MHz tiene una puntuación de 24576
HDMI:El modo EDID DMT (47) 1440x900p @ 60 Hz con reloj de píxeles de 106 MHz tiene una puntuación de 102760
HDMI:Modo EDID DMT (51) 1600x1200p @ 60 Hz con reloj de píxeles 162 MHz tiene una puntuación de 140200
HDMI:Modo EDID DMT (58) 1680x1050p @ 60 Hz con reloj de píxeles de 146 MHz tiene una puntuación de 130840
HDMI:Modo EDID DMT (81) 1366x768p @ 60 Hz con reloj de píxeles 85 MHz tiene una puntuación de 4062945
HDMI:El modo EDID DMT (82) 1920x1080p @ 60 Hz con reloj de píxeles de 148 MHz tiene una puntuación de 149416
HDMI0:El modo preferido de EDID sigue siendo CEA (16) 1920x1080p @ 60 Hz con reloj de píxeles de 148 MHz
HDMI:EDID tiene soporte HDMI y soporte de audio
edidparser salió con el código 0

Herramienta de descodificación en línea

También puede cargar este archivo en una herramienta de descodificación en línea, por ejemplo edid.tv

Nota: en mi prueba, edid.tv se quejó de una suma de comprobación incorrecta para uno de mis EDIDs - no tengo conocimiento de una solución para ello actualmente.

EDID.tv ofrece un amplio panorama de la información EDID
EDID.tv

Solución de problemas tvservice / volcado EDID

Nada escrito

Cuando corro

tvservice -dispositivo 2 -d tmp/edid.dat

Me dicen "¡No hay nada escrito!"

Prueba y comprueba lo siguiente:

  • ¿el monitor está conectado al puerto HDMI (no, en serio)?
  • ¿es correcto el ID del dispositivo? por favor, utilice tvservice -list para obtener una lista de los IDs, no solo copie y pegue mi ejemplo de ID de dispositivo 2
  • intente tvservice sin -dispositivo 2
  • intenta reiniciar la Raspberry Pi (hay problemas en este caso de uso particular cuando los monitores están conectados en caliente, AFAIK), y ejecuta los comandos de nuevo.
  • pruebe los otros parámetros de tvservice, para depurar si es posible alguna salida de ese monitor en particular (aquí hay una documentación para tvservice)
  • algunos televisores / monitores son defectuosos y no pueden proporcionar un EDID - pruebe con otro monitor para ver si hay diferencia

2 Comentarios

  1. Yoann el enero 26, 2022 a las 5:32 pm

    Bonjour, j'obtiens cette erreur :
    tvservice no es compatible cuando se utiliza el controlador vc4-kms-v3d.
    Las herramientas estándar de Linux disponen de funciones similares
    como modetest de libdrm-tests.

    ¿Hay alguna alternativa?

    Gracias,

Deja un comentario