J'ai un moniteur principal externe 4k et j'essaie de connecter un moniteur externe 1680x1050 à sa gauche.
J'ai essayé d'utiliser:
xrandr --output HDMI-0 --scale 2x2 --pos 0x0 --fb 7200x2160 --output DP-4 --pos 3360x0
ce qui semble fonctionner, et lorsque je regarde ce que l'ordinateur pense se passe dans nvidia-settings, il affiche correctement un moniteur 3200x2160 à gauche de mon moniteur 4k.
Cependant, sur mon moniteur externe, le noir apparaît avec une ligne clignotante en haut.
La seule façon de corriger cela est de réinitialiser la réduction à 1x1, puis l'image revient (tout en conservant la taille du serveur X. Cela signifie que je dois simplement faire défiler les zones mortes pour accéder à mes écrans).
Donc, je pense que le problème est spécifiquement lié à la mise à l'échelle 2x2 dans xrandr. Je ne sais pas quoi faire?
L'ordinateur fonctionne sous 14.04 et contient un pilote nvidia GTX960 avec le pilote recommandé (352.63).
Voici ma sortie xrandr:
Screen 0: minimum 8 x 8, current 7200 x 2160, maximum 16384 x 16384
DVI-I-0 disconnected (normal left inverted right x axis y axis)
DVI-I-1 disconnected (normal left inverted right x axis y axis)
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)
HDMI-0 connected 1680x1050+0+0 (normal left inverted right x axis y axis) 474mm x 296mm
1680x1050 59.9*+ 60.0
1280x1024 75.0 60.0
1280x960 60.0
1152x864 75.0
1024x768 75.0 70.1 60.0
800x600 75.0 72.2 60.3 56.2
640x480 75.0 72.8 59.9
DP-4 connected primary 3840x2160+3360+0 (normal left inverted right x axis y axis) 527mm x 296mm
3840x2160 60.0*+ 30.0
2560x1440 60.0
2048x1280 60.0
1920x1200 59.9
1920x1080 60.0 60.0 59.9 50.0 24.0 60.0 50.0
1600x1200 60.0
1600x900 60.0
1280x1024 75.0 60.0
1280x720 60.0 59.9 50.0
1152x864 75.0
1024x768 75.0 60.0
800x600 75.0 60.3
720x576 50.0 50.1
720x480 59.9 60.1
640x480 75.0 59.9 59.9
Je voulais juste ajouter que c’est quelque chose avec lequel je me bats depuis longtemps, et à chaque fois que j’abandonnais - jusqu’à ce que je décide de le résoudre une fois pour toutes. La solution ci-dessous fonctionne pour moi, j'espère qu'elle le fera aussi pour vous.
tl; dr: Configurez ForceFullCompositionPipeline=On
Une partie de ceci est également dans l'espoir de fournir plus de mots-clés au cas où quelqu'un avec un problème similaire finirait par chercher la solution.
Ma configuration est:
J'utilise Ubuntu Gnome 16.04 LTS.
Lorsque je connecte le moniteur via un câble HDMI + un convertisseur HDMI-à-DVI (car le moniteur ne dispose pas d'entrée HDMI), tout était trop volumineux. Divers articles en ligne ont suggéré d'utiliser xrandr
pour configurer --scale 2x2
sur cet affichage, ce qui l'a rendu presque complètement noir, avec seulement une mince ligne visible en haut.
Je suis tombé sur cette question et alors que la solution de mise à l'échelle 2x2.001
permettait au moniteur d'afficher des éléments, elle ajoutait également un pixel supplémentaire sous l'écran X, ce qui entraînait un léger défilement haut/bas lorsque les curseurs atteignaient le haut/bas de l'écran. l'écran.
Après beaucoup de recherches sur Google, dont beaucoup ont donné lieu à des problèmes et à aucune solution, je suis tombé sur ceci: https://devtalk.nvidia.com/default/topic/891207/-355-11-358-09-viewportin -sur-2nd-moniteur-résultats-en-brouillé-affichage-pour-valeurs-sur-3211x18
Donc, pour le tester, j'ai configuré cela en utilisant les commandes suivantes - supposons que xrandr
n'ait pas encore été configuré avec la mise à l'échelle.
$ nvidia-settings -q CurrentMetaMode
Attribute 'CurrentMetaMode' (lilicorp:1.0): id=50, switchable=no, source=RandR :: DPY-4: nvidia-auto-select @3840x2160 +0+0 {ViewPortIn=3840x2160, ViewPortOut=3840x2160+0+0}, DPY-1: nvidia-auto-select @1920x1200 +3840+0 {ViewPortIn=1920x1200, ViewPortOut=1920x1200+0+0}
Cela affiche la valeur CurrentMetaMode
et c’est là que j’ai ajouté l’option ForceFullCompositionPipeline=On
aux deux écrans. Notez que DPY-4
est mon écran d'ordinateur portable intégré, alors que DPY-1
est le moniteur externe.
La chaîne à configurer est celle qui suit ::
dans le résultat de cette commande.
$ nvidia-settings --assign CurrentMetaMode="DPY-4: nvidia-auto-select @3840x2160 +0+0 {ViewPortIn=3840x2160, ViewPortOut=3840x2160+0+0, ForceFullCompositionPipeline=On}, DPY-1: nvidia-auto-select @1920x1200 +3840+0 {ViewPortIn=1920x1200, ViewPortOut=1920x1200+0+0, ForceFullCompositionPipeline=On}"
Après cela, j'ai couru:
$ xrandr --output DP-1 --scale=2x2
Enfin, la résolution de l'affichage externe était correcte, sans défilement ni aucun autre problème.
Notez qu'après l'exécution de ces commandes, le CurrentMetaMode
est un peu différent de ce qui a été attribué, probablement en raison de la mise à l'échelle appliquée:
$ nvidia-settings -q CurrentMetaMode
Attribute 'CurrentMetaMode' (lilicorp:1.0): id=50, switchable=no, source=RandR :: DPY-4: nvidia-auto-select @3840x2160 +0+0 {ViewPortIn=3840x2160, ViewPortOut=3840x2160+0+0, ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}, DPY-1: nvidia-auto-select @3840x2400 +3840+0 {Transform=(2.000000,0.000000,0.000000,0.000000,2.000000,0.000000,0.000000,0.000000,1.000000), ViewPortIn=3840x2400, ViewPortOut=1920x1200+0+0, ResamplingMethod=Bilinear, ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}
J'espère que cela résoudra le problème pour quelqu'un d'autre aussi!
J'ai eu exactement le même problème. Je l'ai résolu avec --scale 2x2.001
. Curieusement, --scale 2x1.999
ou 2x2.0001
ne fonctionnait pas, assurez-vous donc d'essayer plusieurs nombres autour de 2.
Merci Milos pour votre excellente solution, qui a bien fonctionné pour moi!
J'ai un petit ajout. Outre l'utilisation de la ligne de commande, vous pouvez également configurer aisément le ForceFullCompositionPipeline
dans l'interface utilisateur de Nvidia-Settings. Pour cela, vous devez aller dans "Configuration du serveur X", cliquez sur "Avancé" et activez simplement l'option "Forcer le pipeline de composition complet". Veuillez consulter https://imgur.com/a/3jE78 pour un exemple.
PS: J'utilise une configuration à trois têtes avec deux moniteurs externes (1920x1080; 1680x1050) et un moniteur interne 3k (3840x2160). Pour que cela fonctionne, j'applique le xrandr-config suivant:
xrandr --output eDP-1-1 --auto --output HDMI-0 --auto --scale 2x2 --above eDP-1-1 --output DP-1 --auto --scale 2x2 --rotate left --right-of eDP-1-1