Поддельный монитор EDID информация

Мой монитор вроде привередлив. Иногда я запускаю программу с циклическим разрешением, и монитор отказывается предоставлять информацию EDID в течение нескольких дней:

(/var/log/Xorg.0.log)
[   239.653] (II) fglrx(0): Restoring Recent Mode via PCS is not supported in RANDR 1.2 capable environments
[   260.113] (II) fglrx(0): Cannot get EDID information for CRT1
[   271.166] (II) fglrx(0): Cannot get EDID information for CRT1
(^ ran xrandr, this happens)

Это заставляет видеокарту думать, что максимальное разрешение, которое она будет поддерживать, составляет 1600x1200, тогда как я использовал оптимальное разрешение 1680x1050, которое, как сказано в руководстве к монитору, поддерживает. xrandr даже не перечисляет этот режим как поддерживаемый.

Теперь у меня снова возникла та же проблема, потому что я экспериментировал с Wine, который вызвал сбой Xorg и заставил меня перезагрузиться.

Иногда я придумываю, как вернуть его (я просто забыл, как), а иногда это исправляется.

В первый раз, когда это произошло, я решил, что лучше сделать резервную копию двоичной информации EDID, используя read-edid, который я сохранил в 128-байтовом файле на моем жестком диске. Это приводит меня к моему вопросу:

Как вы скажете fglrx прочитать информацию EDID из файла, а не пытаться получить ее с монитора?


Дополнительная информация:

Раньше я думал, что это вина видеокарты, но это происходит с новой видеокартой (все еще драйверы fglrx), а также с новыми кабелями VGA.

Монитор представляет собой Westinghouse LCM-22w3, подключенный к порту VGA видеокарты ATI Radeon HD 3200.

Я провел некоторое исследование, и, по-видимому, это довольно распространенная жалоба на LCM-22w3, но, похоже, никто не знает, как решить проблему.

fglrx 8.92, xorg-server 1.9.5, ядро ​​2.6.38.7 x86_64 arch.

3 ответа

Когда я использовал VID KVM-переключатель с блокировкой EDID, я использовал небольшой скрипт для исправления разрешения после входа в систему:

xrandr --newmode "1600x1200_60.00"  162.00  1600 1664 1856 2160  1200 1201 1204 1250 +hsync +vsync
xrandr --addmode VGA-1 1600x1200_60.00
xrandr --output VGA-1 --mode 1600x1200_60.00

Я думаю, что я получил строку режима от xrandr как-то (с подключенным монитором напрямую). Я попытался поместить его в файл конфигурации X, но тупой X-сервер продолжал игнорировать его по различным ложным причинам.

Вы можете попробовать

Option "IgnoreEDID" "TRUE"

а затем укажите информацию вашего монитора вручную. Если IgnoreEDID не работает для вас, попробуйте

Option "UseEDIDFreqs" "FALSE"
Option "UseEDIDDpi" "FALSE"

Одним из несвободных (хорошо, довольно дорогих) вариантов является использование DVI Detective от Gefen. Это устройство, которое будет кэшировать информацию EDID с устройства, а затем постоянно предоставлять ее на ПК.

Раньше мне приходилось использовать их с ПК, подключенными к DVI KVM, которые не будут повторно инициализировать свои дисплеи после переключения портов KVM. Они отлично сработали для этого и должны работать для вас.

Другие вопросы по тегам