Как считать EDID монитора на Raspberry Pi

Примечание: ранее функция чтения EDID была доступна в автономной версии PiDoctor. Эта версия была снята с производства, и функция чтения EDID не реализована в новой версии. PiCockpit PiDoctor Поэтому в этой статье я дам вам инструкции по чтению EDID.

PiDoctor включает вывод на монитор режимов

Прежде чем мы перейдем к тому, как извлечь EDID на вашем Raspberry Pi, обратите внимание, что новый PiCockpit's PiDoctor Приложение включает в себя множество выводов, которые можно ожидать при чтении EDID (поддерживаемые режимы разрешения, имя монитора, поддержка аудио, ...), вот два примера скриншотов:

Приложение PiCockpit PiDoctor, заменяющее некоторые функции EDID, включает вывод на режимы CEA и DMT

Считывание EDID под Raspbian / Raspberry Pi OS

Выполните следующую команду в командной строке:

tvservice -d /tmp/edid.dat
выполните эту команду, чтобы записать EDID во временный файл.

Это создаст файл edid.dat в каталоге /tmp.

Примечание: на Raspberry Pi 4 и 400 можно подключить два дисплея с помощью портов microHDMI. В этом случае необходимо указать, с какого дисплея считывать EDID:

tvservice --list
tvservice показывает подключенные дисплеи.
tvservice показывает подключенные дисплеи

Затем передайте ID устройства, интересующего вас дисплея, следующим образом:

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

Декодирование EDID с помощью программы edidparser

Вы можете запустить edidparser на этом файле (если его нет в вашей системе, пожалуйста, сначала установите его):

edidparser /tmp/edid.dat

Это даст вам много выходных данных, например, на моем мониторе это дает:

Включение нечеткого сопоставления форматов...
Разбор /tmp/edid.dat...
HDMI:EDID версии 1.3, 1 расширение, размер экрана 48×27 см
HDMI:EDID характеристики - videodef 0x80 standby suspend active off; кодирование цвета: RGB444|YCbCr422; sRGB не является цветовым пространством по умолчанию; предпочтительный формат - родной; не поддерживает GTF
HDMI:EDID найден тег дескриптора диапазона монитора 0xfd
HDMI:EDID смещение диапазона монитора: V min=0, V max=0, H min=0, H max=0
HDMI:EDID диапазон монитора: вертикальный - 50-76 Гц, горизонтальный - 30-83 кГц, максимальная частота пикселей - 170 МГц.
HDMI:EDID диапазон монитора не поддерживает GTF
HDMI:EDID найден имя монитора дескриптор тег 0xfc
HDMI:EDID имя монитора - VE228
HDMI:EDID найден тег дескриптора S/N монитора 0xff
HDMI:EDID найден предпочтительный формат синхронизации деталей CEA: 1920x1080p @ 60 Гц (16)
HDMI:EDID установленная синхронизация I/II байты BF EF 00
HDMI:EDID найден Формат DMT: код 4, 640x480p @ 60 Гц в установленной синхронизации I/II
HDMI:EDID найден Формат DMT: код 5, 640x480p @ 72 Гц в установленной синхронизации I/II
HDMI:EDID найден Формат DMT: код 6, 640x480p @ 75 Гц в установленной синхронизации I/II
HDMI:EDID найден Формат DMT: код 8, 800x600p @ 56 Гц в установленной синхронизации I/II
HDMI:EDID найден Формат DMT: код 9, 800x600p @ 60 Гц в установленной синхронизации I/II
HDMI:EDID найден Формат DMT: код 10, 800x600p @ 72 Гц в установленной синхронизации I/II
HDMI:EDID найден формат DMT: код 11, 800x600p @ 75 Гц в установленной синхронизации I/II
HDMI:EDID найден Формат DMT: код 16, 1024x768p @ 60 Гц в установленной синхронизации I/II
HDMI:EDID найден Формат DMT: код 17, 1024x768p @ 70 Гц в установленной синхронизации I/II
HDMI:EDID найден Формат DMT: код 18, 1024x768p @ 75 Гц в установленной синхронизации I/II
HDMI:EDID найден Формат DMT: код 36, 1280x1024p @ 75 Гц в установленной синхронизации I/II
HDMI:блок стандартных таймингов EDID x 8: 0x714F 8180 8140 9500 A940 B300 D1C0 0101
HDMI:EDID найден формат DMT: код 21, 1152x864p @ 75 Гц (4:3) в стандартной синхронизации 0
HDMI:EDID найден формат DMT: код 35, 1280x1024p @ 60 Гц (5:4) в стандартной синхронизации 1
HDMI:EDID найден формат DMT: код 32, 1280x960p @ 60 Гц (4:3) в стандартной синхронизации 2
HDMI:EDID найден формат DMT: код 47, 1440x900p @ 60 Гц (16:10) в стандартной синхронизации 3
HDMI:EDID найден формат DMT: код 51, 1600x1200p @ 60 Гц (4:3) в стандартной синхронизации 4
HDMI:EDID найден формат DMT: код 58, 1680x1050p @ 60 Гц (16:10) в стандартной синхронизации 5
HDMI:EDID найден формат DMT: код 82, 1920x1080p @ 60 Гц (16:9) в стандартной синхронизации 6
HDMI:Разбор EDID v3 CEA расширение 0
HDMI:поддержка монитора EDID - underscan IT форматы:да, базовое аудио:да, yuv444:да, yuv422:да, #native DTD:1
HDMI:EDID не удалось найти подходящий формат детализации для 1920x1080p hfp:48 hs:32 hbp:80 vfp:3 vs:5 vbp:22 pixel clock:138 MHz
HDMI:EDID рассчитанная частота обновления составляет 60 Гц
HDMI:EDID угадывает формат 1920x1080p @60 Гц
HDMI:EDID найден формат синхронизации деталей CEA: 1920x1080p @ 60 Гц (16)
HDMI:EDID найден формат синхронизации деталей DMT: 1366x768p @ 60 Гц (81)
HDMI:EDID найден формат синхронизации деталей CEA: 1280x720p @ 60 Гц (4)
HDMI:EDID найден формат синхронизации деталей CEA: 720x480p @ 60 Гц (2)
HDMI:EDID найден формат синхронизации деталей CEA: 1920x1080i @ 60 Гц (5)
HDMI: EDID найден Формат CEA: код 16, 1920x1080p @ 60Hz (родной)
HDMI: EDID найден Формат CEA: код 5, 1920x1080i @ 60Hz
HDMI:EDID найден формат CEA: код 4, 1280x720p @ 60Hz
HDMI:EDID найден формат CEA: код 3, 720x480p @ 60Hz
HDMI:EDID найден формат CEA: код 2, 720x480p @ 60Hz
HDMI:EDID найден формат CEA: код 1, 640x480p @ 60Hz
HDMI:EDID найден формат CEA: код 17, 720x576p @ 50 Гц
HDMI:EDID найден формат CEA: код 18, 720x576p @ 50 Гц
HDMI:EDID найден формат CEA: код 19, 1280x720p @ 50Hz
HDMI:EDID найден Формат CEA: код 20, 1920x1080i @ 50Hz
HDMI: EDID найден Формат CEA: код 31, 1920x1080p @ 50Hz
HDMI:EDID найден формат аудио 2 канала PCM, частота дискретизации: 32|44|48 кГц, размер выборки: 16|20|24 бит
HDMI:EDID найден HDMI VSDB длина 5
HDMI:EDID HDMI VSDB имеет физический адрес 1.0.0.0
HDMI:EDID HDMI VSDB не имеет полей расширения
HDMI:форматы фильтрации EDID с пиксельной синхронизацией неограниченно МГц или ч. бланкирование неограниченно
HDMI:EDID режим наилучшей оценки инициализирован на CEA (1) 640x480p @ 60 Гц с пиксельной синхронизацией 25 МГц (оценка 0)
HDMI:EDID режим наилучшего результата теперь CEA (1) 640x480p @ 60 Гц с тактовой частотой пикселей 25 МГц (результат 61864).
HDMI:EDID режим наилучшего результата теперь CEA (2) 720x480p @ 60 Гц с тактовой частотой пикселей 27 МГц (результат 3066472).
HDMI:EDID CEA режим (3) 720x480p @ 60 Гц с пиксельной частотой 27 МГц имеет результат 66472
HDMI:EDID режим наилучшего результата теперь CEA (4) 1280x720p @ 60 Гц с тактовой частотой пикселей 74 МГц (результат 3635592).
HDMI:EDID DMT mode (4) 640x480p @ 60 Гц с тактовой частотой пикселей 25 МГц имеет результат 18432
HDMI: EDID CEA режим (5) 1920x1080i @ 60 Гц с пиксельной частотой 74 МГц имеет результат 2773832
HDMI:EDID DMT mode (5) 640x480p @ 72 Гц с тактовой частотой пикселей 31 МГц имеет оценку 5529
HDMI:EDID DMT режим (6) 640x480p @ 75 Гц с тактовой частотой пикселей 31 МГц имеет показатель 5760
HDMI:EDID DMT режим (8) 800x600p @ 56 Гц с пиксельной частотой 36 МГц имеет результат 26880
HDMI:EDID DMT режим (9) 800x600p @ 60 Гц с пиксельной частотой 40 МГц имеет результат 28800
HDMI:EDID DMT режим (10) 800x600p @ 72 Гц с пиксельной частотой 50 МГц имеет результат 8640
HDMI:EDID DMT режим (11) 800x600p @ 75 Гц с частотой пикселей 49 МГц имеет оценку 9000
HDMI:EDID режим наилучшего результата теперь CEA (16) 1920x1080p @ 60 Гц с тактовой частотой пикселей 148 МГц (результат 5398248).
HDMI:EDID DMT режим (16) 1024x768p @ 60 Гц с тактовой частотой пикселей 65 МГц имеет оценку 47185
HDMI:EDID CEA режим (17) 720x576p @ 50 Гц с тактовой частотой пикселей 27 МГц имеет показатель 66472
HDMI:EDID DMT mode (17) 1024x768p @ 70 Гц с тактовой частотой пикселей 75 МГц имеет оценку 13762
HDMI:EDID CEA режим (18) 720x576p @ 50 Гц с тактовой частотой пикселей 27 МГц имеет показатель 66472
HDMI:EDID DMT режим (18) 1024x768p @ 75 Гц с пиксельной синхронизацией 78 МГц имеет результат 14745
HDMI:EDID CEA режим (19) 1280x720p @ 50 Гц с пиксельной синхронизацией 74 МГц имеет оценку 117160
HDMI:EDID CEA режим (20) 1920x1080i @ 50 Гц с пиксельной синхронизацией 74 МГц имеет результат 128680
HDMI:EDID DMT mode (21) 1152x864p @ 75 Гц с пиксельной синхронизацией 108 МГц имеет оценку 43662
HDMI:EDID CEA режим (31) 1920x1080p @ 50 Гц с частотой пикселей 148 МГц имеет результат 232360
HDMI: режим EDID DMT (32) 1280x960p @ 60 Гц с тактовой частотой пикселей 108 МГц имеет оценку 98728
HDMI:EDID DMT mode (35) 1280x1024p @ 60 Гц с тактовой частотой пикселей 108 МГц имеет оценку 103643
HDMI:EDID DMT режим (36) 1280x1024p @ 75 Гц с тактовой частотой пикселей 135 МГц имеет результат 24576
HDMI: режим EDID DMT (47) 1440x900p @ 60 Гц с тактовой частотой пикселей 106 МГц имеет показатель 102760
HDMI: режим EDID DMT (51) 1600x1200p @ 60 Гц с тактовой частотой пикселей 162 МГц имеет показатель 140200
HDMI:EDID DMT mode (58) 1680x1050p @ 60 Гц с тактовой частотой пикселей 146 МГц имеет показатель 130840
HDMI:EDID DMT mode (81) 1366x768p @ 60 Гц с тактовой частотой пикселей 85 МГц имеет показатель 4062945
HDMI: режим EDID DMT (82) 1920x1080p @ 60 Гц с тактовой частотой пикселей 148 МГц имеет показатель 149416
HDMI0: предпочтительный режим EDID остался как CEA (16) 1920x1080p @ 60 Гц с пиксельной синхронизацией 148 МГц
HDMI:EDID имеет поддержку HDMI и аудио поддержку
edidparser завершился с кодом 0

Онлайн инструмент для декодирования

Вы также можете загрузить этот файл в онлайновый инструмент декодирования, например edid.tv

Примечание: в моем тесте edid.tv жаловался на неправильную контрольную сумму для одного из моих EDID - в настоящее время я не знаю обходного пути решения этой проблемы.

EDID.tv предоставляет богатый обзор информации EDID
EDID.tv

Поиск и устранение неисправностей tvservice / дамп EDID

Ничего не написано

Когда я бегу

tvservice -device 2 -d tmp/edid.dat

Я получаю "Ничего не написано!".

Попробуйте и проверьте следующее:

  • подключен ли ваш монитор к порту HDMI (нет, серьезно).
  • правильно ли указан идентификатор устройства? пожалуйста, используйте tvservice -list чтобы получить список идентификаторов, не просто скопируйте и вставьте мой пример с идентификатором устройства 2
  • попробуйте tvservice без -device 2
  • попробуйте перезагрузить Raspberry Pi (в этом конкретном случае возникают проблемы при горячем подключении мониторов, AFAIK) и снова запустите команды.
  • попробуйте другие параметры tvservice, чтобы отладить, возможен ли вывод данных с этого конкретного монитора (вот документация по tvservice)
  • некоторые телевизоры/мониторы неисправны и не могут предоставить EDID - попробуйте другой монитор, чтобы увидеть, есть ли разница.

2 комментариев

  1. Yoann Январь 26, 2022 в 5:32 пп

    Bonjour, j'obtiens cette erreur :
    tvservice не поддерживается при использовании драйвера vc4-kms-v3d.
    Аналогичные возможности доступны в стандартных инструментах linux
    например, modetest из libdrm-tests.

    Есть ли альтернатива?

    Мерси,

Комментировать