Informações EDID do monitor falsificado

9

Meu monitor é meio meticuloso. Às vezes, eu executo um programa que alterna entre resoluções e o monitor se recusa a fornecer suas informações EDID por alguns dias:

(/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)

Isso faz com que a placa de vídeo pense que a resolução máxima suportada é de 1600x1200, enquanto eu a rodava no 1680x1050 ideal que o manual do monitor diz que suporta. xrandrnem sequer lista esse modo como suportado.

Agora, estou tendo o mesmo problema novamente porque estava experimentando o Wine, o que causou uma falha no Xorg e me forçou a reiniciar.

Às vezes, descubro como recuperá-lo (esqueci como) e, às vezes, ele se corrige.

Na primeira vez que isso aconteceu, achei melhor fazer um backup das informações binárias do EDID read-edid, que salvei em um arquivo de 128 bytes no disco rígido. Isso me leva à minha pergunta:

Como você diz ao fglrx para ler as informações do EDID do arquivo e não tentar obtê-las no monitor?


Informação adicional:

Eu achava que isso era culpa da placa de vídeo, mas isso está acontecendo com uma nova placa de vídeo (ainda com drivers fglrx), bem como com novos cabos VGA.

O monitor é um Westinghouse LCM-22w3 conectado à porta VGA da placa de vídeo, uma ATI Radeon HD 3200.

Eu fiz algumas pesquisas e, aparentemente, essa é uma reclamação um tanto comum do LCM-22w3, mas ninguém parece ter idéia de como resolver o problema.

fglrx 8.92, xorg-server 1.9.5, kernel 2.6.38.7 x86_64 arch.

anfetamaquina
fonte

Respostas:

4

Quando usei um comutador VGA KVM de bloqueio EDID, usei um pequeno script para corrigir a resolução após o login:

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

Acho que consegui a linha de modo do xrandr de alguma forma (com o monitor conectado diretamente). Tentei colocá-lo no arquivo de configuração do X, mas o servidor X estúpido o ignorava por várias razões espúrias.

fstx
fonte
1
Obrigado, isso funcionou para mim. Além disso, para obter alguns valores padrão para minha tela, eu uso o comandocvt
remi
A propósito, se você tem 2 telas, quando define a resolução da segunda tela (por exemplo, tela externa com um laptop), não posso mais usar o arandr para fixar as posições da tela. Mas você ainda pode usar xrandr com --left-de ou o que quer
remi
1

Você pode tentar

Option "IgnoreEDID" "TRUE"

e especifique as informações do seu monitor manualmente. Se o IgnoreEDID não funcionar para você, tente

Option "UseEDIDFreqs" "FALSE"
Option "UseEDIDDpi" "FALSE"
Dr. JKL
fonte
1
[433447.647] (WW) fglrx (0): a opção "UseEDIDFreqs" não é usada [433447.647] (WW) fglrx (0): a opção "UseEDIDDpi" não é usada [433447.647] (WW) fglrx (0): opção "IgnoreEDID "não é usada [433447.647] (WW) fglrx (0): Opção "CustomEDID" não é usado
amphetamachine
Que distro é essa? Não tenho um sistema apropriado para testar (mas sei por experiência anterior que o CustomEDID deve funcionar, pelo menos) - você pode precisar de outros pré-requisitos para que um EDID personalizado funcione. Por exemplo: en.gentoo-wiki.com/wiki/Radeon#Custom_EDID
Dr. JKL
1
Este é o Slackware, mas isso não deve importar. Os drivers mencionados no link que você forneceu são para o driver F / OSS "radeon" que acompanha o Xorg e não o "fglrx" proprietário que eu uso (e preciso fazer minha aceleração 3D funcionar).
Amphetamachine
0

Uma opção não gratuita (ok, bastante cara) é usar o DVI Detective da Gefen . É um dispositivo que armazena em cache as informações EDID de um dispositivo e as fornece constantemente para um PC.

Eu tive que usá-los antes com PCs conectados a KVMs DVI que não reinicializariam seus monitores depois de trocar as portas KVM. Eles funcionaram muito bem para isso e também devem funcionar para seu uso.

afrazier
fonte