Escala xrandr 2x2 para tela múltipla (4K HiDPI e mix Full HD) - saída turva

16

No Kubuntu 17.04 nouveau, estou tentando obter uma configuração de monitor duplo com um 4K como principal e um Full HD (na verdade 1920x1200, mas não faz diferença) à direita.

Estou usando a escala do sistema KDE dupla (como descrito em https://wiki.archlinux.org/index.php/HiDPI#Using_KDE_system_settings ) junto com o xrandrdimensionamento (como descrito em https://wiki.archlinux.org/index.php / HiDPI # exibição lateral ). Mais especificamente:

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

O problema é que DP-2há um leve desfoque, especialmente nas fontes, devido à redução de amostragem de 3840x2400 a 1920x1200. Isso é observado no final de https://wiki.archlinux.org/index.php/HiDPI#Side_display , com a solução sugerida sendo a configuração de nitidez no monitor. Tentei, não funciona.

O filtro usado quando o dimensionamento é bilateral: https://cgit.freedesktop.org/xorg/app/xrandr/tree/xrandr.c?id=5d5db88d106a49d7560a8042fa054df8b609f00a#n2993 . O vizinho mais próximo também é suportado, "nearest"mas parece péssimo, mesmo que seja exatamente a redução da amostragem 2x2, o que eu não entendo. Fui em frente e construí isso com, em "lanczos"vez de "bilinear". Aparentemente, isso não é suportado:

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

Existe uma maneira de oferecer suporte a lanczos (ou um filtro melhor)? Não me importo de filtrar feito em software.

No momento, tenho o dobro da escala do KDE e xrandra desativação da resolução nativa de 1920x1080 na minha tela principal como solução alternativa. A tela secundária é super nítida, incluindo as fontes, conforme o esperado. No entanto, a uma distância normal de exibição, a tela principal parece ainda pior do que a secundária em escala, o que também é estranho, já que a meia resolução ainda é Full HD, que parece incrivelmente nítida em outras telas que não são 4K.

Portanto, a verdadeira questão é: existe alguma maneira de obter imagens nítidas nos dois monitores?

Edit: Esqueci de mencionar o fato importante de eu estar em um sistema Nvidia PRIME com GeForce 940MX e Intel HD Graphics 620. Na nvidia-384, os resultados são os mesmos ao usar a Intel, ou seja, os mesmos borrões. Ao usar o GeForce, a --scale 2x2opção não tem efeito e a --panningopção gera um Failed Requesterro semelhante ao acima.

Ayberk Özgür
fonte
Talvez esteja faltando alguma coisa, mas por que você está dimensionando as saídas e depois fazendo o pan? Você não deveria usar as opções xrandr como --right-ofou --left-of? Eu acho que se você usá-las, as resoluções não devem ter que ser dimensionadas e, portanto, não serão embaçadas. Desculpe comentar, mas não tenho representante suficiente.
binamenator
Como os monitores são fisicamente similares em tamanho e sem redimensionar o de baixa resolução, o principal possui recursos muito pequenos (fontes, janelas, etc.) #
Ayberk Özgür
1
Você já descobriu alguma coisa com isso? Acho que Wayland soa como o santo graal do suporte a multi-DPI eventualmente, mas parece que agora os drivers da nVidia não funcionam bem com Wayland, por isso estou preso a um texto borrado ou a uma tela de 4k.
Ibrahim

Respostas:

1

Eu também tenho monitor 4K no meu notebook. O que estou fazendo normalmente é apenas definir o modo 1920x1080 para o monitor 4K e parece perfeito, exatamente, exatamente como o monitor 1080p. Apenas não dimensione ou antialias, você precisa encontrar uma maneira de ter apenas 2x2 pixels.

gena2x
fonte