Resolução não detectada com xrandr

Correção para quando o xrandr não detecta a resolução de forma correta

#desktop, #unix

Durante um bom tempo meu xrandr funcionava perfeitamente com o parâmetro --auto, mas depois de alguma atualização ele parou de funcionar, ainda detectava o monitor normalmente, mas a resolução era abaixo do experado, felizmente achei uma forma de forçar uma resolução suportada e maior.

Primeiro certifique-se de que a resolução é realmente suportada, no meu caso não precisei consultar nenhum manual nem nada já que ocasionalmente tudo era detectado normalmente (inclusive uma das minhas soluções era reiniciar o X).

No terminal é necessário primeiro identificar todos os parâmetros da configuração:

$ cvt 1440 900 59.89
# 1440x900 59.75 Hz (CVT) hsync: 55.80 kHz; pclk: 106.25 MHz
Modeline "1440x900_59.89"  106.25  1440 1528 1672 1904  900 903 909 934 -hsync +vsync

Agora adicionar um novo modo, copiando tudo depois de Modeline:

$ xrandr --newmode "1440x900_59.89"  106.25  1440 1528 1672 1904  900 903 909 934 -hsync +vsync

Antes de usar o novo modo é preciso adicioná-lo ao monitor:

$ xrandr --addmode DP2 1440x900_59.89

Lembrando que DP2 é como meu monitor é chamado, outros nomes comuns são S-video, eDP1, … Para ter certeza do nome do seu monitor basta executar o xrandr sem parâmetros nenhum.

E por fim usar o xrandr normalmente:

$ xrandr --output DP2 --mode 1440x900_59.89

O monitor fica meio estranho fazendo isso manualmente, caso eu encontre outra solução eu atualizo o post (ou se você encontrar por favor comente).

Referências