Using two dual-head Radeon cards with X on a single PC with 3 monitors

Mark Cave-Ayland mark.cave-ayland at siriusit.co.uk
Sun Aug 21 05:39:32 PDT 2011


Hi all,

I'm currently struggling trying to setup one of our new PCs with 2 
dual-head Radeon cards and was hoping that someone here could help me 
out a little. The OS is Debian squeeze (Linux) running a 2.6.39 
backports kernel.

Currently we have 3 large visitor displays that were being driven by 3 
separate servers, but the plan is to move everything over to a single PC 
with 2 radeon graphics cards. When staff need to update these monitors, 
they simply connect using VNC to each of the 3 displays in turn since 
each one is running x11vnc.

My first plan was to try and copy this exact same setup with 3 X 
displays but as far as I can tell, when using a dual-head card you can 
only get a single display with multiple screens. This is not so much of 
a problem but I'd be interested to know if there is a workaround here.

Anyway, I now how have 2 separate X configs which when run independently 
drive 3 displays - one on the 1st card, and two on the second which look 
like this:

[xorg.1.conf - Left screen]
Section "Device"
         Identifier  "Card1"
         Driver      "radeon"
         BusID       "PCI:2:0:0"

         Option          "Monitor-DVI-1" "left"
EndSection

Section "Monitor"
         Identifier   "left"
EndSection

Section "Screen"
         Identifier "Left"
         Device     "Card1"
         SubSection "Display"
                 Virtual 3840 1080
                 Depth     24
         EndSubSection
EndSection

[xorg.2.conf - Middle & Right screens]
Section "Device"
         Identifier  "Card0"
         Driver      "radeon"
         BusID       "PCI:1:0:0"

         Option          "Monitor-DVI-0" "right"
         Option          "Monitor-HDMI-2" "middle"
EndSection

Section "Monitor"
         Identifier   "middle"
EndSection

Section "Monitor"
         Identifier   "right"
         Option  "RightOf" "middle"
EndSection

Section "Screen"
         Identifier "MiddleRight"
         Device     "Card0"
         SubSection "Display"
                 Virtual 3840 1080
                 Depth     24
         EndSubSection
EndSection

Independently these appear to work absolutely fine. Now the problem is 
when I try and run them both together. If I launch them as 2 separate X 
servers like this:

Xorg -config /etc/X11/xorg.1.conf :1
Xorg -config /etc/X11/xorg.2.conf :2

Then this will generally work 90% of the time in that both displays come 
up correctly; however if I run those two commands together in a script 
then generally only one of them works. When both are active, if I then 
try and CTRL-C the X server then it hangs at the console and I see the 
following output in dmesg:

[  234.265199] [drm:atom_op_jump] *ERROR* atombios stuck in loop for 
more than 5secs aborting
[  234.265763] [drm:atom_execute_table_locked] *ERROR* atombios stuck 
executing C7D6 (len 62, WS 0, PS 0) @ 0xC7F2
[  239.268091] [drm:atom_op_jump] *ERROR* atombios stuck in loop for 
more than 5secs aborting
[  239.268681] [drm:atom_execute_table_locked] *ERROR* atombios stuck 
executing C7D6 (len 62, WS 0, PS 0) @ 0xC7F2
[  239.269286] [drm:atom_execute_table_locked] *ERROR* atombios stuck 
executing BECE (len 831, WS 0, PS 0) @ 0xBF2B
[  244.270984] [drm:atom_op_jump] *ERROR* atombios stuck in loop for 
more than 5secs aborting

My current feeling is that this may be an issue with the radeon driver 
but I first wanted to check to make sure that I'm not trying to do 
something obviously stupid with the X configuration above.


Many thanks,

Mark.

-- 
Mark Cave-Ayland - Senior Technical Architect
PostgreSQL - PostGIS
Sirius Corporation plc - control through freedom
http://www.siriusit.co.uk
t: +44 870 608 0063

Sirius Labs: http://www.siriusit.co.uk/labs



More information about the xorg mailing list