XRandR failing to expose two monitors on single RV280 as separate heads (was: dual-DPU XRandR almost working, DVI-0 stays blank)

martin f krafft madduck at madduck.net
Tue Feb 23 00:06:27 PST 2010


also sprach Corbin Simpson <mostawesomedude at gmail.com> [2010.02.22.2354 +0100]:
> You'll have to Zaphod the head. Good luck. :3

I am not sure I understand. Zaphod is multiple Screen entries in the
ServerLayout, right?

  Section "ServerLayout"
      Identifier      "Dual-Head"
      Screen        0 "ScreenLeft"
      Screen        1 "ScreenMiddleRight" RightOf "ScreenLeft"
  EndSection

If so, then I am already using that to combine two screens for the
two graphics cards in the system. I previously had three screens
like this, and each referenced a specific output of the graphics
card (using Screen lines in the Device sections), but this stopped
working with KMS[0].

0. http://lists.freedesktop.org/archives/xorg/2010-February/049355.html

ScreenMiddleRight in the above references a single Radeon 9200 Device with
two monitors connected to its DVI and VGA ports. I can use XRandR to
place one of them --left-of the other, but the result is a single
head across both monitors.

This is curious, because when I connect my laptop (Intel GPU) to an
external display, and I place LVDS --right-of VGA-1, then the window
manager sees two heads, not one spread across both displays.

It seems to me that I need to tell the radeon driver that it should
present the two displays as separate heads. Apparently, this is not
needed for the intel driver.

Hence I tried the new option ZaphodHeads[0], like so:

  Section "Device"
      Identifier      "Radeon 9200"
      Driver          "radeon"
      BusID           "PCI:1:0:0"
      Option          "Monitor-DVI-1" "Acer AL922[1]"
      Option          "Monitor-VGA-1" "MRM B18XA"
      Option          "ZaphodHeads" "DVI-1,VGA-1"
  EndSection

0. http://cgit.freedesktop.org/xorg/driver/xf86-video-ati/commit/?id=579cdcf9b4e38c791a497b747a055fc0a07d8dd6

The result is that the DVI-1 display seems to disappear:

  [log abridged, full log attached]
  (II) RADEON(1): Output VGA-1 using monitor section MRM B18XA
  (II) RADEON(1): Output VGA-1 enabled by config file
  (II) RADEON(1): Using user preference for initial modes
  (II) RADEON(1): Output VGA-1 using initial mode 1280x1024x75.00
  (EE) RADEON(1): Cannot position output VGA-1 relative to unknown output DVI-1
  (WW) RADEON(1): Option "Monitor-DVI-1" is not used

Alex says that Zaphod and XRandR are fundamentally incompatible, so
maybe I am going down a garden path anyway. The way I can explain
the above is that while XRandR can somehow split up a single screen
(:0.0) into multiple heads, Zaphod prevents this.

The attached config file shows three possible scenarios I am
investigating:

  1. Zaphod to combine the two GPUs, and XRandR on the Radeon 9200
     card to split the attached monitors into separate heads.

     This does not work for the aforementioned reason(s): :0.1
     extends across both monitors on the Radeon 9200 card and
     appears as a single head. There seems to be no way to split the
     two displays into separate heads

  2. Zaphod all around, no XRandR

     This results in VGA-1 as screen 0, and DVI-1 as screen 1 on the
     Radeon 9200. All efforts to change the order, or to invert the
     placement result in Screen 1 being deleted:
     http://lists.freedesktop.org/archives/xorg/2010-February/049355.html
     (this was the original problem spawning this thread).

So now it seems I am stuck between a rock and a hard place. (2.) is
what I used for years, and it broke subtly with KMS/X7.5, and while
(1.) seems like it would be the most elegant solution (apart from
XRandR being able to combine heads across multiple GPUs, which it
might be able to do come version 2.0), it falls just an inch short
too.

Where to next?

-- 
martin | http://madduck.net/ | http://two.sentenc.es/
 
"imagine if every thursday your shoes exploded if you
 tied them the usual way. this happens to us all the time
 with computers, and nobody thinks of complaining."
                                                        -- jeff raskin
 
spamtraps: madduck.bogus at madduck.net
-------------- next part --------------
# /etc/X11/xorg.conf (xorg X Window System server configuration file)

Section "Files"
    ModulePath      "/usr/local/lib/xorg/modules,/usr/lib/xorg/modules"
EndSection

Section "Monitor"
    Identifier      "Acer AL922[0]"
    Option          "PreferredMode" "1280x1024x75.00"
    Option          "Enable" "true"
EndSection

Section "Monitor"
    Identifier      "Acer AL922[1]"
    Option          "PreferredMode" "1280x1024x75.00"
    Option          "Enable" "true"
    Option          "Primary" "true"
EndSection

Section "Monitor"
    Identifier      "MRM B18XA"
    #HorizSync       24-80
    #VertRefresh     30-60
    # 1280x1024 @ 75.00 Hz (GTF) hsync: 80.17 kHz; pclk: 138.54 MHz
    Modeline        "1280x1024x75.00"  138.54  1280 1368 1504 1728  1024 1025 1028 1069  -HSync +Vsync
    Option          "PreferredMode" "1280x1024x75.00"
    Option          "Enable" "true"
    Option          "RightOf" "DVI-1"
EndSection

Section "Device"
    Identifier      "Radeon 9250"
    Driver          "radeon"
    BusID           "PCI:0:12:0"
    Option          "Monitor-DVI-0" "Acer AL922[0]"
EndSection

Section "Device"
    Identifier      "Radeon 9200 combined"
    Driver          "radeon"
    BusID           "PCI:1:0:0"
    Option          "Monitor-DVI-1" "Acer AL922[1]"
    Option          "Monitor-VGA-1" "MRM B18XA"
    #Option          "ZaphodHeads" "DVI-1,VGA-1"
EndSection

Section "Device"
    Identifier      "Radeon 9200[0]"
    Driver          "radeon"
    BusID           "PCI:1:0:0"
    Screen          0
EndSection

Section "Device"
    Identifier      "Radeon 9200[1]"
    Driver          "radeon"
    BusID           "PCI:1:0:0"
    Screen          1
EndSection

Section "Screen"
    Identifier      "ScreenLeft"
    Device          "Radeon 9250"
    DefaultDepth    24
    SubSection "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier      "ScreenMiddleRight"
    Device          "Radeon 9200 combined"
    DefaultDepth    24
    SubSection "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier      "ScreenMiddle"
    Device          "Radeon 9200[0]"
    Monitor         "Acer AL922[1]"
    DefaultDepth    24
    SubSection "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier      "ScreenRight"
    Device          "Radeon 9200[1]"
    Monitor         "MRM B18XA"
    DefaultDepth    24
    SubSection "Display"
        Depth       24
    EndSubSection
EndSection

Section "ServerFlags"
    Option          "DontZap" "yes"
    Option          "AllowDeactivateGrabs" "yes"
    Option          "AllowClosedownGrabs" "yes"
EndSection

Section "ServerLayout"
    Identifier      "Triple-Head"

###############################################################################
#SYNOPSIS: Zaphod to combine the two GPUs, and XRandR on the Radeon 9200 card
#          to split the attached monitors into separate heads
    Screen        0 "ScreenLeft"
    Screen        1 "ScreenMiddleRight" RightOf "ScreenLeft"
#PROBLEM:  :0.1 extends across both monitors on the Radeon 9200 card and
#          appears as a single head. There seems to be no way to split the two
#          displays into separate heads

###############################################################################
#SYNOPSIS: Zaphod all around, no XRandR
#    Screen        0 "ScreenLeft"
#    Screen        1 "ScreenMiddle" RightOf "ScreenLeft"
#    Screen        2 "ScreenRight" RightOf "ScreenMiddle"
#PROBLEM:  VGA-1 is screen 0, and DVI-1 is screen 1 on the Radeon 9200. All
#          efforts to change the order, or to invert the placement result in
#          Screen 1 being deleted:
#          http://lists.freedesktop.org/archives/xorg/2010-February/049355.html

###############################################################################
#SYNOPSIS: Pure dual-head (no Zaphod) using XRandR
#    Screen          "ScreenMiddleRight"
#PROBLEM:  none, but I want triple-head!

EndSection

Section "Extensions"
    Option          "Composite" "Enable"
    Option          "RENDER" "true"
    Option          "DAMAGE" "true"
EndSection
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Xorg.0.log.gz
Type: application/octet-stream
Size: 8211 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20100223/64aadb03/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: digital_signature_gpg.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature (see http://martin-krafft.net/gpg/)
URL: <http://lists.x.org/archives/xorg/attachments/20100223/64aadb03/attachment.pgp>


More information about the xorg mailing list