Est-il possible d'avoir deux configurations DPI différentes pour deux écrans différents?

88

J'utilise Ubuntu 12.04.3 avec les pilotes NVidia (319) pour ma carte graphique Quadro K2100M, et quand je change mon écran principal de 3200x1800 en mode 1920x1080 (en utilisant nvidia-settings ), l'affichage devient flou ...

J'utilise deux écrans:

  • Mon écran principal est un écran LCD d'une résolution maximale de 1920x1200.
  • L'écran de mon ordinateur portable (résolution d'origine 3200x1800) se trouve à droite de celui-ci.

Le problème principal est que, sur Ubuntu, la police est beaucoup trop petite sur l'écran de mon ordinateur portable. Pour cette raison, je voulais changer la résolution de mon ordinateur portable en 1920x1080.

Lire la réponse de Galgalesh J'ai essayé de calculer mon DPI et voici la configuration DPI que je devrais avoir:

  • 94x94 pour mon écran LCD principal 1920x1200
  • 235x236 pour mon écran d'ordinateur portable 3200x1800

Existe-t-il un moyen d’avoir deux résolutions DPI avec un bureau étendu?

    
posée Anthony O. 20.12.2013 - 10:15
la source

5 réponses

93

Il semble que les gens ont encore du mal à essayer de travailler avec plusieurs écrans et écrans HiDPI. Une bonne solution de contournement est décrite dans le wiki arch lien . Donc, j'ai:

  • ordinateur portable asus ln303ux: 3200x1800,
  • moniteur externe: 1920x1200

J'utilise maintenant Ubuntu 14.10 & amp; GNOME Shell 3.12.2 qui prend en charge le support HiDPI. Donc, j'utilise juste la prise en charge prête à l'emploi de HiDPI - le facteur de mise à l'échelle est 2 (il peut être configuré via une interface graphique). Cela signifie que sur un moniteur externe, je reçois tout deux fois plus que ce qui est acceptable. Ainsi, j'utilise xrandr; mais au lieu de réduire la taille de l’écran d’un ordinateur portable, j’ai augmenté l’écran externe de mon moniteur:

xrandr --output HDMI1 --scale 2x2 --mode 1920x1200 --fb 3840x4200 --pos 0x0
xrandr --output eDP1 --scale 1x1 --pos 320x2400

Donc, un par un:

  1. --output HDMI1 dans mon cas est l'écran externe, eDP1 est l'écran de l'ordinateur portable.
  2. --scale 2x2 - réduit à deux fois la taille de l'écran externe
  3. --mode XxY - définit explicitement la résolution pour l'écran (pas nécessaire si elle est déjà définie)
  4. --fb XxY - définit la taille d'un écran virtuel (framebuffer) ( important ) sans cela, vous ne pourrez utiliser qu'une quatrième partie de l'écran). Dans mon cas, un écran était au-dessus d'un autre, j'ai donc ajouté des hauteurs efficaces de 2400 + 1800 = 4200. Notez également que la taille maximale du framebuffer peut être spécifiée dans xorg.conf - alors vous ne pouvez pas la dépasser (elle est écrite dans la première ligne de xrandr -q output).
  5. --pos XxY - dans mon cas, je règle le positionnement absolu des écrans, l'écran de mon portable est donc directement en bas du sceen externe.

Et ça y est! Tout est aussi précis que possible.

FYI: pour obtenir le nom des écrans et des résolutions disponibles, vous pouvez exécuter xrandr --current . Vous trouverez plus d'informations sur la définition de la résolution ici: lien .

UPDATE - OPTION 2: une autre solution intéressante pour les applications prenant en charge GTK3. Si je n’utilise normalement qu’une seule application sur le grand écran (par exemple, certains IDE, comme leksah), je ne redimensionne pas l’écran, mais lance l’application à sa taille initiale

env GDK_SCALE=0.5 GDK_DPI_SCALE=0.5 CLUTTER_SCALE=0.5 appname
    
réponse donnée artem 02.12.2014 - 14:43
la source
6

Pourquoi est-ce flou?

Votre écran affiche toujours 3200x1800 pixels. Si vous réduisez la résolution de l'écran sur votre ordinateur, cela signifie simplement que votre écran doit redimensionner l'image pour l'adapter à votre écran. En fonction du rapport entre votre résolution native et la résolution actuelle, cette mise à l’échelle produira une image floue.

Vous trouverez plus d’informations sur la mise à l’échelle et la résolution native ici: lien

Comment puis-je agrandir le texte?

Si le texte est trop petit, vous avez deux options:

1. Changer la taille de police d'Ubuntu

Comment modifier les polices et ajuster leur taille?

2. Change DPI (rendra l'interface plus grande, pas seulement le texte)

Comment trouver et modifier l'écran DPI? (réponse de @whtyger)

    
réponse donnée Galgalesh 23.12.2013 - 17:23
la source
6

J'ai utilisé la solution d'artmem mais j'ai rencontré le problème de souris mentionné par EoghanM. La solution de contournement que j'ai trouvée dans l'ancien rapport de bogue auquel il était lié concernait --panning.

Je tire pour:  - DP1-2 3840x2160 en DIP natif.  - eDP1 1366x768, dimensionné pour paraître raisonnable à droite de DP1-2.

J'obtiens ceci en ayant un frame buffer qui est comme DP1-2 + (2x eDP1) puis je redimensionne tout en allant à eDP1 de 1/2.

Cela devrait être simple mais xrandr est un peu difficile.

Ici --scale est utilisé pour réduire tout ce qui va à eDP1 de 1/2. --panning est identique à eDP1 dans la mémoire tampon d'origine avec la position (+ 3840 + 0) juste à droite de DP1-2. + 0 + 2160 serait en dessous.

xrandr -d :0 --fb 6572x3696 --output DP1-2 --mode 3840x2160 --scale 1x1 --rate 60 --pos 0x0 --primary

# sometimes panning get applied incorrectly when switching from some other mode, running it twice is a work around
xrandr -d :0 --output eDP1 --off
xrandr -d :0 --fb 6572x3696 --output eDP1  --mode 1366x768  --scale 2x2 --panning 2732x1536+3840+0
xrandr -d :0 --fb 6572x3696 --output eDP1  --mode 1366x768  --scale 2x2 --panning 2732x1536+3840+0

Je mets aussi Xft.dpi à 185

$ cat ~/.Xresources
Xft.dpi: 185

Lorsque je le débranche du moniteur externe, je cours:

xrandr -d :0 --output DP1-2 --off
xrandr -d :0 --fb 2732x1536 --output eDP1  --mode 1366x768  --scale 2x2 --panning 2732x1536+0+0 --pos 0x0 --primary

Ça n'a pas l'air génial mais je ne suis pas loin de mon bureau. Vous pouvez contourner ce problème en modifiant Xft.dpi et en redémarrant tous vos programmes de bureau. Je ne connais pas de moyen de modifier Xft.dpi, puis de demander aux clients de l’utiliser sans les redémarrer.

    
réponse donnée Brian C. 16.03.2017 - 16:47
la source
2

J'ai pu résoudre ce problème (avec des problèmes) en utilisant les détails décrits dans la discussion github suivante: lien

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

Celles-ci fonctionnent, mais le moniteur haute résolution (ordinateur portable) doit être déchiré lorsque je déplace des fenêtres, redimensionne des écrans ou navigue sur un navigateur. Cela ressemble à une solution de rendu de logiciel (qui présente tous ces problèmes de déchirement et de rafraîchissement lent).

En 2017, Linux / Gnome doit prendre en compte la solution multi-moniteurs et évolutive. Windows 10 et OS X ont tous les deux résolu ce problème sans avoir à recourir à des correctifs de bande-aide en ligne de commande qui fonctionnent partiellement (le problème de déchirement n'est pas acceptable pour les jeux)

    
réponse donnée Jeets 20.07.2017 - 20:54
la source
2

Ces réponses sont toutes excellentes et m'ont aidé précédemment, mais récemment

sudo apt-get upgrade 

supprimé mon randr-config! En essayant de restaurer mes paramètres, j'ai constaté que je ne pouvais plus dépasser la 1 / 4ème quadrant supérieur du deuxième écran, quelle que soit l'entrée --fb. A partir de lien , j'ai finalement découvert que l'ajout de panoramique était la solution. En outre, l’utilisation de «--right-of» ou «--left-of» est plus simple que «--pos».

"Généralement, si votre moniteur HiDPI (ordinateur portable) est constitué de pixels AxB et que votre moniteur standard (externe) est CxD et que vous effectuez une mise à l'échelle par [ExF], la ligne de commande right-of est:"

xrandr --output eDP-1 --auto --output HDMI-1 --auto --panning [C*E]x[D*F]+[A]+0 --scale [E]x[F] --right-of eDP-1
    
réponse donnée ONECore 15.05.2018 - 17:39
la source

Lire d'autres questions sur les étiquettes