GNOME Bugzilla – Bug 678943
The xrandr settings are incorrectly calculated when rotation is set.
Last modified: 2019-02-25 06:47:37 UTC
The xrandr settings are miscalculated when rotation is set. my displays are setup like this: #1 - 22" vertical (1680x1050) | #2 - 24" horizontal (1920x1200) | #3 - 22" vertical (1680x1050) The vertical displays (#1, #3) are rotated "Counterclockwise", the xrandr settings that the tool generates cause display #1 to overwrite the desktop area of display #2 by 2 pixels. The xrandr settings that are generated are: $ xrandr Screen 0: minimum 320 x 200, current 4022 x 1813, maximum 8192 x 8192 DisplayPort-0 connected 1050x1680+0+133 left (normal left inverted right x axis y axis) 47 DVI-0 connected 1920x1200+1050+260 (normal left inverted right x axis y axis) 519mm x 324mm DVI-1 connected 1050x1680+2970+0 left (normal left inverted right x axis y axis) 473mm x 296mm --------------- To prevent the overwriting of display #2, I needed to shift the xrandr settings by 2 pixels (which I don't quite understand, shouldn't it be 1 pixel?) to get rid of the overlap. So I manually adjusted my xrandr settings to be: DisplayPort-0 connected 1050x1680+0+133 left (normal left inverted right x axis y axis) 473mm x 296mm DVI-0 connected 1920x1200+1052+260 (normal left inverted right x axis y axis) 519mm x 324mm DVI-1 connected 1050x1680+2972+0 left (normal left inverted right x axis y axis) 473mm x 296mm and now there is no overlap anywhere. Problem now is, the mouse is no longer bound in the middle screen, I have a workaround using XCreateMouseVoid, but would be nice to fix eventually. Using control-center-3.4.2-1.fc17.x86_64 (fedora 17), problem also existed in fedora 15, but I never found time to file a bug report. So here ya go. :) I searched for a duplicate bug, but was unable to find one. So if this is a known issue, sorry for wasting your time. Have a good day. -Shawn
What's the output of ~/.config/monitors.xml once you've setup the monitors originally?
Here is the original (overlapping) monitors.xml: <monitors version="1"> <configuration> <clone>no</clone> <output name="DisplayPort-0"> <vendor>DEL</vendor> <product>0xd015</product> <serial>0x3554344d</serial> <width>1680</width> <height>1050</height> <rate>60</rate> <x>0</x> <y>0</y> <rotation>left</rotation> <reflect_x>no</reflect_x> <reflect_y>no</reflect_y> <primary>yes</primary> </output> <output name="HDMI-0"> </output> <output name="DVI-0"> <vendor>DEL</vendor> <product>0xa017</product> <serial>0x344b4853</serial> <width>1920</width> <height>1200</height> <rate>60</rate> <x>1050</x> <y>260</y> <rotation>normal</rotation> <reflect_x>no</reflect_x> <reflect_y>no</reflect_y> <primary>no</primary> </output> <output name="DVI-1"> <vendor>DEL</vendor> <product>0xd015</product> <serial>0x3554354d</serial> <width>1680</width> <height>1050</height> <rate>60</rate> <x>2970</x> <y>65</y> <rotation>left</rotation> <reflect_x>no</reflect_x> <reflect_y>no</reflect_y> <primary>no</primary> </output> </configuration> </monitors> Here is my hand modified version that is no longer overlapping (also moved primary display, but moving the primary display doesn't solve the overlapping issue). <monitors version="1"> <configuration> <clone>no</clone> <output name="DisplayPort-0"> <vendor>DEL</vendor> <product>0xd015</product> <serial>0x3554344d</serial> <width>1680</width> <height>1050</height> <rate>60</rate> <x>0</x> <y>133</y> <rotation>left</rotation> <reflect_x>no</reflect_x> <reflect_y>no</reflect_y> <primary>no</primary> </output> <output name="HDMI-0"> </output> <output name="DVI-0"> <vendor>DEL</vendor> <product>0xa017</product> <serial>0x344b4853</serial> <width>1920</width> <height>1200</height> <rate>60</rate> <x>1052</x> <y>260</y> <rotation>normal</rotation> <reflect_x>no</reflect_x> <reflect_y>no</reflect_y> <primary>yes</primary> </output> <output name="DVI-1"> <vendor>DEL</vendor> <product>0xd015</product> <serial>0x3554354d</serial> <width>1680</width> <height>1050</height> <rate>60</rate> <x>2972</x> <y>0</y> <rotation>left</rotation> <reflect_x>no</reflect_x> <reflect_y>no</reflect_y> <primary>no</primary> </output> </configuration> </monitors> If you need any other information let me know. Thanks for looking into it. -Shawn
Created attachment 236464 [details] Output from xrandr.
Created attachment 236465 [details] monitors.xml configuration
I've got the same issue, as a work around I've disabled the xrandr plugin however that means the primary monitor is the wrong one of three connected. I've attached the full output from xrandr, and my monitors.xml configuration above.
I forgot to add; when the xrandr plugin is enabled, at login it will display error messages and it will mess up the monitor layout when it loads the broken monitors.xml configuration.
Possibly related: https://bugzilla.gnome.org/show_bug.cgi?id=729925.
Can you please check whether the patches in bug 731166 fix your problem?
(In reply to Bastien Nocera from comment #8) > Can you please check whether the patches in bug 731166 fix your problem? Closing this bug report as no further information has been provided. Please feel free to reopen this bug report if you can provide the information that was asked for in a previous comment and if this still happens in a recent supported version. Thanks!