Как сделать EDID

Можно создать редкий файл как это с dd:

dd of=file bs=1 seek=2G count=0
$ du file
0       disk
$ du --apparent-size file
2097152 disk
4
21.10.2013, 22:48
2 ответа

Где/lib/firmware?

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

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

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

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

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

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

Второй хитрый бит находит, что правильные значения помещают в 1024x768.S для Вашего монитора. Это достигается путем выполнения cvt генерировать Ваш желаемый modeline и затем выполнение небольшой арифметики. Для разрешения 1600x900 с частотой обновления на 60 Гц и уменьшенным очищением (рекомендуемый для LCDs), Вы имели бы:

[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))

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

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

5
27.01.2020, 20:49
  • 1
    мог Вы объяснять вывод команды CVT, потому что я испытываю затруднения при извлечении информации из вывода, чтобы вставить файл, который Вы вставили выше –  r004 27.10.2013, 11:24
  • 2
    Для проверки crc, сделал Вас, читает последний абзац HOWTO.txt? После того, как Вы скомпилируете и создадите edid файл, он говорит для выполнения edid-decode <edid.bin> где <edid.bin> название соответствовавшего микропрограммного двоичного файла. Эта программа произведет большую информацию о edid, который Вы просто создали, включая корректное значение CRC. Вы затем устанавливаете это значение в #define CRC строка и компиляция снова. –  drs 30.10.2013, 16:18
  • 3
    Сделайте Вас, все еще нуждаются в помощи с использованием cvt вывод? –  drs 30.10.2013, 16:19

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

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

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

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

4
27.01.2020, 20:49

Теги

Похожие вопросы