échelle xrandr 2x2 pour multi-affichage (4K HiDPI et mixage Full HD) - sortie floue


16

Sur Kubuntu 17.04 avec nouveau, j'essaie d'obtenir une configuration double moniteur avec un 4K comme principal et un Full HD (en fait 1920x1200 mais cela ne fait aucune différence) à droite.

J'utilise une double échelle système KDE (comme décrit dans https://wiki.archlinux.org/index.php/HiDPI#Using_KDE_system_settings ) avec une xrandrmise à l' échelle (comme décrit dans https://wiki.archlinux.org/index.php / HiDPI # Side_display ). Plus précisement:

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

Le problème est que DP-2 présente un léger flou, en particulier sur les polices, en raison du sous-échantillonnage de 3840x2400 à 1920x1200. Ceci est noté à la fin de https://wiki.archlinux.org/index.php/HiDPI#Side_display , la solution suggérée étant le paramètre de netteté sur le moniteur. J'ai essayé, ça ne marche pas.

Le filtre utilisé lors de la mise à l'échelle est bilinéaire: https://cgit.freedesktop.org/xorg/app/xrandr/tree/xrandr.c?id=5d5db88d106a49d7560a8042fa054df8b609f00a#n2993 . Le voisin le plus proche est également pris en charge avec "nearest"mais semble abyssal même s'il s'agit exactement d'un sous-échantillonnage 2x2, ce que je ne comprends pas. Je suis allé de l'avant et j'ai construit cela avec "lanczos"au lieu de "bilinear". Apparemment, cela n'est pas pris en charge:

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-t-il un moyen de soutenir les lanczos (ou un meilleur filtre)? Cela ne me dérange pas de filtrage effectué dans le logiciel.

En ce moment, j'ai une double mise à l'échelle KDE et xrandr mise à l'échelle désactivée avec une résolution native de 1920x1080 sur mon écran principal comme solution de contournement. L'affichage secondaire est super net, y compris les polices, comme prévu. Cependant, à partir d'une distance de visualisation normale, l'écran principal est encore pire que le secondaire à l'échelle, ce qui est également étrange car la demi-résolution est toujours Full HD, ce qui est incroyablement net sur d'autres écrans qui ne sont pas 4K.

La vraie question est donc de savoir comment obtenir des images nettes sur les deux écrans?

Edit: J'ai oublié de mentionner le fait important que je suis sur un système Nvidia PRIME avec GeForce 940MX et Intel HD Graphics 620. Sur nvidia-384, les résultats sont les mêmes lors de l'utilisation d'Intel, c'est-à-dire les mêmes flous. Lorsque vous utilisez GeForce, l' --scale 2x2option n'a aucun effet et l' --panningoption génère une Failed Requesterreur similaire à celle ci-dessus.


Peut-être que je manque quelque chose, mais pourquoi mettez-vous à l'échelle les sorties, puis effectuez un panoramique? Ne devriez-vous pas utiliser les options xrandr comme --right-ofou --left-of? Je pense que si vous les utilisez, les résolutions ne devraient pas avoir à évoluer et ne seront donc pas floues. Désolé, je voudrais faire un commentaire, mais je n'ai pas assez de représentants.
binamenator

Parce que les moniteurs sont physiquement similaires en taille et sans redimensionner celui en basse résolution, le principal a des fonctionnalités trop petites (polices, fenêtres, etc.)
Ayberk Özgür

1
Avez-vous déjà trouvé quelque chose avec ça? Je pense que Wayland semble finalement être le Saint Graal du support multi-DPI, mais il semble que pour le moment les pilotes nVidia ne fonctionnent pas bien avec Wayland, donc je suis coincé avec du texte flou ou avec un écran 4K.
Ibrahim

Réponses:


1

J'ai également un moniteur 4k sur mon ordinateur portable. Ce que je fais généralement, c'est simplement de définir le mode 1920x1080 pour le moniteur 4k et il semble parfait en fait, exactement comme un moniteur 1080p. Il suffit de ne pas redimensionner ou d'antialias, vous devez trouver un moyen d'avoir seulement 2x2 pixels.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.