Как сделать EDID

Я прочитал этот пост здесь, и я попытался покончить с тем, что понял с поста, но вот несколько вопросов:

  1. Где находится /lib/firmware расположенная, например, в /usr/src/linux/lib/firmware или /usr/lib/firmware или в другом месте?
  2. Могу ли я использовать EDID pre-build в том адресе, который дал сообщение, и настроить его с помощью редактора, такого как Gvim, и передать его в ядро, используя информацию ниже? Разрешение, которое я пытаюсь установить, – 1600×900 @ 60:

      1: [H PIXELS RND] : 1600.000000 2: [V LINES RND] : 450.000000 3: [V FIELD RATE RQD] : 120.000000 4: [TOP MARGIN (LINES)] : 8.000000 5: [BOT MARGIN (LINES)] : 8.000000 6: [INTERLACE] : 0.500000 7: [H PERIOD EST] : 16.648841 8: [V SYNC+BP] : 33.000000 9: [V BACK PORCH] : 30.000000 10: [TOTAL V LINES] : 500.500000 11: [V FIELD RATE EST] : 120.008471 12: [H PERIOD] : 16.650017 13: [V FIELD RATE] : 120.000000 14: [V FRAME RATE] : 60.000000 15: [LEFT MARGIN (PIXELS)] : 32.000000 16: [RIGHT MARGIN (PIXELS)] : 32.000000 17: [TOTAL ACTIVE PIXELS] : 1664.000000 18: [IDEAL DUTY CYCLE] : 25.004995 19: [H BLANK (PIXELS)] : 560.000000 20: [TOTAL PIXELS] : 2224.000000 21: [PIXEL FREQ] : 133.573440 22: [H FREQ] : 60.060000 17: [H SYNC (PIXELS)] : 176.000000 18: [H FRONT PORCH (PIXELS)] : 104.000000 36: [V ODD FRONT PORCH(LINES)] : 1.500000 

    Если да, где я могу получить файл edid.bin ?

  3. Или я должен создать файл EDID с нуля; если да, то как я могу сделать файл EDID?

2 Solutions collect form web for “Как сделать EDID”

Где находится / lib / прошивка?

Конечным местом отдыха для вашей прошивки в режиме EDID должно быть под /lib/firmware/edid . Тем не менее, во многих дистрибутивах linux приведен пример источника встроенного программного обеспечения для настройки режима EDID и Makefile в каталоге для документации ядра Linux. Для Fedora это предоставляется пакетом kernel-doc и находится в /usr/share/doc/kernel-doc-3.11.4/Documentation/EDID . После компиляции прошивки для вашего монитора вы можете поместить двоичный файл edid в любом месте, доступное для grub при загрузке, но соглашение есть /lib/firmware/edid/ .

Могу ли я настроить существующий файл edid.bin в соответствии с разрешением моего монитора?

Файлы edid.bin находятся в двоичном формате, поэтому правильный способ его настройки не будет интуитивным.

Как я могу сделать EDID-файл с нуля?

Сообщение, которое вы предоставили, ссылается на официальную документацию ядра для создания вашего настраиваемого файла edid. Эти же инструкции также HOWTO.txt файле HOWTO.txt в каталоге документации ядра, указанном выше. По сути, вы редактируете один из примеров файлов прошивки, например 1024x768.S , предоставляя параметры для вашего монитора. Затем скомпилируйте его с предоставленным Makefile и настройте grub для использования новой прошивки.

Для меня для этого было два сложных момента. Первый – это то, где можно найти исходный файл edid, который необходимо скомпилировать. На это был дан ответ Fedora.

Второй сложный бит – найти правильные значения для размещения в 1024x768.S для вашего монитора. Это достигается за счет запуска cvt для генерации желаемой модели и последующей небольшой арифметики. Для разрешения 1600×900 с частотой обновления 60 Гц и уменьшенным гашением (рекомендуется для ЖК-дисплеев) у вас будет:

 [user@host ~]$ cvt 1600 900 60 -r # 1600x900 59.82 Hz (CVT 1.44M9-R) hsync: 55.40 kHz; pclk: 97.50 MHz Modeline "1600x900R" 97.50 1600 1648 1680 1760 900 903 908 926 +hsync -vsync 

Вы можете сопоставить последнюю строку этого вывода с инструкциями в HOWTO.txt :

 Please note that the EDID data structure expects the timing values in a different way as compared to the standard X11 format. X11: HTimings: hdisp hsyncstart hsyncend htotal VTimings: vdisp vsyncstart vsyncend vtotal EDID: #define XPIX hdisp #define XBLANK htotal-hdisp #define XOFFSET hsyncstart-hdisp #define XPULSE hsyncend-hsyncstart #define YPIX vdisp #define YBLANK vtotal-vdisp #define YOFFSET (63+(vsyncstart-vdisp)) #define YPULSE (63+(vsyncend-vsyncstart)) 

cvt – пятое число в последней строке выхода cvt ( 1600 1648 1680 1760 ) – это четыре параметра «HTimings» ( hdisp hsyncstart hsyncend htotal ), а 6-е – 9-е числа ( 900 903 908 926 ) – это четыре «VTimings», параметры ( vdisp vsyncstart vsyncend vtotal ).

Наконец, вам нужно будет скомпилировать прошивку во второй раз, чтобы установить правильное значение CRC в последней строке (подробнее см. HOWTO.txt ).

Я написал помощника, чтобы легко генерировать двоичные файлы EDID с правильной контрольной суммой из формата модели Xorg:

https://github.com/akatrevorjay/edid-generator

Вы можете использовать это, чтобы легко создать себе свежие бункеры. Я использую его, чтобы получить 60 Гц на моем мониторе, а также справиться с проблемами EDID от Apple в Thunderbolt.

Есть инструкции по его использованию по этой ссылке!

  • Исправление источника ядра через git
  • Самый быстрый и простейший способ «живой загрузки» только что скомпилированного ванили?
  • Является ли / dev / nvram опасным для записи?
  • Что делает ядро ​​Linux с неизвестными параметрами ядра?
  • Почему необходимо скомпилировать все ядро ​​для простого патча?
  • Отслеживать использование модуля ядра Linux во времени
  • Linux Восстановление операционной системы после аномального завершения
  • Как отслеживаются ошибки ядра Linux?
  • Как работает вызов async_port_probe () в ядре linux?
  • Почему вы не должны редактировать файл конфигурации ядра .config?
  • Версия ядра Arch Linux не меняется даже после обновления
  • Linux и Unix - лучшая ОС в мире.