Bug 34481

Summary: xrandr does not choose correct crtc on r300 dual-display setups
Product: xorg Reporter: Arno Schuring <aelschuring>
Component: App/xrandrAssignee: Keith Packard <keithp>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium CC: jeremyhu
Version: unspecified   
Hardware: x86 (IA32)   
OS: All   
Whiteboard: 2011BRB_Reviewed
i915 platform: i915 features:

Description Arno Schuring 2011-02-19 08:08:00 UTC
root@neminis:~# xrandr --version
xrandr program version       1.3.3
Server reports RandR version 1.3


The following command used to be able to reset my two monitors to my preferred configuration. Since upgrading to xserver 1.9 and -video-radeon 6.14, this no longer works:

root@neminis:~# xrandr --verbose -s 2360x1920 --output VGA-0 --mode 1280x1024 --rotate normal --pos 0x896 --output DVI-0 --mode 1920x1080 --rotate left --pos 1280x0
crtc 0: disable
screen 0: 2360x1920 624x508 mm  95.98dpi
crtc 1:    1280x1024   75.0 +0+896 "VGA-0" "DVI-0"

Here, both outputs are still tied to the same CRTC as before the command (default display clone mode). Hence, both mode and rotation are not adjusted.

To resolve this problem, I must first manually decouple the outputs from their CRTC, by issuing:
root@neminis:~# xrandr --verbose --output VGA-0 --crtc 0 --output DVI-0 --crtc 1
crtc 1: disable
screen 0: 1280x1024 338x270 mm  96.00dpi
crtc 0:    1280x1024   75.0 +0+0 "DVI-0"

This will cause one of the monitors to switch off (is there an xrandr command to enable a crtc?), but after that command, the command above does work:
root@neminis:~# xrandr --verbose -s 2360x1920 --output VGA-0 --mode 1280x1024 --rotate normal --pos 0x896 --output DVI-0 --mode 1920x1080 --rotate left --pos 1280x0
screen 0: 2360x1920 622x506 mm  96.33dpi
crtc 0:    1920x1080   60.0 +1280+0 "DVI-0"
crtc 1:    1280x1024   75.0 +0+896 "VGA-0"

I have tried combining the two commands (by adding --crtc after both --output parameters), but that had no effect. Oddly, when I kill the Xserver and restart it, the xrandr command completes without issue. But after a cold boot (or when I change display depth), I need to issue both commands.

Current X versions:
aschuring@neminis:~$ dpkg -la|grep xorg
ii  xserver-xorg-core                      2:1.9.4-2                                   Xorg X server - core server
ii  xserver-xorg-input-evdev               1:2.6.0-2                                   X.Org X server -- evdev input driver
ii  xserver-xorg-video-radeon              1:6.14.0-1                                  X.Org X server -- AMD/ATI Radeon display driver


final note: I have not been able to test with xrandr 1.3.4 because the newer version would confuse the graphics card, causing both monitors to go black. I don't know if it's a related bug or not, but I have no way of debugging that issue.
Comment 1 Jeremy Huddleston Sequoia 2011-10-08 19:37:27 UTC
Is this still an issue with current git?
Comment 2 Arno Schuring 2011-10-16 17:22:53 UTC
This appears to be fixed (thanks for the ping!). I'm not sure what component fixed it, so here are my current software versions:

xrandr: 1.3.5
xserver: 1.11.1
video-radeon: 6.14.2
kernel: 3.0.0-1

The tool's output is somewhat confusing, though. After issuing the command, I get this output:
crtc 1: disable
screen 0: 2360x1920 1328x1080 mm  45.12dpi
crtc 0:    1280x1024   75.0 +0+896 "VGA-0"
crtc 1:    1920x1080   60.0 +1280+0 "DVI-0"

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.