Bug#492457: Regression: Dual head screen size detection broken after upgrade

Alex Deucher alexdeucher at gmail.com
Mon Jul 28 08:17:00 PDT 2008


2008/7/27 Tobias Diedrich <ranma at tdiedrich.de>:
> Alex Deucher wrote:
>
>> This is probably due to a change in default xrandr mode selection
>> policy in the two xserver versions you are using.
>>
>>
>> > (However fluxbox still thinks the desktop is 1600x1200, for example when
>> > maximizing windows, but I suspect this is a fluxbox bug?)
>> >
>>
>> Since you are using a clone mode, fluxbox is getting it's geometry
>> from the 1600x1200 screen.
>
> Well, it's not exatcly clone mode if the second screen is set up
> using "xrandr --output VGA-0 --auto --right-of DVI-0"? :)
>

ah, ok, I didn't realize you had setup dualhead.  As Julian noted,
fluxbox doesn't support geometry updates.

> First I tried disabling the bogus connector using 'Option
> "monitor-DVI-0" "bogus"' and 'Option "Ignore" "true"' in the
> corresponding Monitor section, but that didn't work (X would refuse
> to start with 'no usable screens').
>
> Right now I'm using 'Option      "DefaultConnectorTable"     "yes"',
> which works for me as far as the connectors are concerned.
>
> However the default resolution of the secondary Monitor is now
> 1280x1024 instead of 1600x1200.  So I still have to run xrandr in my
> .xsession to change to native panel resolution even though I'm
> saying 'Option "PreferredMode" "1600x1200"' in the xorg.conf:
>

You might want to try a newer X server.  I think older ones may have
not properly dealt with preferred modes on more than 1 output.

> IMHO randr should use the native resolution for both monitors by
> default.

That seems reasonable, but when you consider that the default mode is
clone, what do you do if each monitor has wildly different preferred
modes?  You'll end up with areas that are only visible on one monitor
or the other.  The current situation is a mess.

>
> Also, the "ConnectorTable" option seems to be undocumented?
> At least it's not mention in the radeon(4) manpage (however it does
> mention the "DefaultConnectorTable" option).

Both of those options are for debugging.  I'd rather have users report
the problems and fix the bugs for real than to just enable the option
and never mention it.

>
> |Section "ServerLayout"
> |       Identifier     "X.org Configured"
> |       Screen      0  "Screen0" 0 0
> |       InputDevice    "Mouse0" "CorePointer"
> |       InputDevice    "Keyboard0" "CoreKeyboard"
> |EndSection
> |
> |Section "Files"
> |       RgbPath      "/etc/X11/rgb"
> |       ModulePath   "/usr/lib/xorg/modules"
> |       FontPath     "/usr/share/fonts/X11/misc"
> |       FontPath     "/usr/share/fonts/X11/cyrillic"
> |       FontPath     "/usr/share/fonts/X11/100dpi/:unscaled"
> |       FontPath     "/usr/share/fonts/X11/75dpi/:unscaled"
> |       FontPath     "/usr/share/fonts/X11/Type1"
> |       FontPath     "/usr/share/fonts/X11/100dpi"
> |       FontPath     "/usr/share/fonts/X11/75dpi"
> |       FontPath     "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
> |EndSection
> |
> |Section "Module"
> |       Load  "xtrap"
> |       Load  "extmod"
> |       Load  "glx"
> |       Load  "record"
> |       Load  "dri"
> |       Load  "dbe"
> |       Load  "GLcore"
> |EndSection
> |
> |Section "InputDevice"
> |       Identifier  "Keyboard0"
> |       Driver      "kbd"
> |EndSection
> |
> |Section "InputDevice"
> |       Identifier  "Mouse0"
> |       Driver      "mouse"
> |       Option      "Protocol" "auto"
> |       Option      "Device" "/dev/input/mice"
> |       Option      "ZAxisMapping" "4 5 6 7"
> |EndSection
> |
> |Section "Monitor"
> |       #DisplaySize      410   310     # mm
> |       Identifier   "syncmaster"
> |       Option "PreferredMode"  "1680x1050"
> |       Option "Position" "0 0"
> |       Option      "DPMS"
> |EndSection
> |
> |Section "Monitor"
> |       Identifier   "flatron"
> |       Option "PreferredMode"  "1600x1200"
> |       Option "Position" "1680 0"
> |       Option      "DPMS"
> |EndSection
> |
> |Section "Monitor"
> |       Identifier   "bogus"
> |       Option      "Enable" "false"
> |EndSection
> |
> |
> |Section "Device"
> |        ### Available Driver options are:-
> |        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
> |        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
> |        ### [arg]: arg optional
> |        #Option     "NoAccel"                  # [<bool>]
> |        #Option     "SWcursor"                 # [<bool>]
> |        #Option     "Dac6Bit"                  # [<bool>]
> |        #Option     "Dac8Bit"                  # [<bool>]
> |        #Option     "BusType"                  # [<str>]
> |        #Option     "CPPIOMode"                # [<bool>]
> |        #Option     "CPusecTimeout"            # <i>
> |        #Option     "AGPMode"                  # <i>
> |        #Option     "AGPFastWrite"             # [<bool>]
> |        #Option     "AGPSize"                  # <i>
> |        #Option     "GARTSize"                 # <i>
> |        #Option     "RingSize"                 # <i>
> |        #Option     "BufferSize"               # <i>
> |        #Option     "EnableDepthMoves"         # [<bool>]
> |        #Option     "EnablePageFlip"           # [<bool>]
> |        #Option     "NoBackBuffer"             # [<bool>]
> |        #Option     "DMAForXv"                 # [<bool>]
> |        #Option     "FBTexPercent"             # <i>
> |        #Option     "DepthBits"                # <i>
> |        #Option     "PCIAPERSize"              # <i>
> |        #Option     "AccelDFS"                 # [<bool>]
> |        #Option     "DDCMode"                  # [<bool>]
> |        #Option     "IgnoreEDID"               # [<bool>]
> |        #Option     "DisplayPriority"          # [<str>]
> |        #Option     "PanelSize"                # [<str>]
> |        #Option     "ForceMinDotClock"         # <freq>
> |        #Option     "ColorTiling"              # [<bool>]
> |        #Option     "VideoKey"                 # <i>
> |        #Option     "RageTheatreCrystal"       # <i>
> |        #Option     "RageTheatreTunerPort"     # <i>
> |        #Option     "RageTheatreCompositePort"         # <i>
> |        #Option     "RageTheatreSVideoPort"    # <i>
> |        #Option     "TunerType"                # <i>
> |        #Option     "RageTheatreMicrocPath"    # <str>
> |        #Option     "RageTheatreMicrocType"    # <str>
> |        #Option     "ScalerWidth"              # <i>
> |        #Option     "RenderAccel"              # [<bool>]
> |        #Option     "SubPixelOrder"            # [<str>]
> |        #Option     "ShowCache"                # [<bool>]
> |        #Option     "DynamicClocks"            # [<bool>]
> |        #Option     "VGAAccess"                # [<bool>]
> |        #Option     "ReverseDDC"               # [<bool>]
> |        #Option     "LVDSProbePLL"             # [<bool>]
> |        #Option     "AccelMethod"              # <str>
> |        #Option     "DRI"                      # [<bool>]
> |        #Option     "ConnectorTable"           # <str>
> |        #Option     "DefaultConnectorTable"    # [<bool>]
> |        Option      "DefaultConnectorTable"    "yes"
> |        #Option     "DefaultTMDSPLL"           # [<bool>]
> |        #Option     "DefaultTMDSPLL"           # [<bool>]
> |        #Option     "TVDACLoadDetect"          # [<bool>]
> |        #Option     "ForceTVOut"               # [<bool>]
> |        #Option     "TVStandard"               # <str>
> |        #Option     "IgnoreLidStatus"          # [<bool>]
> |        #Option     "DefaultTVDACAdj"          # [<bool>]
> |        #Option     "Int10"                    # [<bool>]
> |       Identifier  "Card0"
> |       Driver      "radeon"
> |       VendorName  "ATI Technologies Inc"
> |       BoardName   "RV370 5B60 [Radeon X300 (PCIE)]"
> |#      BusID       "PCI:2:0:0"
> |       Option      "monitor-VGA-0" "flatron"
> |       Option      "monitor-DVI-0" "syncmaster"
> |EndSection
> |
> |Section "Screen"
> |       Identifier "Screen0"
> |       Device     "Card0"
> |       Monitor    "syncmaster"
> |       SubSection "Display"
> |               Depth    24
> |               Virtual  3328 2048
> |       EndSubSection
> |EndSection
>
>> > As you can see, two DVI-ports are detected even though only one is
>> > really present on the card.
>> >
>> > The SyncMaster is connected to the DVI port and the Flatron is connected
>> > to the VGA port.  The S-Video port is present, but unused.
>>
>> Please send me your video bios and the pci subsystem ids for your
>> video card, and I'll fix this issue.
>>
>> subsystem ids:
>> lspci -nv
>
> 02:00.0 0300: 1002:5b60
>        Subsystem: 17af:201e
>        Flags: bus master, fast devsel, latency 0, IRQ 16
>        Memory at e8000000 (32-bit, prefetchable) [size=128M]
>        I/O ports at 8c00 [size=256]
>        Memory at fdef0000 (32-bit, non-prefetchable) [size=64K]
>        Expansion ROM at fdec0000 [disabled] [size=128K]
>        Capabilities: [50] Power Management version 2
>        Capabilities: [58] Express Endpoint, MSI 00
>        Capabilities: [80] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable-
>
> 02:00.1 0380: 1002:5b70
>        Subsystem: 17af:201f
>        Flags: bus master, fast devsel, latency 0
>        Memory at fdee0000 (32-bit, non-prefetchable) [size=64K]
>        Capabilities: [50] Power Management version 2
>        Capabilities: [58] Express Endpoint, MSI 00
>
>> video bios (as root), use lspci to get the pci slot id:
>> cd /sys/bus/pci/devices/<pci slot id>/
>> echo 1 > rom
>> cat rom > /tmp/videocard.rom
>> echo 0 > rom
>
> http://uguu.de/~ranma/radeon-x300.rom.gz

I've added a quirk to the driver that should remove the extra DVI port:
commit: d5799ac53c3e1b2ca1da97780b171a44060c3aad

Thanks,

Alex





More information about the xorg-driver-ati mailing list