Вопрос или проблема
У меня есть монитор Dell 2007FP. Вот результат выполнения команды get-edid
:
paul@cube:~$ sudo get-edid -b 3 | parse-edid
3
Это версия read-edid 3.0.2. Готовьтесь к развлечениям.
Пытаюсь использовать интерфейс i2c
Пробую только 3, как вы просили.
128-байтный EDID успешно извлечен из шины i2c 3
Похоже, i2c был успешным. Хорошего дня.
Контрольная сумма верна
Section "Monitor"
Identifier "DELL 2007FP"
ModelName "DELL 2007FP"
VendorName "DEL"
# Монитор произведен на 11-й неделе 2009 года
# Версия EDID 1.3
# Цифровой дисплей
DisplaySize 410 310
Gamma 2.20
Option "DPMS" "true"
Horizsync 30-83
VertRefresh 56-76
# Максимальная частота пикселей 170МГц
# Не предоставляет стандартный режим: 1280x1024, 60Гц
# Не предоставляет стандартный режим: 1600x1200, 60Гц
# Не предоставляет стандартный режим: 1152x864, 75Гц
Modeline "Mode 0" +hsync +vsync
EndSection
Что означает Не предоставляет стандартный режим
? Предоставляет ли мой дисплей какую-либо информацию о видеорежиме источнику сигнала?
Просматривая монитор HP ZR24w, выполнение parse-edid
из установки Ubuntu 24.04.1 LTS приводит к 6 отчетам о Не предоставляет стандартный режим
:
$ sudo get-edid -b 1 | parse-edid
1
Это версия read-edid 3.0.2. Готовьтесь к развлечениям.
Пытаюсь использовать интерфейс i2c
Пробую только 1, как вы просили.
128-байтный EDID успешно извлечен из шины i2c 1
Похоже, i2c был успешным. Хорошего дня.
Контрольная сумма верна
Section "Monitor"
Identifier "HP ZR24w"
ModelName "HP ZR24w"
VendorName "HWP"
# Монитор произведен на 2-й неделе 2011 года
# Версия EDID 1.3
# Цифровой дисплей
DisplaySize 540 350
Gamma 2.20
Option "DPMS" "true"
Horizsync 24-80
VertRefresh 59-61
# Максимальная частота пикселей 170МГц
# Не предоставляет стандартный режим: 1280x960, 60Гц
# Не предоставляет стандартный режим: 1280x1024, 60Гц
# Не предоставляет стандартный режим: 1440x900, 60Гц
# Не предоставляет стандартный режим: 1600x1200, 60Гц
# Не предоставляет стандартный режим: 1680x1050, 60Гц
# Не предоставляет стандартный режим: 1920x1080, 60Гц
Modeline "Mode 0" +hsync -vsync
EndSection
В то время как при использовании edid-decode
информация о временных характеристиках отображается для 6 стандартных режимов:
$ sudo get-edid -b 1 | edid-decode
1
Это версия read-edid 3.0.2. Готовьтесь к развлечениям.
Пытаюсь использовать интерфейс i2c
Пробую только 1, как вы просили.
128-байтный EDID успешно извлечен из шины i2c 1
Похоже, i2c был успешным. Хорошего дня.
edid-decode (hex):
00 ff ff ff ff ff ff 00 22 f0 6a 28 01 01 01 01
02 15 01 03 80 36 23 78 2e fc 81 a4 55 4d 9d 25
12 50 54 21 08 00 81 40 81 80 95 00 a9 40 b3 00
d1 c0 01 01 01 01 28 3c 80 a0 70 b0 23 40 30 20
36 00 22 60 21 00 00 1a 00 00 00 fd 00 3b 3d 18
50 11 00 0a 20 20 20 20 20 20 00 00 00 fc 00 48
50 20 5a 52 32 34 77 0a 20 20 20 20 00 00 00 ff
00 43 4e 54 31 30 32 31 34 30 36 0a 20 20 00 83
----------------
Блок 0, базовый EDID:
Версия структуры EDID и ревизия: 1.3
Идентификация производителя и продукта:
Производитель: HWP
Модель: 10346
Серийный номер: 16843009
Изготовлено: неделя 2 2011 года
Основные параметры и функции дисплея:
Цифровой дисплей
Максимальный размер изображения: 54 см x 35 см
Гамма: 2.20
Уровни DPMS: выключено
Дисплей с RGB-цветом
Привычное (sRGB) цветовое пространство является основным цветовым пространством
Первое подробное время является предпочтительным
Характеристики цвета:
Красный : 0.6435, 0.3349
Зеленый: 0.3037, 0.6132
Синий : 0.1464, 0.0703
Белый: 0.3125, 0.3291
Установленные временные характеристики I и II:
DMT 0x04: 640x480 59.940476 Гц 4:3 31.469 кГц 25.175000 МГц
DMT 0x09: 800x600 60.316541 Гц 4:3 37.879 кГц 40.000000 МГц
DMT 0x10: 1024x768 60.003840 Гц 4:3 48.363 кГц 65.000000 МГц
Стандартные временные характеристики:
DMT 0x20: 1280x960 60.000000 Гц 4:3 60.000 кГц 108.000000 МГц
DMT 0x23: 1280x1024 60.019740 Гц 5:4 63.981 кГц 108.000000 МГц
DMT 0x2f: 1440x900 59.887445 Гц 16:10 55.935 кГц 106.500000 МГц
DMT 0x33: 1600x1200 60.000000 Гц 4:3 75.000 кГц 162.000000 МГц
DMT 0x3a: 1680x1050 59.954250 Гц 16:10 65.290 кГц 146.250000 МГц
DMT 0x52: 1920x1080 60.000000 Гц 16:9 67.500 кГц 148.500000 МГц
Подробные временные дескрипторы:
DTD 1: 1920x1200 59.950171 Гц 8:5 74.038 кГц 154.000000 МГц (546 мм x 352 мм)
Hfront 48 Hsync 32 Hback 80 Hpol P
Vfront 3 Vsync 6 Vback 26 Vpol N
Пределы диапазона отображения:
Диапазоны монитора (GTF): 59-61 Гц V, 24-80 кГц H, макс. частота точки 170 МГц
Название продукта дисплея: 'HP ZR24w'
Серийный номер продукта дисплея: 'CNT1021406'
Контрольная сумма: 0x83
Исходный код parse-edid.c содержит следующий блок для обработки стандартных временных характеристик:
//Стандартные временные характеристики - поместите их после dtd's, потому что так предпочтения будут наверху.
/* Я начал это делать, но думаю, что это не обязательно. Думаете, я не прав? Сделайте сами. Я комментирую, что вы упускаете.*/
int refresh;
for (i = 0x26; i < 0x36; i += 0x2) { //читаем список разрешений...
if (!(edid[i] == 1 && edid[i+1] == 1)) { //пропускаем, если это "пустое"
hres = (((int)edid[i]) + 31) * 8;
switch ((edid[i+1] & 0xC0) >> 6) {
case 0: vres = (hres * 10) / 16; //16:10 соотношение сторон
break;
case 1: vres = (hres * 3) / 4; //4:3
break;
case 2: vres = (hres * 4) / 5; //5:4
break;
case 3: vres = (hres * 9) / 16; //16:9
break;
default: diewemail("Случилось невозможное.\n");
}
refresh = (edid[i+1] & 0x3F) + 60;
printf("\t#Не предоставляет стандартный режим: ");
printf("%ix%i, %iHz\n", hres, vres, refresh);
/*
printf("\tMode\t\"%ix%i\"\n", hres, vres);
printf("\t\tDotClock\t%.6f\n", (float)((hres * vres) * (((edid[i+1] & 0x3f) + 60)) / 1000000)); //(пикселей/экран) * (экран/сек) / миллион = мегапиксели/сек, также известный как dot clock в мГц
printf("\t\tHTimings\t\n");*/
Обратите внимание, что последние 3 оператора закомментированы.
Что означает
Не предоставляет стандартный режим
?
В соответствии с исходным кодом parse-edid
, это означает, что автор программы решил выводить Не предоставляет стандартный режим
для стандартных временных режимов, вместо сообщения временной информации.
Предоставляет ли мой дисплей какую-либо информацию о видеорежиме источнику сигнала?
Если parse-edid
сообщает о стандартном режиме, это означает, что монитор поддерживает данный режим.
Учитывая, что edid-decode
сообщает больше информации, рекомендуется использовать edid-decode
вместо этого.
Ответ или решение
Что означает "Not giving standard mode" в get-edid?
Когда в выводе утилиты get-edid
отображается сообщение "Not giving standard mode", это связано с особенностями написания исходного кода утилиты parse-edid
, которая интерпретирует данные EDID (Extended Display Identification Data). Давайте более подробно разберем, что происходит, и ответим на оба вопроса.
Детальное объяснение
Что такое EDID?
EDID — это стандарт, который определяет формат данных, используемый дисплеем для передачи информации о своих возможностях сигналу источника, например, компьютеру. Эти данные включают в себя информацию о поддерживаемых разрешениях, частотах обновления, а также физические размеры экрана и многое другое.
Как работает get-edid и parse-edid?
Утилита get-edid
получает EDID через интерфейс I2C и передает эти данные программе parse-edid
для интерпретации и вывода в человеко-читаемом формате. В исходном коде parse-edid
разработчики прокомментировали некоторые строки, которые могли бы отображать тайминги стандартных режимов. Вместо этого они вывели строку "Not giving standard mode", сигнализируя, что стандартный режим распознан, но его тайминги не выводятся.
Ответ на вопрос о предоставлении информации монитором
Предоставляет ли мой монитор информацию о видеорежимах источнику сигнала?
Да, ваш монитор действительно предоставляет информацию о видеорежимах. Если утилита parse-edid
отображает стандартный режим, это означает, что монитор поддерживает этот режим. Однако сам parse-edid
не выводит детализированную информацию (например, горизонтальные и вертикальные тайминги) для этих стандартных режимов из-за комментариев в коде.
Рекомендации
Использование edid-decode
Как видно из предоставленной информации, edid-decode
предоставляет более полное описание таймингов для стандартных режимов. Мы рекомендуем использовать edid-decode
для более детализированного и точного отображения всех характеристик монитора. Кроме того, более полные данные могут быть полезны для диагностики или настройки системы.
Заключение
Используя информацию, предоставленную edid-decode
, вы можете получить полное представление о возможностях вашей техники. Несмотря на то, что parse-edid
не выводит все возможные тайминги, монитор передает необходимую информацию сигналу источнику, и это позволяет выбрать оптимальные режимы работы дисплея.
Такой подход способствует лучшему пониманию особенностей работы утилит для получения данных EDID и поможет сделать осознанный выбор инструментов для работы с дисплеем.