xrandr scale 2x2 para pantallas múltiples (4K HiDPI y mezcla Full HD) - salida borrosa

16

En Kubuntu 17.04 con nouveau, estoy tratando de obtener una configuración de monitor dual con 4K como principal y Full HD (en realidad 1920x1200 pero no hace ninguna diferencia) a la derecha.

Estoy usando la escala doble del sistema KDE (como se describe en https://wiki.archlinux.org/index.php/HiDPI#Using_KDE_system_settings ) junto con la xrandrescala (como se describe en https://wiki.archlinux.org/index.php / HiDPI # Side_display ). Más específicamente:

xrandr \
    --output eDP-1 --mode 3840x2160 --pos 0x0    --auto \
    --output DP-2  --mode 1920x1200 --pos 3840x0 --auto \
        --panning 3840x2400+3840+0 --scale 2.0x2.0 \
    --fb 7680x2400

El problema es que DP-2tiene un ligero desenfoque, especialmente en las fuentes, debido a la disminución de resolución de 3840x2400 a 1920x1200. Esto se observa al final de https://wiki.archlinux.org/index.php/HiDPI#Side_display , y la solución sugerida es la configuración de nitidez en el monitor. Probé, no funciona.

El filtro que se usa al escalar es bilineal: https://cgit.freedesktop.org/xorg/app/xrandr/tree/xrandr.c?id=5d5db88d106a49d7560a8042fa054df8b609f00a#n2993 . El vecino más cercano también es compatible, "nearest"pero parece abismal a pesar de que es exactamente un muestreo de 2x2, lo que no entiendo. Seguí adelante y construí esto con en "lanczos"lugar de "bilinear". Aparentemente, esto no es compatible:

X Error of failed request:  BadName (named color or font does not exist)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  26 (RRSetCrtcTransform)
  Serial number of failed request:  36
  Current serial number in output stream:  37

¿Hay alguna manera de admitir lanczos (o un mejor filtro)? No me importa el filtrado realizado en software.

En este momento, tengo una escala doble de KDE y una xrandrescala deshabilitada con una resolución nativa de 1920x1080 en mi pantalla principal como solución alternativa. La pantalla secundaria es súper nítida, incluidas las fuentes, como se esperaba. Sin embargo, desde una distancia de visualización normal, la pantalla principal se ve aún peor que la secundaria escalada, lo que también es extraño, ya que la mitad de la resolución sigue siendo Full HD, que se ve increíblemente nítida en otras pantallas que no son 4K.

Entonces, la verdadera pregunta es, ¿hay alguna forma de obtener imágenes nítidas en ambas pantallas?

Editar: Olvidé mencionar el hecho importante de que estoy en un sistema Nvidia PRIME con GeForce 940MX e Intel HD Graphics 620. En nvidia-384 los resultados son los mismos cuando utilizo Intel, es decir, los mismos desenfoques. Cuando se usa GeForce, la --scale 2x2opción no tiene efecto y la --panningopción genera un Failed Requesterror similar al anterior.

Ayberk Özgür
fuente
Tal vez me estoy perdiendo algo, pero ¿por qué escalas las salidas y luego te desplazas? ¿No deberías estar usando opciones de xrandr como --right-ofo --left-of? Creo que si los usa, las resoluciones no deberían tener que escalar y, por lo tanto, no serán borrosas. Lo siento, quisiera comentar pero no tengo suficiente representante.
binamenator
Debido a que los monitores son físicamente similares en tamaño y sin escalar el de baja resolución, el principal tiene características demasiado pequeñas (fuentes, ventanas, etc.)
Ayberk Özgür
1
¿Alguna vez te diste cuenta de esto? Creo que Wayland suena como el santo grial del soporte multi-DPI eventualmente, pero parece que en este momento los controladores nVidia no funcionan bien con Wayland, así que estoy atrapado con texto borroso o obteniendo una pantalla de 4k.
Ibrahim

Respuestas:

1

También tengo un monitor 4k en mi computadora portátil. Lo que normalmente estoy haciendo es configurar el modo 1920x1080 para el monitor 4k y se ve perfecto en realidad, exactamente como el monitor 1080p. Simplemente no escale o antialias, necesita encontrar una manera de tener solo 2x2 píxeles.

gena2x
fuente