Boa noite a todos!
Eu uso um monitor de tubo VGA para meu computador (LG Flatron Ez T710SH). Minha placa de vídeo não tem saídas VGA, somente tem uma DVI-I, uma DVI-D e duas HDMI, portanto eu uso meu monitor com um adaptador de DVI-I para VGA.
O adaptador que eu estava usando funcionava normalmente, porém o monitor aparecia como “desconhecido”, e sempre que o computador era desligado ou suspenso, o monitor ficava “sem sinal” ao invés de ficar em modo standby. Então troquei por um adaptador DVI-A para VGA, e este sim resolveu, o monitor é reconhecido pelo computador, e fica em standby quando o computador é desligado ou suspenso.
Porém agora surgiu um novo problema: eu utilizava resoluções customizadas com este monitor, sendo 1152x921 para uso normal (porque 1152x854 fica com bordas pretas, e 1280x1024 é somente 60Hz), e 1440x900 para jogar. Criei essas resoluções adicionando essas linhas no Xprofile:
Após trocar de adaptador, esses comandos pararam de funcionar. Quando tento executá-los no terminal manualmente, exibe o seguinte erro:
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 18 (RRAddOutputMode)
Serial number of failed request: 37
Current serial number in output stream: 38
É como se o Xrandr estivesse bloqueando a resolução customizada, pelo fato de ser algo fora das resoluções padrão do monitor… Alguém sabe de alguma forma de “burlar” esse bloqueio do Xrandr, sem que eu tenha que voltar a usar o adaptador antigo?
Obs: No Windows, eu ainda consigo recriar a resolução customizada normalmente, pelo painel de controle da NVIDIA, conforme a foto.
Screen 0: minimum 8 x 8, current 1280 x 960, maximum 16384 x 16384
DVI-I-0 connected primary 1280x960+0+0 (normal left inverted right x axis y axis) 330mm x 240mm
1024x768 85.00 + 75.03 70.07 60.00
1280x1024 60.02
1280x960 70.00*
1152x864 75.00
800x600 85.06 75.00 72.19 60.32 56.25
640x480 85.01 75.00 72.81 59.94
DVI-I-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)
HDMI-1 disconnected (normal left inverted right x axis y axis)
DVI-D-0 disconnected (normal left inverted right x axis y axis)
1440x900_75.00 (0x227) 136.750MHz -HSync +VSync
h: width 1440 start 1536 end 1688 total 1936 skew 0 clock 70.64KHz
v: height 900 start 903 end 909 total 942 clock 74.98Hz
921p (0x228) 103.250MHz -HSync +VSync
h: width 1152 start 1224 end 1344 total 1536 skew 0 clock 67.22KHz
v: height 921 start 924 end 934 total 961 clock 69.95Hz
480i (0x229) 25.000MHz -HSync +VSync Interlace
h: width 640 start 664 end 720 total 800 skew 0 clock 31.25KHz
v: height 480 start 483 end 487 total 522 clock 119.73Hz
Pelo o que entendi antes você conseguia usar resoluções customizadas com esse monitor (esse monitor pelo que pesquizei é 1280x1024 75Hz, parecido com um que eu tinha) usando o outro adaptador, que não reconhecia o monitor, já com esse novo adaptador que reconhece o monitor não é mais possivel setar essas resoluções customizadas.
Acho que seja pelo fato da resolução que você quer usar seja acima da resolução do monitor, antes dava certo porque o monitor não era reconhecido corretamente e aceitava qualquer resolução, quando eu seto um resolução acima do meu monitor ele fica sem imagem (pelo programa gráfico de configuração mesmo) acho que seja por causa disso.
Esse modelo na verdade é 60Hz em 1280x1024. Só consigo usar a 75Hz com a resolução 1152x854, ou a customizada que eu usava de 1152x921 (que também parou de funcionar). EDIT: Eu também conseguia usar 1440x900 com 75Hz, antes da troca de adaptador.
O problema não é a resolução ser maior que a suportada, pois resoluções customizadas menores do que 1280x1024 também não são mais aceitas pelo Xrandr. (E também que o monitor suporta a resolução de 1440x900, pois se não suportasse teria ficado fora de escala quando eu conseguia adicioná-la).
Como eu também mencionei, no Windows eu ainda consigo criar a resolução customizada de 1440x900, sem problema nenhum. Acredito que esteja faltando alguma coisa para o Xrandr permitir que eu crie as resoluções customizadas novamente…
Depois de muito tempo achei uma solução para o problema.
O adaptador DVI-I para VGA antigo ele não mostrava o Edid do monitor, então era fácil criar resoluções personalizadas. Quando troquei por um adaptador que é capaz de deixar o monitor em modo suspensão ao invés de “sem sinal”, ele também conseguia ler o Edid do monitor que bloqueava resoluções diferentes das que o próprio monitor fornecia (mesmo que ele seja compatível). Para resolver foi muito simples:
No xorg.conf, na sessão “Device”, basta adicionar essas duas linhas: Option “UseEDID” “false” Option “ModeValidation” “NoEdidModes”
No caso hoje em dia eu uso AMD e nesse caso foi adicionado no /etc/X11/xorg.conf.d/10-amdgpu.conf. Mas funciona se usar arquivo xorg.conf e funciona com NVIDIA. Que é como eu estava usando enquanto ainda usava NVIDIA.
Depois disso, basta reiniciar ou sair da sessão.
Também é possível adicionar as resoluções customizadas diretamente no arquivo de configuração na sessão “monitor”, não precisando colocar xrandr --newmode e xrandr --addmode no ~/.xprofile. Dessa forma:
Lembrando que as linhas “Modeline” são obtidas com o comando cvt [resolucaoX] [resolucaoY] [taxa de atualizacao]. (Ex: cvt 1280 960 70). Lembre-se de testar antes de colocar no arquivo de configuração.