HDPi e Fractional Scalling

Boa noite.

Eu fiz a instalação do GNU/Linux Debian versão 11, em um laptop Dell Latitude E7270 recentemente. Quando usava o Windows, a resolução era confortável para mim na escala de 125%. Quando fiz a alteração, logo senti a diferença; os ícones e tudo o mais, era realmente muito pequeno para mim.

Por sorte, no ambiente gráfico que estou usando (GNOME, versão 3.38.6), existe um programa gnome-tweaks, com uma opção de Scaling Factor, que consigo alterar o padrão, que é 1.00, para 1.50, e o tamanho volta a ser agradável para mim.

Entretanto, eu gostaria de saber se é possível alterar isso de outra forma, via xrandr, por exemplo. Eu fiz algumas tentativas, mas sem sucesso.

Se alguém puder me orientar, eu agradeço!

┌─[gabriel@debian]─[~]
└──╼ $ xrandr
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384
eDP-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 280mm x 165mm

Teste com o comando abaixo.

xrandr --output eDP-1 --scale 0.75x0.75

OK! Eu fiz o seguinte procedimento:

  1. Demonstração do tamanho utilizando gnome-tweaks em 1.50:

  1. Colocando em 1.00 e demonstrando:

  1. Fiz a alteração com xrandr, conforme sua orientação:

O tamanho realmente me parece melhor; mas vejo uma imagem como se estivesse desfocada. Algo que não acontece com o gnome-tweaks.

Teste informar --panning ao xrandr

xrandr --output eDP-1 --scale 0.75x0.75 --panning 1920x1080+0+0

Confere este site para te auxiliar → How To Fix Fractional Scaling In Linux

Opa, eu vou checar esse link.

Mas, para já responder: tentei o comando que você informou, e o tamanho fica agradável, para a tela fica “recuada” para esquerda, como se a tela não fosse mais 1920x1080.

Detalhe: não sei se tem diferença, mas estou usando o GNOME on XORG.

Qual a resolução original do seu monitor? 1920x1080? Porque se for, não seria realmente HDPI.

Quanto ao tipo de escalonamento que você procura, xrandr não é a solução ideal. Não é possível conseguir um escalonamento fracionário universalmente bom em LCDs somente redimensionando framebuffers.

O que o GNOME faz é realmente renderizar as coisas numa escala maior levando a resolução original do seu monitor em consideração, por esse motivo o texto continua nítido. Essa qualidade vai ser mantida para todo o conteúdo vetorial (texto, maioria dos icones, etc).

Já o xrandr não tem muito o que fazer senão renderizar tudo em 1440x810 e escalonar para 1920x1080, que não fica bom pois 1440x810 não é a resolução nativa do monitor, para piorar não é nem múltipla do monitor.

É 1920x1080 mesmo.

Eu agradeço desde já o seu comentário. Mas, não existe então outra forma de chegar em um resultado similar ao que o gnome-tweaks disponibiliza?

Pergunto pois: estive estudando sobre o i3-wm, e gostaria de substituí-lo pelo meu atual GNOME. Porém, quando tentei, tudo estava extremamente pequeno. Tentei ajustar o tamanho de fonte e com xrandr, mas sem sucesso.

Já não sei se seria possível usar o gnome-tweaks dentro do i3-wm. O que acha?

sem a ajuda do compositor ou wm que você escolher, acredito que não… pois como eu disse, o que o GNOME faz com a maioria dos componentes da interface é renderizar as coisas em uma escala diferente sem redimensionar as coisas de um tamanho para outro nem mudar a resolução do monitor, por esse motivo, por exemplo, as fontes permanecem nítidas.

De uma pesquisada sobre imagem vetorial vs raster, vai esclarecer um pouco a questão.

Não vou saber te dizer, talvez alguém aqui saiba, talvez usando o compositor do gnome no i3-wm, mas realmente não sei. Eu acho que talvez seja uma melhor opção ir para o wayland e usar o Sway? Se não me engano técnicamente o Sway é o i3 reescrito para wayland?

No caso do i3wm, se quiser uma escala de 200% adicione o conteúdo abaixo em ~/.Xresources. [Para uma escala de 150% use 144]

Xft.dpi: 192

E então execute o seguinte comando.

xrdb -merge ~/.Xresources

Lembrando que para executar assim que o i3 iniciar, você pode adicionar no seu ~/.xinitrc. Mais informações → link.

Infelizmente acho que esse método só vai afetar o tamanho da fonte em alguns programas, pode ser também que conflite com GDK_SCALE em alguns programas como Firefox.

Sim, só apontei para facilitar ao @Quintana e outros saberem que não funciona da mesma forma que o escalonamento feito pelo gnome. Mas pode ser uma solução sim para quem quer apenas mudar o tamanho das fontes na maioria dos programas. Infelizmente o DPI do XORG é meio que uma “loteria”, geralmente depende mais do framework (qt, etc) ou programa do que da DE.

@romulopb, eu agradeço realmente por sua interação e explicações. Ficou um pouco mais claro para mim agora.

Infelizmente, mesmo fazendo alterações com Xft, xrandr e outros, não consegui chegar em um cenário confortável. Eu consigo realmente alterar o “tamanho” de fonte, escala e etc, mas isso sacrifica - e muito - a qualidade de exibição.

Não sei se devo manter esse tópico em aberto para continuarmos a discussão; mas agradeço desde já, todos os que compartilharam informações e que contribuiram.

Lamento que não tenha encontrado a solução ideal. Talvez você encontre o que procura no Sway, que como eu disse é o i3 reescrito para Wayland. Por usar Wayland, é esperado que tenha uma solução superior para problemas envolvendo escalonamento.

No Sway isso pode ser possível → Defina seu fator de escala para telas HiDPI | Sway - ArchWiki

2 curtidas

Boa tarde.

@null , estou lendo esse material disponível no ArchWiki, mas ainda não consegui alcançar um padrão confortável.

Estive pensando; como é possível checar as alterações feitas pelo software gnome-tweaks? Assim, poderia ter uma ideia de quais alterações são realizadas no ambiente.