After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 678943 - The xrandr settings are incorrectly calculated when rotation is set.
The xrandr settings are incorrectly calculated when rotation is set.
Status: RESOLVED INCOMPLETE
Product: gnome-control-center
Classification: Core
Component: Display
3.4.x
Other Linux
: Normal normal
: ---
Assigned To: Control-Center Maintainers
Control-Center Maintainers
3.10
Depends on:
Blocks:
 
 
Reported: 2012-06-27 08:16 UTC by Shawn Sterling
Modified: 2019-02-25 06:47 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Output from xrandr. (2.83 KB, text/plain)
2013-02-17 16:10 UTC, Rowan Lewis
Details
monitors.xml configuration (3.96 KB, text/xml)
2013-02-17 16:11 UTC, Rowan Lewis
Details

Description Shawn Sterling 2012-06-27 08:16:24 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
Comment 1 Bastien Nocera 2012-06-28 23:57:02 UTC
What's the output of ~/.config/monitors.xml once you've setup the monitors originally?
Comment 2 Shawn Sterling 2012-06-30 21:41:39 UTC
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
Comment 3 Rowan Lewis 2013-02-17 16:10:00 UTC
Created attachment 236464 [details]
Output from xrandr.
Comment 4 Rowan Lewis 2013-02-17 16:11:36 UTC
Created attachment 236465 [details]
monitors.xml configuration
Comment 5 Rowan Lewis 2013-02-17 16:12:18 UTC
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.
Comment 6 Rowan Lewis 2013-02-17 16:31:58 UTC
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.
Comment 7 rossabri 2014-05-10 18:48:34 UTC
Possibly related: https://bugzilla.gnome.org/show_bug.cgi?id=729925.
Comment 8 Bastien Nocera 2014-06-03 17:17:58 UTC
Can you please check whether the patches in bug 731166 fix your problem?
Comment 9 André Klapper 2019-02-25 06:47:37 UTC
(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!