XRandR DPI en Linux de múltiples cabezales

18

Tengo varias pantallas con diferentes configuraciones de DPI correctas. Puedo usar xrandr --dpi Xpara cambiar DPI para todas las pantallas, ¿es posible establecer DPI diferentes para cada pantalla? ¿Cómo hago para que las aplicaciones recalculen los tamaños de fuente cuando se mueven a una pantalla diferente? xrandr --dpi Xsolo afecta a las ventanas nuevas, las ventanas antiguas aún usan el valor DPI anterior.

Marek Sapota
fuente

Respuestas:

3

Yo no lo he probado todavía, pero hay una respuesta buena pinta aquí lo que sugiere el uso de la xrandropción scale que debe conseguir que el efecto que está buscando.

ACTUALIZACIÓN: Esto funciona, he escrito instrucciones resumidas aquí .

Jamie Kitson
fuente
3
Por favor, siempre copie y pegue las instrucciones a las respuestas. Es precaución contra la pérdida de información de preguntas históricas. Tarde o temprano, la mayoría de los enlaces externos área muerta, y que haría que su sentido respuesta ... De todos modos, la mayoría de los usuarios les gustaría ver respuestas en un sitio, ...
kravemir
¿Incluso si ese sitio es otro sitio de StackExchange?
Jamie Kitson
El comando de escala parece ser muy intensivo en GPU cuando se compara con la configuración de varios monitores en Windows 10. Escalar significa escalar los píxeles directamente mientras Windows 10 cambia el tamaño del texto.
Kun
3

Pude resolver esto (con problemas) usando los detalles descritos en la siguiente discusión de github: https://github.com/linuxmint/Cinnamon/issues/3606

Monitor externo QHD (2560X1440), monitor interno / portátil 3200x1800

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

O monitor externo FHD (1920x1080), monitor interno / portátil 3200x1800

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

Estos funcionan, pero hay una cantidad significativa de desgarros en el monitor de alta resolución (computadora portátil) cuando muevo ventanas, cambio el tamaño de las pantallas o me desplazo en un navegador. Esto se siente como una solución de desgarro de software (que tiene todos estos problemas de desgarro y actualizaciones lentas).

En 2017, Linux / Gnome necesita abordar la solución de escalado mixto de varios monitores. Tanto Windows 10 como OS X tienen esto resuelto sin tener que recurrir a soluciones de ayuda de banda de línea de comando que funcionan parcialmente (el problema de desgarro no es aceptable para los juegos)

Jeets
fuente
2

Puede establecer diferentes valores para cada pantalla con:

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

Para ver lo que está disponible, use solo xrandrpara reiniciar la fuente. Creo que podría apagar la pantalla y volver a encenderla con:

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

pero no estoy realmente seguro

Agomezl
fuente
2
Por lo que puedo ver, '--dpi' no es una configuración por salida. Resulta en una llamada a XRRSetScreenSize para toda la pantalla. Por lo que puedo ver, X11 simplemente no admite la configuración de diferentes valores de DPI para diferentes salidas. Lo que apestaría ...
Arnout Engelen
2
Ah, en realidad, las salidas RandR tienen un ancho / alto especificado en píxeles y milímetros, por lo que diferentes salidas pueden tener un DPI diferente, pero AFAICS no hay una llamada RandR para manipular el tamaño físico de la salida.
Arnout Engelen
55
Varias fuentes, incluyendo wiki.archlinux.org/index.php/HiDPI#External_displays, sugieren que solo es posible una única configuración de DPI a la vez (en una sola instancia de Xserver). El comando xrandr sugerido por Agomezl no funciona.
Vladimír Čunát