terça-feira, 17 de janeiro de 2023

Utilizando uma resolução melhor que 1366x768 em monitor LCD

Durante 16 anos usei um monitor LCD de 17” formato tela 4:3 com resolução máxima 1280x1024 que me atendia muito bem, mas como o mesmo queimou comprei um novo monitor LCD de 19.5” formato 16:9 com resolução máxima 1366x768.

Um ponto que eu não gostei dele foi a baixa altura da tela, que me incomodava com este fato pois no meu antigo monitor a altura era 1024, então fiz um procedimento que já havia feito no meu netbook para aumentar a altura da tela, lembrando que este procedimento deverá ser feita por sua conta e risco pois poderá danificar o seu monitor.

Testei com diversas resoluções de tela e valores de escalas, mas somente com um tipo de resolução e valor de escala é que funcionou perfeitamente.

 

Notas:

1º A parte da largura da tela não pode ser alterada, devendo permanecer o 1366.

2º A nova altura da tela deve ser de 900 pixel nem mais nem menos.

3º Você deverá testar qual o melhor valor da escala pra esta resolução personalizada para que a imagem fique fixa na tela.

Abra uma janela de terminal e execute os comando abaixo.

 

$ xrandr

Screen 0: minimum 320 x 200, current 1366 x 768, maximum 16384 x 16384

VGA-1 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 410mm x 230mm

   1366x768      59.79*+

   1280x720      60.00  

   1024x768      75.03    60.00  

   800x600       75.00    60.32    56.25  

   640x480       75.00    59.94  

   720x400       70.08  

 

DP-1 disconnected (normal left inverted right x axis y axis)

HDMI-1 disconnected (normal left inverted right x axis y axis)

 

Aqui ele mostra que a resolução da tela máxima de fábrica e padrão é 1366x768, sendo que a utilizada é 1366x768 que contém uma asterisco ao lado da frequência da resolução ativa.
 
Abaixo a resolução personalizada e o valor correto para a escala após muitos testes até achar o valor correto.
 
$ xrandr --output VGA-1 --mode 1366x768 --panning 1366x900 --scale 1.0x1.18
 
Substitua VGA-1 pelo nome do dispositivo do seu monitor.
 
O valor da escala 1.0x1.18 é o único valor em que tela ficou estável não sendo a mesma expandida ao mover o mouse para topo da tela, onde sua área de trabalho ficará enorme, tendo que mover todo o mouse para baixo da tela para conseguir ver o painel inferir caso use outro valor diferente.
 
Você deverá testar qual é o melhor valor da escala para o seu monitor e onde a parte que deve ser alterada para teste é somente o segundo valor ou seja a direita do x que corresponde a altura da tela, pois este valor pode ser diferente conforme o tamanho do monitor, marca e modelo com resolução de fabrica 1366x768. Exemplos: 1.0x1.17, 1.0x1.19, 1.0x1.20 etc...
Entre cada teste de valor de escala, você sempre deve voltar ao valor default 
antes de testar um novo valor.

Valor default:

$ xrandr --output VGA-1 --mode 1366x768 --panning 1366x768 --scale 1.0x1.0
 
Ao aplicar a resolução de teste: xrandr --output VGA-1 --mode 1366x768 --panning 1366x900 --scale 1.0x1.18
 
$ xrandr
Screen 0: minimum 320 x 200, current 1366 x 907, maximum 16384 x 16384
VGA-1 connected primary 1366x900+0+0 (normal left inverted right x axis y axis) 410mm x 230mm panning 1366x900+0+0

   1366x768      59.79*+

   1280x720      60.00  

   1024x768      75.03    60.00  

   800x600       75.00    60.32    56.25  

   640x480       75.00    59.94  

   720x400       70.08  

 

DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-1 disconnected (normal left inverted right x axis y axis)
 

Veja que a resolução 1366x900 não está disponível para ser trocada por outra na lista do xrandr pois o mesmo está listando como disponível para troca somente a resolução 1366x768 pra baixo sendo que a mesma é listada como ativa e em uso e somente pode escolher entre esta ou menor que esta, embora que o sistema esteja fazendo uso da resolução 1366x900. Em apps gráfico de resolução da tela somente estará listado resoluções 1366x768 e menores, e a resolução personalizada não aparecerá em apps gráfico mesmo que ela esteja sendo utilizada.

 
Para voltar a utilizar a resolução máxima de fabrica execute o comando
abaixo, onde tudo volta ao normal.

 

$ xrandr --output VGA-1 --mode 1366x768 --panning 1366x768 --scale 1.0x1.0

A resolução personalizada é somente na sessão atual, para usar a mesma assim que entrar no seu ambiente gráfico desktop faça o procedimento abaixo.
 
Crie o arquivo tela900.desktop em ~/.config/autostart com o conteúdo abaixo, onde a resolução 1366x900 será aplicada automaticamente assim que fizer o seu login gráfico ou toda vez que você reiniciar sua sessão desktop.
 
[Desktop Entry]

Encoding=UTF-8

Version=0.9.4

Type=Application

Exec=xrandr --output VGA-1 --mode 1366x768 --panning 1366x900 --scale 1.0x1.18

StartupNotify=false

Terminal=false

Hidden=false

 

Para facilitar mais o uso crie o script tela900 e teladefault em /usr/local/bin com permissão chmod 755.
 
$ cat tela900
xrandr --output VGA-1 --mode 1366x768 --panning 1366x900 --scale 1.0x1.18
 
$ cat teladefault
xrandr --output VGA-1 --mode 1366x768 --panning 1366x768 --scale 1.0x1.0
Sobre o uso da resolução personalizada

 

Com a resolução personalizada você pode utilizar Office normalmente, navegar na Internet, utilizar o virtuabox ou qemu, reproduzir vídeos em tela cheia sem que sua área de trabalho se expanda.
 
Problema da resolução personalizada
 
Ao executar jogos nativos do Linux que utilizam libs SDL ou jogos de aceleração se eles forem em modo de tela cheia (fullscreen), sua área de trabalho se expandira bastante onde a tela será rolada com o movimento do mouse.
 

Para voltar ao normal, após encerrar o jogo eliminando a rolagem da tela, execute o script tela900, teladefault ou reinicie sua sessão desktop.

 

Nota:
Jogos nativos do Linux que usa libs SDL ou de aceleração executados em modo janela mesmo que maximizada não expande sua área de trabalho.

 

Monitores testados

 
 Este procedimento foi testado nos monitores abaixo, onde funcionou perfeito em ambos monitores.
 
Monitor LG modelo 20MK 400 com tela de 19.5" e resolução máxima de fabrica 1366x768 (modelo ainda a venda em 2023).
 
Monitor AOC modelo E1621SWB com tela 15.6” e resolução máxima de fabrica 1366x768 (monitor bem antigo, fora de linha, não existe mais no mercado).
 
Em ambos monitores foi utilizado a mesma resolução personalizada e escala da tela abaixo.

xrandr --output VGA-1 --mode 1366x768 --panning 1366x900 --scale 1.0x1.18

 

Nota:
A resolução personalizada funcionou perfeita com os ambientes gráficos Xfce, LXDE, Openbox, wmaker, mas no desktop Lxqt instalado no Xubuntu 20.04, ela exibi uma faixa preta de uns 2 cm de altura acima do painel inferior somente quando você estiver exibindo o seu desktop, mas nas aplicações sendo executadas em janela maximizada como office, gerenciador de arquivos etc quando elas estiver em 1º plano a mesma não aparece.