9

Мой монитор вроде привередлив. Иногда я запускаю программу с циклическим разрешением, и монитор отказывается предоставлять информацию 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 ответа3

4

Когда я использовал 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-сервер продолжал игнорировать его по различным ложным причинам.

1

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

Option "IgnoreEDID" "TRUE"

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .