XRandR DPI no Linux multihead

18

Tenho várias telas com diferentes configurações de DPI corretas. Posso usar xrandr --dpi Xpara alterar o DPI em todas as telas. É possível definir diferentes DPI para cada tela? Como faço para que os aplicativos recalculem os tamanhos das fontes quando são movidos para uma tela diferente? xrandr --dpi Xafeta apenas novas janelas, janelas antigas ainda usam o valor antigo de DPI.

Marek Sapota
fonte

Respostas:

3

Ainda não testei, mas há uma resposta interessante aqui que sugere o uso da xrandropção scale que deve obter o efeito desejado.

UPDATE: Isso funciona, eu escrevi instruções resumidas aqui .

Jamie Kitson
fonte
3
Por favor, sempre copie e cole as instruções nas respostas. É uma precaução contra a perda de informações de questões históricas. Cedo ou tarde, a maioria dos links externos zona morta, e que faria a sua resposta sem sentido ... De qualquer forma, a maioria dos usuários gostariam de ver as respostas em um site, ...
kravemir
Mesmo se esse site for outro site StackExchange?
Jamie Kitson
O comando scale parece ser muito intensivo em GPU quando comparado à configuração de vários monitores no Windows 10. Scale significa dimensionar os pixels diretamente enquanto o Windows 10 redimensiona o texto.
Kun
3

Consegui resolver isso (com problemas) usando os detalhes descritos na seguinte discussão no github: https://github.com/linuxmint/Cinnamon/issues/3606

Monitor externo QHD (2560X1440), monitor interno / laptop 3200x1800

xrandr --output eDP-1 --scale 1x1 --pos 0x2880
xrandr --output DP-1 --mode 2560x1440 --scale 2x2 --fb 5120x4680

OU Monitor externo FHD (1920x1080), Monitor interno / laptop 3200x1800

xrandr --output eDP-1 --scale 1x1 --pos 0x2160
xrandr --output DP-1 --mode 1920x1080 --scale 2x2 --fb 3840x3960

Isso funciona, mas há uma quantidade significativa de rasgo no monitor de alta resolução (laptop) quando movo janelas, redimensiono telas ou navego em um navegador. Parece uma solução de renderização de software (que tem todos esses problemas de rasgar e atualizações lentas).

Em 2017, o Linux / Gnome precisa abordar a solução de dimensionamento misto para vários monitores. Tanto o Windows 10 quanto o OS X resolveram isso sem ter que recorrer a correções de band-aid da linha de comando que funcionam parcialmente (o problema de laceração não é aceitável para jogos)

Jeets
fonte
2

você pode definir valores diferentes para cada tela com:

xrandr --output <Display1> --dpi X --output <Display2> --dpi Y

Para ver o que está disponível, use just xrandr, para reiniciar a fonte. Eu acho que você pode desligar a tela e ligá-la novamente com:

xrandr --output <Display1> --off
xrandr --output <Display1> --auto

mas não tenho muita certeza

Agomezl
fonte
2
Tanto quanto posso ver, '--dpi' não é uma configuração por saída. Isso resulta em uma chamada para XRRSetScreenSize para a tela inteira. Tanto quanto eu posso ver, o X11 simplesmente não suporta a configuração de diferentes valores de DPI para diferentes saídas. Que iria chupar ...
Arnout Engelen
2
Ah, na verdade as saídas RandR têm uma largura / altura especificada em pixels e milímetros, portanto, saídas diferentes podem ter um DPI diferente - mas no AFAICS não há chamada RandR para manipular o tamanho físico da saída.
Arnout Engelen
5
Várias fontes, incluindo wiki.archlinux.org/index.php/HiDPI#External_displays, sugerem que apenas uma única configuração de DPI é possível ao mesmo tempo (em uma única instância do Xserver). O comando xrandr sugerido por Agomezl não funciona.
Vladimír Čunát