Forçar resolução de tela no Linux

Instalou uma nova distribuição Linux e não encontrou uma resolução adequada para o seu monitor e sabe que sua placa suporta, o problema pode esta no seu drive de vídeo ele não foi reconhecido na distribuição que você esta utilizando. Para corrigir esse problemas é simples pois temos o comando xrandr que vai te ajudar a resolver esse probleminha. O xrandr é uma extensão do RandR ele permite sua manipulação via linha de comando para alterar diversos parâmetros do vídeo como, resolução, rotação e saídas padrão.

Passo a Passo em Vídeo 


Vamos aprender a resolver isso utilizando o terminal

Antes de adicionar uma resolução precisamos verificar se ela já existe.

Abra o terminal e digite apenas o comando "xrandr" sem aspas. O resultado deve ser algo parecido com isso:
Note que no meu caso é exibido varias resoluções e que a resolução que esta setada é a que esta com "*". Isso indica a resolução que esta sendo usada no momento, na segunda linha note que começa com Virtual1, esse nome trata-se da saide de vídeo certamente no seu estará como DP1, VGA1, HDM1 guarde o nome dessa siada pois iremos utilizá-la em breve. 

Na sua saída do comando "xrandr" já tem a resolução adequada? se sim aplique o comando abaixo. 

xrandr -s 2500x1600

Somente esse comando fara alteração da resolução.

Agora se o seu não aparece na lista precisamos adicionar a resolução manualmente.
Antes de informar isso ao xrandr é preciso calcular as coordenadas da sua tela passar mais informações que ele precisara para criar um novo modo. E para essa tarefa podemos usar o comando "cvt".
Supomos que eu queira usar uma resolução que não é listada, por exemplo 1920×1080

No terminal digite o comando abaixo.

cvt  1920 1080 60
Informamos que queremos as informações para uma resolução de 1920 horizontal, 1080 vertical e a 60hz. 
Teremos uma siada semelhante a essa:
Com essas informações já conseguimos adicionar um novo modo de resolução através do comando xrandr. a parte que vamos usar do comando cvt é apenas as informações a depois da linha modeline.

 "1920x1080_60.00" 9.25 1920 1976 2160 2400 60 63 73 76 -hsync +vsync

Agora vamos usar essas informações para adicionar o novo modo.

xrandr --newmode "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
Não deve retornar nenhuma mensagem no terminal caso dê tudo certo. Se retornar reveja os passos anteriores ou se não saiu nada errado na escrita dos comandos. Criamos o modo mas ainda falta adicionar esse modo nas opções do xrandr para o seu monitor. Segue o comando:

Lembre-se que onde esta escrito Virtual1 você deve colocar o nome que aparece na sua conexão de saída de vídeo.

xrandr --addmode Virtual1 1920x1080_60.00

Veja que passamos a saída e o modo. Em alguns casos assim que se executado esse ultimo comando a resolução já é setada automaticamente, não foi o caso dessa maquina virtual que estou usando. Então vamos dizer o xrandr que queremos usar o modo recém adicionado da seguinte forma:

xrandr --output Virtual1 --mode 1920x1080_60.00

A partir daqui sua resolução já esta setada da forma que você gostaria, mas ainda não podemos deixar assim, essas configurações do xrandr são válidas apenas durante a sessão corrente e, assim, logo que a máquina for reiniciada serão perdidas. Vamos ver uma forma de manter essa configuração permanente.

Vamos pegar todos os comandos já aplicado anteriormente com exceção do comando cvt e adiciona-lo no final do arquivo ".profile" dentro da home do sue usuário.

Abra no terminal o arquivo com um editor de texto de sua preferencia.

vim /home/seu_user/.profile 

xrandr --newmode "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
xrandr --addmode Virtual1 1920x1080_60.00
xrandr --output Virtual1 --mode 1920x1080_60.00

Cole esses três comandos no final do arquivo profile como na imagem abaixo.
Pronto agora é só salvar e sair.

Oferta na Amazon: Manual do Hacker: Aprenda a proteger aplicações web conhecendo as técnicas de pentest







7 Comentários

  1. Digite nano no lugar do vim !!!

    ResponderExcluir
  2. Cara Muito boa sua dica, Usando Arch Linux não achei o arquivo .profile porém descobri que esse arquivo se encontrava em /etc/profile usei o nano como root e adicionei as entradas no arquivo. após reiniciar caiu como uma luva!

    ResponderExcluir
  3. Aqui deu erro

    $ cvt 1600 900 60
    $ xrandr --newmode "1600x900_60.00" 118.25 1600 1696 1856 2112 900 903 908 934 -hsync +vsync~
    $ xrandr --addmode XWAYLAND0 1600x900_60.00
    $ xrandr --output XWAYLAND0 --mode 1600x900_60.00
    Error of failed request: BadValue (integer parameter out of range for operation)
    Major opcode of failed request: 139 (RANDR)
    Minor opcode of failed request: 21 (RRSetCrtcConfig)
    Value in failed request: 0x556
    Serial number of failed request: 29
    Current serial number in output stream: 29

    Alguma ideia?

    ResponderExcluir
  4. Alguém pode me ajudar?

    Após seguir a última etapa (.profile) ao reiniciar e realizar o login fica em tela cinza

    Alguma forma de restauração?

    ResponderExcluir
    Respostas
    1. tenta fazer o login mesmo assim e depois do login retira a configuração.

      Excluir
  5. Digitei o comando cvt com a resolução nativa do meu notebook (1280x800). Logo em seguida fiz conforme o vídeo demonstra, digitei xrandr --newmode + o resultado do comando anterior, porém o que apareceu logo em seguida foi a seguinte mensagem: failed to get size of gamma for output default. Poderia me ajudar? O que devo fazer para continuar com tutorial do vídeo?

    ResponderExcluir
Postagem Anterior Próxima Postagem