¿Es posible tener dos configuraciones diferentes de DPI para dos pantallas diferentes?

90

Estoy usando Ubuntu 12.04.3 con controladores NVidia (319) para mi tarjeta gráfica Quadro K2100M, y cuando cambio mi pantalla principal de portátil 3200x1800 al modo 1920x1080 (usando nvidia-settings ), la pantalla se vuelve borrosa ...

Estoy usando dos pantallas:

  • Mi pantalla principal es una pantalla LCD con una resolución máxima de 1920x1200.
  • La pantalla de mi laptop (resolución original 3200x1800) está a la derecha de eso.

El problema principal es que, en Ubuntu, la fuente es demasiado pequeña en la pantalla de mi computadora portátil. Por eso, quería cambiar la resolución de mi computadora portátil a 1920x1080.

Leyendo Respuesta de Galgalesh Intenté calcule mi DPI y aquí está la configuración de DPI que debería tener:

  • 94x94 para mi pantalla LCD principal 1920x1200
  • 235x236 para la pantalla de mi portátil de 3200x1800

¿Hay alguna manera de tener resoluciones dobles de DPI con un escritorio extendido?

    
pregunta Anthony O. 20.12.2013 - 10:15

5 respuestas

94

Parece que las personas todavía están luchando para tratar de trabajar con varios monitores y pantallas HiDPI. Se describe una buena solución en arch wiki enlace . Entonces, tengo:

  • computadora portátil asus ln303ux: 3200x1800,
  • monitor externo: 1920x1200

Ahora uso Ubuntu 14.10 & amp; GNOME Shell 3.12.2 que tiene soporte HiDPI bastante útil. Así que solo uso el soporte inmediato de HiDPI - el factor de escala es 2 (se puede configurar a través de la GUI). Eso significa que en el monitor externo obtengo todo dos veces más grande que lo aceptable. Por lo tanto, uso xrandr; pero en lugar de reducir la pantalla de la computadora portátil, amplío la pantalla del monitor externo:

xrandr --output HDMI1 --scale 2x2 --mode 1920x1200 --fb 3840x4200 --pos 0x0
xrandr --output eDP1 --scale 1x1 --pos 320x2400

Entonces, uno por uno:

  1. --output HDMI1 en mi caso es la pantalla externa, eDP1 es la pantalla del portátil.
  2. --scale 2x2 : hacer que todo en la pantalla externa sea dos veces más pequeño
  3. --mode XxY : establece explícitamente la resolución para la pantalla (no es necesario si ya está configurado)
  4. --fb XxY - establece el tamaño de una pantalla virtual (framebuffer) ( importante sin esto, solo podrá usar una cuarta parte de la pantalla). En mi caso, una pantalla estaba encima de otra, así que agregué alturas efectivas de 2400 + 1800 = 4200. También tenga en cuenta que el tamaño máximo del framebuffer puede especificarse en xorg.conf; luego no puede excederlo (está escrito en la primera línea de xrandr -q output).
  5. --pos XxY - en mi caso, establezco el posicionamiento absoluto de las pantallas, por lo que la pantalla de mi portátil está directamente en la parte inferior de la pantalla externa.

¡Y esto es todo! Todo es tan claro como podría ser.

FYI: para obtener los nombres de las pantallas y las resoluciones disponibles, se puede ejecutar xrandr --current . Puede encontrar más información sobre cómo establecer la resolución aquí: enlace .

ACTUALIZACIÓN - OPCIÓN 2: una solución más interesante para las aplicaciones que admiten GTK3. Si normalmente solo uso una aplicación en la pantalla grande (por ejemplo, algunos IDE, como leksah), no cambio el tamaño de la pantalla, sino que ejecuto la aplicación a escala a su tamaño original

env GDK_SCALE=0.5 GDK_DPI_SCALE=0.5 CLUTTER_SCALE=0.5 appname
    
respondido por el artem 02.12.2014 - 14:43
6

¿Por qué es borroso?

Tu pantalla siempre muestra 3200x1800 píxeles. Si baja la resolución de la pantalla en su computadora, eso significa que su pantalla tiene que escalar la imagen para que se ajuste a su pantalla. Dependiendo de la relación entre su resolución original y la resolución actual, ese escalado producirá una imagen borrosa.

Puede encontrar más información sobre la escala y la resolución nativa aquí: enlace

¿Cómo puedo hacer que el texto sea más grande?

Si el texto es pequeño, tiene dos opciones:

1. Cambiar el tamaño de fuente de Ubuntu

¿Cómo cambio las fuentes y ajusto su tamaño?

2. Cambiar DPI (hará que toda la interfaz sea más grande, no solo texto)

¿Cómo encontrar y cambiar la pantalla DPI? (respuesta por @whtyger)

    
respondido por el Galgalesh 23.12.2013 - 17:23
6

Utilicé la solución de artmem pero me encontré con el problema del mouse mencionado por EoghanM. La solución que encontré en el viejo informe de errores al que él se vinculó estaba relacionado con --panning.

Estoy filmando para:  - DP1-2 3840x2160 en DIP nativo.  - eDP1 1366x768, escalado para que parezca razonable a la derecha de DP1-2.

Esto sucede al tener un búfer de cuadros que es como DP1-2 + (2x eDP1) y luego escalo todo lo que va a eDP1 por 1/2.

Esto debería ser simple, pero xrandr es un poco complicado.

Aquí --scale se usa para reducir todo lo que va a eDP1 por 1/2. --panning es lo mismo que eDP1 en el buffer original de cuadros con la posición (+ 3840 + 0) justo a la derecha de DP1-2. + 0 + 2160 estaría debajo de él.

xrandr -d :0 --fb 6572x3696 --output DP1-2 --mode 3840x2160 --scale 1x1 --rate 60 --pos 0x0 --primary

# sometimes panning get applied incorrectly when switching from some other mode, running it twice is a work around
xrandr -d :0 --output eDP1 --off
xrandr -d :0 --fb 6572x3696 --output eDP1  --mode 1366x768  --scale 2x2 --panning 2732x1536+3840+0
xrandr -d :0 --fb 6572x3696 --output eDP1  --mode 1366x768  --scale 2x2 --panning 2732x1536+3840+0

También configuré Xft.dpi en 185

$ cat ~/.Xresources
Xft.dpi: 185

Cuando me desconecto del monitor externo, ejecuto:

xrandr -d :0 --output DP1-2 --off
xrandr -d :0 --fb 2732x1536 --output eDP1  --mode 1366x768  --scale 2x2 --panning 2732x1536+0+0 --pos 0x0 --primary

Eso no se ve muy bien, pero no estoy lejos de mi escritorio. Puede solucionar esto cambiando Xft.dpi y reiniciando todos sus programas de escritorio. No conozco una forma de cambiar Xft.dpi y luego hacer que los clientes lo usen sin reiniciarlos.

    
respondido por el Brian C. 16.03.2017 - 16:47
3

Estas respuestas son geniales y me han ayudado anteriormente, pero una reciente

sudo apt-get upgrade 

eliminó mi configuración de randr! Al intentar restaurar mi configuración, descubrí que ya no podía mover el mouse más allá del cuadrante 1/4 superior de la segunda pantalla, sin importar la entrada --fb. De enlace , finalmente descubrí que la adición de paneo funcionaba bien. Además, el uso de '--right-of' o '--left-of' es más simple que '--pos'.

"Genéricamente, si su monitor HiDPI (laptop) tiene píxeles AxB y su monitor regular (externo) es CxD y está escalando por [ExF], la línea de comando para el derecho de es:"

xrandr --output eDP-1 --auto --output HDMI-1 --auto --panning [C*E]x[D*F]+[A]+0 --scale [E]x[F] --right-of eDP-1
    
respondido por el ONECore 15.05.2018 - 17:39
2

Pude resolver esto (con problemas) usando los detalles descritos en la siguiente discusión de github: enlace

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

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

En 2017, Linux / Gnome necesita abordar la solución de escalado mixto de monitores múltiples. Tanto Windows 10 como OS X lo han resuelto sin tener que recurrir a arreglos de ayuda de banda de línea de comandos que funcionan parcialmente (el problema de desgarro no es aceptable para los juegos)

    
respondido por el Jeets 20.07.2017 - 20:54

Lea otras preguntas en las etiquetas