web-dev-qa-db-fra.com

Configuration à double moniteur, un moniteur a une largeur double et défile dans un autre moniteur

J'ai regardé autour de moi et ne peux trouver ce problème nulle part ...

J'ai donc une configuration à deux moniteurs sur mon bureau Ubunutu 14.04. Je venais de résoudre un problème de souris étrange en passant aux pilotes propriétaires NVIDIA pour ma carte vidéo via l'outil Logiciels et mises à jour et en redémarrant mon ordinateur. J'ai résolu le problème, mais un nouveau est venu pour moi.

J'ai une configuration à deux moniteurs, les deux sont en résolution 1920x1080. Ils semblent tous les deux faire ce qu'ils devraient, mais lorsque j'essaie de déplacer ma souris vers l'écran de droite, mon moniteur gauche défile à droite. Je ne sais pas trop comment le décrire, mais quand je déplace la souris tout à fait à droite, je me retrouve avec un affichage en miroir! Ensuite, lorsque je déplace la souris vers la gauche, le moniteur de gauche défile jusqu'à ce qu'il revienne sur deux moniteurs distincts.

Chaque fois que je lance un programme, la fenêtre apparaît au milieu, chevauchant les deux écrans. Cela me porte à croire que la résolution de l'écran gauche est trop élevée, mais lorsque je regarde dans les Paramètres système sous Affichage, la résolution est la même, 1920 x 1080. Je ne sais pas trop pourquoi. Le bon écran se comporte parfaitement comme il se doit.

MISE À JOUR: Après avoir manipulé les paramètres xrandr, j'ai déterminé que je souhaitais avoir deux écrans 1920x1080 agissant comme un bureau 3840x1080, sans panoramique sur l'un ou l'autre des écrans. Je ne sais pas trop comment y parvenir (je suis très nouveau chez xrandr). Les commandes que j'ai essayées sont principalement des variations sur:

xrandr --output DVI-I-0 --size 1920x1080+1920 --panning 1920x1080 --output HDMI1 --size 1920x1080+1920 --panning 1920x1080

DVI-I-0 est mon moniteur gauche (et principal); HDMI1 est mon droit.

Je ne sais pas si cela aidera, mais voici le résultat de xrandr:

    Screen 0: minimum 8 x 8, current 3840 x 1080, maximum 16384 x 16384
DVI-I-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 521mm x 293mm panning 3840x1080+0+0
   1920x1080      60.0*+   59.9     50.0     60.1     60.0     50.0  
   1680x1050      60.0  
   1600x1200      60.0  
   1440x900       59.9  
   1280x1024      75.0     60.0  
   1280x720       60.0     59.9     50.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  
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-0 disconnected (normal left inverted right x axis y axis)
DVI-D-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
VGA1 disconnected
HDMI1 connected 1920x1080+0+0 509mm x 286mm panning 1920x1080+0+0
   1920x1080      60.0*+
   1680x1050      59.9  
   1280x1024      75.0     60.0  
   1440x900       59.9  
   1280x960       60.0  
   1280x800       59.9  
   1152x864       75.0  
   1280x720       60.0  
   1024x768       75.1     70.1     60.0  
   832x624        74.6  
   800x600        72.2     75.0     60.3     56.2  
   640x480        75.0     66.7     60.0  
   720x400        70.1  
HDMI2 disconnected
HDMI3 disconnected
VIRTUAL1 disconnected
  1920x1080 (0x49)  148.5MHz
        h: width  1920 start 2008 end 2052 total 2200 skew    0 clock   67.5KHz
        v: height 1080 start 1084 end 1089 total 1125           clock   60.0Hz
  1280x1024 (0x2c2)  135.0MHz
        h: width  1280 start 1296 end 1440 total 1688 skew    0 clock   80.0KHz
        v: height 1024 start 1025 end 1028 total 1066           clock   75.0Hz
  1280x1024 (0x2c3)  108.0MHz
        h: width  1280 start 1328 end 1440 total 1688 skew    0 clock   64.0KHz
        v: height 1024 start 1025 end 1028 total 1066           clock   60.0Hz
  1024x768 (0x2c8)   65.0MHz
        h: width  1024 start 1048 end 1184 total 1344 skew    0 clock   48.4KHz
        v: height  768 start  771 end  777 total  806           clock   60.0Hz
  800x600 (0x2c9)   49.5MHz
        h: width   800 start  816 end  896 total 1056 skew    0 clock   46.9KHz
        v: height  600 start  601 end  604 total  625           clock   75.0Hz
  800x600 (0x2ca)   40.0MHz
        h: width   800 start  840 end  968 total 1056 skew    0 clock   37.9KHz
        v: height  600 start  601 end  605 total  628           clock   60.3Hz
  640x480 (0x2cf)   31.5MHz
        h: width   640 start  656 end  720 total  840 skew    0 clock   37.5KHz
        v: height  480 start  481 end  484 total  500           clock   75.0Hz
5
Mattholomew

J'ai compris ce qui n'allait pas après avoir essayé plusieurs choses. Je devais brancher les deux moniteurs sur le même type de port, sur la même carte graphique. À la maison, j’ai eu du mal à débrancher les câbles, mais une fois que j’ai eu la main sur une paire de câbles HDMI, j’ai pu installer les moniteurs correctement sans trop de peine.

Rétrospectivement, cela semble évident, mais cela ne m’est pas venu à l’esprit, d’autant plus que mon installation de Windows sur la même machine semblait bien prendre en charge la configuration initiale (deux types de ports, deux périphériques différents). Cela a tout son sens.

2
Mattholomew

J'ai rencontré le même bug. Votre astuce est simplement un élément déclencheur qui empêche le bogue de tomber. Comme votre solution de contournement n’a pas fonctionné pour moi, j’ai creusé un peu et trouvé un n type sympa avec une solution qui pourrait aider les autres ici, comme bien.

Le problème principal est que le bug que nous avons rencontré ici fait que le moniteur qui défile dans l'autre a un écran virtuel avec la taille de la somme des deux écrans. La solution peut donc sembler désactiver cet espace virtuel supplémentaire sur cet écran pour l'adapter à la résolution des moniteurs. Cela se fait généralement avec l'argument --panning AxB - nous l'utilisons pour définir la taille de l'espace virtuel.

Voici comment vous pouvez le faire:

xrandr \
  --output LVDS-1-0 --mode 1920x1080 --panning 1920x1080 --pos 1920x0 \
  --output HDMI-0   --mode 1920x1080 --panning 1920x1080 --pos 0x0    --primary

(_ barré \ ajouté pour utiliser les nouvelles lignes dans la commande.)

Malheureusement, le problème ici est que le pilote (c’est le bogue) semble écraser le panoramique que nous avons défini (ou non). Mais ce qu’il ne fait pas, c’est de définir une autre partie du panoramique: la zone de suivi! La zone de suivi est en réalité la partie de l'écran où la caméra suit le curseur sur ce moniteur.

L'idée est donc de définir le panoramique comme pilote mais de limiter la zone de suivi à la place.

Ceci est fait avec la commande suivante:

xrandr \
  --output LVDS-1-0 --mode 1920x1080 \
  --output HDMI-0   --mode 1920x1080 --panning 3840x1080+0+0/1920x1080+1920+0/0/0/0/0    --primary

"Les quatre premiers paramètres [de l'argument panning]] spécifient la zone de panoramique total, les quatre suivants la zone de suivi du pointeur (qui utilise par défaut la même zone). Les quatre derniers paramètres spécifient la bordure et la valeur par défaut est 0. " [ man xrandr ]

0
Sebastian Barth