three monitors on two radeon cards works with some layouts not others
Submitted by Ian! D. Allen
Assigned to Default DRI bug account
Description
Created attachment 103009
Xorg.0.log
Summary: Three monitors on two cards work fine in some layouts but not others.
Ubuntu 12.04.4 LTS with updated kernel and Xorg from Ubuntu "Trusty".
Two ATI FireMV 2250 cards with three 1600x1200 Dell LCD monitors.
(More details below.)
No xorg.conf file - using defaults.
Works fine out-of-the-box when configured with two screens adjacent on one card and the third screen (on the second card) anywhere above or below either of the two adjacent screens. All three monitors display their screens nicely and I can drag windows to all three screens on all three monitors.
Relevant xrandr for the above working configuration:
Screen 0: minimum 320 x 200, current 3200 x 2400, maximum 8192 x 8192
DVI-0 connected primary 1600x1200+0+0 (normal left inverted right x axis y axis) 367mm x 275mm
DVI-1 connected 1600x1200+1600+0 (normal left inverted right x axis y axis) 367mm x 275mm
DVI-1-2 connected 1600x1200+0+1200 367mm x 275mm
DVI-1-3 disconnected
If I use either xrandr or the Ubuntu "Screen Display" panel to move the third screen to be in-line with the other two, either to the right or to the left, it causes the video on the other two to fail and only the third screen to display correctly. The failed screens have video garbage on them and don't change when I move windows onto them. Switching to the console (CTRL+ALT+F1) and back causes the third monitor to re-display correctly but the other two monitors are now black. Using the "Apply" button in "Screen Display" refreshes the two black monitors with more video garbage that changes with every "Apply".
If I move all three screens to be in-line and use the "Screen Display" "Rotation" option to set the two non-working screens to use any rotation or 180 flip, they clean up and display correctly on their monitors (in rotated or flipped mode, of course)!
When I restore the "Rotation" back to "Normal" on either screen, the video fails again with garbage. Adding back rotation or 180 flip, the video cleans up again and displays correctly (in rotated or flipped mode, of course).
Things would probably work fine across all three monitors if I could flip 180 all three monitors and stand on my head, but for some reason the "Screen Display" configuration options allow rotation only on the two adjacent screens on the one card and not on the third screen on the other card.
It's odd that the video is fine when rotated or flipped, but is garbage when left as "Normal". Alas, I can't easily use the screens when rotated or flipped.
Ubuntu 12.04 Package: xserver-xorg-lts-trusty 1:7.7+1ubuntu8precise1precise1-Ubuntu SMP Tue Jul 15 03:51:20 UTC 2014 x86_64
Hardware (from lspci):
04:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RV516 GL [FireMV 2250]
04:00.1 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] RV516 GL [FireMV 2250] (Secondary)
05:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RV516 GL [FireMV 2250]
05:00.1 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] RV516 GL [FireMV 2250] (Secondary)
Excerpts from /var/log/Xorg.0.log (full log attached):
X.Org X Server 1.15.1
Release Date: 2014-04-13
X Protocol Version 11, Revision 0
Build Operating System: Linux 2.6.42-54-generic x86_64 Ubuntu
Current Operating System: Linux home 3.13.0-32-generic #57 (closed)
Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.13.0-32-generic root=UUID=49af0ade-c356-429f-a723-85d7358f0484 ro
Build Date: 29 May 2014 10:29:10AM
xorg-server 2:1.15.1-0ubuntu2~precise1 (For technical support please see http://www.ubuntu.com/support)
Current version of pixman: 0.30.2
...
(II) LoadModule: "radeon"
(II) Loading /usr/lib/xorg/modules/drivers/radeon_drv.so
(II) Module radeon: vendor="X.Org Foundation"
compiled for 1.15.1, module version = 7.3.0
Module class: X.Org Video Driver
ABI class: X.Org Video Driver, version 15.0
Attachment 103009, "Xorg.0.log":
Xorg.0.log