XRandR DPI sur Linux multi-têtes

18

J'ai plusieurs écrans avec différents paramètres DPI corrects. Je peux utiliser xrandr --dpi Xpour changer le DPI pour tous les écrans, est-il possible de définir un DPI différent pour chaque écran? Comment faire pour que les applications recalculent les tailles de police lorsqu'elles sont déplacées vers un autre écran? xrandr --dpi Xaffecte uniquement les nouvelles fenêtres, les anciennes fenêtres utilisent toujours l'ancienne valeur DPI.

Marek Sapota
la source

Réponses:

3

Je ne l'ai pas encore essayé, mais il y a une bonne réponse ici qui suggère d'utiliser l' xrandroption scale qui devrait vous donner l'effet que vous recherchez.

MISE À JOUR: Cela fonctionne, j'ai écrit des instructions résumées ici .

Jamie Kitson
la source
3
Veuillez toujours copier-coller les instructions dans les réponses. C'est une précaution contre la perte d'informations des questions historiques. Tôt ou tard, la plupart des liens externes sont morts, et cela rendrait votre réponse inutile ... Quoi qu'il en soit, la plupart des utilisateurs aimeraient voir les réponses sur un seul site, ...
kravemir
Même si ce site est un autre site StackExchange?
Jamie Kitson
La commande scale semble être très gourmande en GPU lors de la comparaison avec une configuration multi-écrans sous Windows 10. Scale signifie redimensionner les pixels directement tandis que Windows 10 redimensionne le texte.
Kun
3

J'ai pu résoudre ce problème (avec des problèmes) en utilisant les détails décrits dans la discussion github suivante: https://github.com/linuxmint/Cinnamon/issues/3606

Moniteur externe QHD (2560X1440), moniteur interne / portable 3200x1800

xrandr --output eDP-1 --scale 1x1 --pos 0x2880
xrandr --output DP-1 --mode 2560x1440 --scale 2x2 --fb 5120x4680

OU Moniteur externe FHD (1920x1080), Moniteur interne / portable 3200x1800

xrandr --output eDP-1 --scale 1x1 --pos 0x2160
xrandr --output DP-1 --mode 1920x1080 --scale 2x2 --fb 3840x3960

Cela fonctionne, mais il y a beaucoup à déchirer le moniteur haute résolution (ordinateur portable) lorsque je déplace des fenêtres, redimensionne des écrans ou fais défiler sur un navigateur. Cela ressemble à une solution de rendu logiciel (qui a tous ces problèmes de déchirure et de rafraîchissements lents).

Son 2017, Linux / Gnome doit aborder la solution de mise à l'échelle mixte multi-écrans. Windows 10 et OS X ont résolu ce problème sans avoir à recourir à des correctifs de bandage en ligne de commande qui fonctionnent partiellement (le problème de déchirure n'est pas acceptable pour les jeux)

Jeets
la source
2

vous pouvez définir différentes valeurs pour chaque écran avec:

xrandr --output <Display1> --dpi X --output <Display2> --dpi Y

Pour voir ce qui est disponible, utilisez simplement xrandr, pour redémarrer la police. Je pense que vous pouvez éteindre l'écran et le rallumer avec:

xrandr --output <Display1> --off
xrandr --output <Display1> --auto

mais je ne suis pas vraiment sûr

Agomezl
la source
2
Pour autant que je puisse voir, «--dpi» n'est pas un paramètre par sortie. Il en résulte un appel à XRRSetScreenSize pour tout l'écran. Pour autant que je puisse voir, X11 ne prend tout simplement pas en charge la définition de valeurs DPI différentes pour différentes sorties. Ce qui serait nul ...
Arnout Engelen
2
Ah, en fait, les sorties RandR ont une largeur / hauteur spécifiée à la fois en pixels et en millimètres, donc différentes sorties peuvent avoir un DPI différent - mais AFAICS il n'y a pas d'appel RandR pour manipuler la taille physique de la sortie.
Arnout Engelen
5
Diverses sources, dont wiki.archlinux.org/index.php/HiDPI#External_displays, suggèrent qu'un seul paramètre DPI est possible à la fois (dans une seule instance Xserver). La commande xrandr suggérée par Agomezl ne fonctionne pas.
Vladimír Čunát