terça-feira, 15 de novembro de 2016

Comando xrandr para alterar resolução inexistente para o monitor

xrandr

Primeiro um pouco da minha história, precisei e busquei isso a uns dois anos atrás quando eu tinha um Netbook Asus 1011CX, Intel Atom com 1 GB de RAM, e a resolução 1280x720 ficava ruim para a tela, assim como agora em um outro PC com o mesmo Intel Atom tenho o mesmo problema de resolução, tanto quanto que aparecem dois monitores como se fosse um notebook com um outro monitor VGA conectado.
Dito isso, vamos a dica que para um bom uso e visualização nesse PC, da mesma forma que eu usava no netbook a anos atrás, eu alterava para 1280x800.

DICA

Abra o terminal primeiramente e comande para verificar as saídas:
xrandr
Você terá uma saída mais ou menos como a minha, porém a minha servira para você apenas como exemplo, já que como eu disse anteriormente aqui parece que tenho dois monitores conectados, quando na verdade tenho apenas um VGA:

creto2@creto2-desktop:~$ xrandr
Screen 0: minimum 8 x 8, current 1280 x 800, maximum 32767 x 32767
LVDS1 connected (normal left inverted right x axis y axis)
   1024x768      60.00 +
   800x600       60.32    56.25  
   640x480       59.94  
   512x384       60.00  
VGA1 connected primary 1280x800+0+0 (normal left inverted right x axis y axis) 340mm x 270mm
   1280x720      59.86 +
   1280x800      59.81* 
   1024x768      75.08    70.07    60.00  
   832x624       74.55  
   800x600       72.19    75.00    60.32    56.25  
   640x480       75.00    72.81    66.67    60.00  
   720x400       70.08  
   1280x800_60.00  59.81  
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
creto2@creto2-desktop:~$ 

Nessa saída acima o que precisamos é apenas saber a nomenclatura dos monitores, que no meu caso são, VGA1 e LVDS1, seguindo a ideia é ver se a resolução pretendida será suportada, para isso comande:
cvt 1280 800 60
Na saída deste outro comando acima você irá copiar tudo após "Modeline", ou seja:
creto2@creto2-desktop:~$ cvt 1280 800 60
# 1280x800 59.81 Hz (CVT 1.02MA) hsync: 49.70 kHz; pclk: 83.50 MHz
Modeline "1280x800_60.00"   83.50  1280 1352 1480 1680  800 803 809 831 -hsync +vsync
creto2@creto2-desktop:~$
Primeira parte já sabemos, de agora em diante é fixar a resolução que queremos para o monitor escolhido:
xrandr --newmode "1280x800_60.00"   83.50  1280 1352 1480 1680  800 803 809 831 -hsync +vsync
Como diz o comando acima, vai inserir um novo modo as opções:
xrandr --addmode VGA1 1280x800_60.00
Esse outro adiciona a opção para ficar viável o último comando:
xrandr --ouput VGA1 --mode 1280x800_60.00
Depois disso você pode ir as configurações de monitor da sua distribuição e ajustar nessa nova resolução, quase pronto..., é ainda falta uma última coisa já que quase sempre essas configurações não serão fixas e em um reboot irá se apagar, para isso em distros Xfce, Gnome (não tenho certeza) há um arquivo oculto chamado .profile e nele vamos colocar os comandos acima, depois de salvar as configurações no aplicativo de monitor da distribuição usada

Marque como primário, escolha a resolução e clique em "Aplicar" e voltemos para o terminal, para terminar o sufoco, então no terminal e abrindo o arquivo com um editor avançado que pode ser nano, mousepad, gedito, etc, mas que aqui vou usar o padrão do xfce4:
mousepad ~.profile
E quando o arquivo for aberto, não mecha em nada que houver nele, no final do arquivo apenas adicione, os 3 comandos que fizemos acima:
xrandr --newmode "1280x800_60.00"   83.50  1280 1352 1480 1680  800 803 809 831 -hsync +vsync
xrandr --addmode VGA1 1280x800_60.00
xrandr --output VGA1 --mode 1280x800_60.00
Salve e feche o arquivo. No KDE você terá que criar um script dar permissões de execução e adicioná-lo na inicialização do sistema.

Bem é isso! Sei que tem muitas referências na internet sobre o assunto, mas deixo aqui para os leitores que aqui vierem.

Fontes:
Casa do Pinduvoz
Linux Mint Brasil | Alexandre Quintela