Краткое содержание: допилил и форкнул утилиту прошивки edid в edid-checked-writer чтоб прошить сквозной HDMI-эмулятор монитора.
Предистория: имеется 1440p монитор Samsung S27A850D, в котором есть DP и DVI-dual-link. Но нет HDMI (видимо к моменту выхода монитора HDMI не умел в 1440p).
Хотелка: чтоб был способ его по-простому подключить к любому hdmi-источнику и работал бы в 1440p.
Изначально был взят просто пассивный провод-переходник HDMI->DVI-single-link, но с ним не достигалось нужное разрешение, так как монитор в своём EDID не выдавал совместимости с HDMI, в результате чего источник сигнала понимал что используется переходник и не выдаёт битрейта HDMI для 1440p. Однако по предварительным тестам с этим переходником + программным подсовыванием EDID от HDMI-1440p-монитора https://github.com/linuxhw/EDID/blob/master/Digital/Samsung/SAM0E0C/38CD24A55A35 стало ясно что сам монитор более высокий битрейт поддерживает. Оставалось только научить его выдавать этот EDID по кабелю.
Была взята утилита edid-rw, сделал бэкап существующего EDID, дал команду на запись нового - утилита молча вышла с кодом 0 ничего не написав. Оказалось что, во-первых, утилита не проверяет успешность записи, а во-вторых что EEPROM внутри монитора в режиме только чтения (а физически находится под большой впаянной пластиной, когда-то разбирал его ранее).
Поэтому вместо выпаивания и прошивки был выбран более простой и повторяемый путь. Куплен «адаптер HDMI для KVM» - отличается от обычного эмулятора монитора тем, что имеет и выход на который идёт сквозное прохождение сигнала. Маленький металлический с надписями Source и Sink. Добавлен на конец провода-переходника, и внутри этого адаптера оказался уже вполне прошиваемый EEPROM, который всегда представляется источнику сигнала вместо того что передаёт моник.
По этому поводу доработал прошивальщик EDID проверкой на успешность записи и внятным отображением этого резульатата, потестил в разных сценариях и выложил форк на который ссылка вначале. Автор оригинального скрипта edid-rw ещё 4 года назад написал что «не заинтересован в развитии, форкайте если хотите»
Теперь окирпичить монитор из-под линукса стало чуть-чуть удобнее! (или можно случайно окирпичить оперативку, если указать при прошивке не ту шину и прошить EEPROM памяти; я добавил одну проверку призванную это предотвратить, но она ненадёжная; в оригинале вообще не было)