Problema de dimensionamento usando resolução Ultra HD entre um laptop e um monitor

Problema de dimensionamento usando resolução Ultra HD entre um laptop e um monitor

Eu tenho um laptop usando Arch Linux e Gnome Shell. Minha placa gráfica é Intel HD 520. A resolução da tela do meu laptop é 3200×1800. No trabalho, conecto meu laptop a um monitor com resolução de 1920×1080. A conexão está sendo feita usando um cabo HDMI. O sistema detecta ambas as telas e suas resoluções corretamente. O problema é o seguinte:

Em resoluções ultra HD, o Gnome (o Gnome faz isso ou é o driver da placa gráfica?) Dimensiona as janelas para torná-las maiores. Isso faz todo o sentido, caso contrário a barra do Firefox, por exemplo, seria uma linha fina. Mas o problema é que quando movo uma janela (por exemplo, Firefox) de um monitor para outro, esse dimensionamento está sendo preservado. Como resultado, as coisas parecemenormeno meu monitor 1920x1080, mesmo que a resolução seja detectada corretamente.

  1. Isso é um inseto? Se sim, de quem é a culpa? Gnome, gráficos Intel HD ou kernel Linux?
  2. Posso corrigir isso?

Responder1

  1. TLDR: Não é um bug, apenas uma solução menos ideal para usar telas HiDPI confortavelmente.

Parece que essas soluções resultam do fato de que a maioria dos softwares não compensa automaticamente monitores com DPI mais altos. Se deixarmos as coisas como estão (sem escala ou configurações de DPI), muitos programas acabarão parecendo minúsculos em uma tela HiDPI. Como tal, a compensação pode ser feita ao nível do sistema operacional (verInformações sobre HiDPI para Arch Linux), mas isso causa um problema quando você tem duas telas com densidade de pixels diferente.

  1. Dada uma tela HiDPI interna a 3200x1800 e uma externa a 1920x1080, as configurações a seguir devem funcionar (testadas com Dell XPS9350 e XPS9360).

Configure externo à direita:

xrandr --dpi 276 --fb 7040x3960 --output eDP-1 --mode 3200x1800 --output 
DP-1 --scale 2x2 --pos 3200x0 --panning 3840x2160+3200+0

Configure externo à esquerda:

xrandr --dpi 276 --fb 7040x3960 --output DP-1 --scale 2x2 --panning
-3840x2160+3200+0 --pos 0x0 --output eDP-1 --mode 3200x1800 --pos 3840x0

Se alguém mudar muito, pode ser uma boa ideia colocar esses comandos em seu .bashrc como um alias. Por exemplo:

alias ext-config-right="xrandr --dpi 276 --fb 7040x3960 --output eDP-1 --mode 
3200x1800 --output DP-1 --scale 2x2 --pos 3200x0 --panning 3840x2160+3200+0"

Responder2

Parece que existe uma configuração única para telas ultra HD, que se aplica a todos os monitores conectados, mesmo que isso possa não ser adequado, e pareça ser uma configuração do X, talvez.

OWiki do Arch Linuxtem uma seção sobre isso, com algumas opções usando xrandr para dimensionar o monitor, onde eDP1 é a tela do laptop:

xrandr --output eDP1 --auto --output HDMI1 --auto --scale 2x2 --right-of eDP1

aparentemente ainda pode haver alguns problemas, com essas duas telas se sobrepondo ou, em segundo lugar, o cursor pode não cobrir todas as duas telas.

se o monitor interno tiver dimensões AxB, o externo tiver CxD e a escala for ExF, como sugerido no Arch wiki, então um script de shell está vinculado a um usuário chamadowvengens Github, que precisaria que os displays recebessem os apropriados. Dá:

xrandr --output eDP1 --auto --pos ${(A-C)/2}x${D} --scale 1x1 \
--output HDMI1 --auto --scale 2x2 --pos 0x0

Para o segundo problema, arch sugere o uso de panorâmica:

xrandr --output eDP1 --auto \
--output HDMI1 --auto --panning [C*E]x[D*F]+[A]+0 --scale [E]x[F] --right-of eDP1

e, finalmente, se alguma coisa ajudou, o wiki do Ubuntu sugere que o comando xrandr possa ser salvo em /etc/gdm/Init/Default, logo antes da linha initctl -q emit login-session-start DISPLAY_MANAGER=gdm. (desculpe, representante muito baixo para um terceiro link..)

informação relacionada