scala xrandr 2x2 per multi display (4K HiDPI e Full HD mix) - uscita sfocata


16

Su Kubuntu 17.04 con nouveau, sto cercando di ottenere una configurazione a doppio monitor con un 4K come principale e un Full HD (in realtà 1920x1200 ma non fa alcuna differenza) sulla destra.

Sto usando la doppia scala del sistema KDE (come descritto in https://wiki.archlinux.org/index.php/HiDPI#Using_KDE_system_settings ) insieme al xrandrridimensionamento (come descritto in https://wiki.archlinux.org/index.php / HiDPI # Side_display ). Più specificamente:

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

Il problema è che DP-2ha una leggera sfocatura, specialmente sui caratteri, a causa del downsampling da 3840x2400 a 1920x1200. Questo è notato alla fine di https://wiki.archlinux.org/index.php/HiDPI#Side_display , con la soluzione suggerita essere l'impostazione di nitidezza sul monitor. Ho provato, non funziona.

Il filtro utilizzato durante il ridimensionamento è bilineare: https://cgit.freedesktop.org/xorg/app/xrandr/tree/xrandr.c?id=5d5db88d106a49d7560a8042fa054df8b609f00a#n2993 . Anche il vicino più vicino è supportato "nearest"ma sembra spaventoso anche se è esattamente il downsampling 2x2, che non capisco. Sono andato avanti e ho costruito questo con "lanczos"invece di "bilinear". Apparentemente, questo non è supportato:

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

C'è un modo per supportare i lanczos (o un filtro migliore)? Non mi dispiace filtrare fatto nel software.

In questo momento, il doppio ridimensionamento e xrandrridimensionamento di KDE sono disabilitati con risoluzione nativa 1920x1080 sul mio display principale come soluzione alternativa. Il display secondario è super nitido, compresi i caratteri, come previsto. Tuttavia, dalla normale distanza di visualizzazione, il display principale sembra persino peggiore del secondario ridimensionato, il che è strano perché la mezza risoluzione è ancora Full HD, che appare incredibilmente nitida su altri display che non sono 4K.

Quindi la vera domanda è: esiste un modo per ottenere immagini nitide su entrambi i display?

Modifica: ho dimenticato di menzionare il fatto importante che sono su un sistema Nvidia PRIME con GeForce 940MX e Intel HD Graphics 620. Su nvidia-384 i risultati sono gli stessi quando si utilizza Intel, ovvero le stesse sfocature. Quando si utilizza GeForce, l' --scale 2x2opzione non ha alcun effetto e l' --panningopzione genera un Failed Requesterrore simile al precedente.


Forse mi manca qualcosa, ma perché ridimensioni le uscite e poi fai una panoramica? Non dovresti usare le opzioni xrandr come --right-ofo --left-of? Penso che se li usi, le risoluzioni non dovrebbero ridimensionarsi e quindi non saranno sfocate. Mi dispiace, vorrei commentare ma non ho abbastanza rappresentante.
binamenatore,

Poiché i monitor sono fisicamente simili nelle dimensioni e senza ridimensionare quello a bassa risoluzione, quello principale ha funzionalità troppo piccole (caratteri, finestre, ecc.)
Ayberk Özgür

1
Hai mai capito qualcosa con questo? Penso che Wayland alla fine suoni come il Santo Graal del supporto multi-DPI, ma sembra che in questo momento i driver nVidia non giochino bene con Wayland, quindi sono bloccato con testo sfocato o ottenendo uno schermo 4K.
Ibrahim,

Risposte:


1

Ho anche un monitor 4K sul mio notebook. Quello che sto facendo in genere è solo l'impostazione della modalità 1920x1080 per il monitor 4K e in realtà sembra perfetto, esattamente come monitor 1080p. Basta non ridimensionare o antialias, devi trovare un modo per avere solo 2x2 pixel.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.