Bug 12392 - radeon 6.7.192 fails to force second monitor HSync / VRefresh
Summary: radeon 6.7.192 fails to force second monitor HSync / VRefresh
Status: RESOLVED NOTABUG
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/Radeon (show other bugs)
Version: git
Hardware: x86 (IA32) Linux (All)
: medium normal
Assignee: xf86-video-ati maintainers
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-09-11 06:14 UTC by Jan Willies
Modified: 2007-09-17 07:05 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
Xorg.0.log (140.93 KB, text/plain)
2007-09-11 06:15 UTC, Jan Willies
no flags Details
xorg.conf (2.53 KB, text/plain)
2007-09-11 06:16 UTC, Jan Willies
no flags Details
xorg.conf UPDATED (2.17 KB, text/plain)
2007-09-13 12:43 UTC, Jan Willies
no flags Details
Xorg.0.log UPDATED (48.76 KB, text/plain)
2007-09-13 12:44 UTC, Jan Willies
no flags Details
again (2.09 KB, text/plain)
2007-09-13 23:22 UTC, Jan Willies
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jan Willies 2007-09-11 06:14:34 UTC
My laptop has a XPRESS 200M Card and I'm using xorg-7.3 (doesn't show up in the version list, so I selected git) with radeon-6.7.192 driver. However my second monitor replies faulty ddc values or xorg doesn't understand it correctly (DDC2/I2C is not properly initialized) and therefore I can't use the monitor with 1440x900 (Not using default mode "1440x900" (hsync out of range)). xrandr -q outputs this:

[jan:~]$ xrandr -q
Screen 0: minimum 320 x 200, current 1280 x 800, maximum 2720 x 1700
VGA-0 disconnected (normal left inverted right)
   1360x768       59.8     60.0
   1280x800       60.0
   1152x864       60.0
   1280x768       60.0
   1280x720       60.0
   1024x768       60.0
   800x600        60.3
   640x480        59.9
LVDS connected 1280x800+0+0 (normal left inverted right) 0mm x 0mm
   1280x800       60.0*+   60.0
   1280x768       60.0
   1280x720       60.0
   1024x768       60.0
   800x600        60.3
   640x480        59.9
S-video connected 800x600+0+0 (normal left inverted right) 0mm x 0mm
   800x600        59.9*+   60.3

(I don't know where that S-Video comes from, I don't have one)

I have tried to force HSync/VRefresh values in my xorg.conf but nothing happens.

I attached my Xorg.log.0 and xorg.conf. Please email me if you need more information about my system/setup.
Comment 1 Jan Willies 2007-09-11 06:15:45 UTC
Created attachment 11506 [details]
Xorg.0.log
Comment 2 Jan Willies 2007-09-11 06:16:10 UTC
Created attachment 11507 [details]
xorg.conf
Comment 3 Jan Willies 2007-09-11 14:30:04 UTC
> [jan:~]$ xrandr -q
> Screen 0: minimum 320 x 200, current 1280 x 800, maximum 2720 x 1700
> VGA-0 disconnected (normal left inverted right)
>    1360x768       59.8     60.0
>    1280x800       60.0
>    1152x864       60.0
>    1280x768       60.0
>    1280x720       60.0
>    1024x768       60.0
>    800x600        60.3
>    640x480        59.9
> LVDS connected 1280x800+0+0 (normal left inverted right) 0mm x 0mm
>    1280x800       60.0*+   60.0
>    1280x768       60.0
>    1280x720       60.0
>    1024x768       60.0
>    800x600        60.3
>    640x480        59.9
> S-video connected 800x600+0+0 (normal left inverted right) 0mm x 0mm
>    800x600        59.9*+   60.3
> 
> (I don't know where that S-Video comes from, I don't have one)

Well, my second monitor is just black, no picture at all. I forgot to mention that, sorry. It hits standby after some time. I even tried to play with DDCMode and IgnoreEDID but it didn't help.
lspci -vvvxx is located here: http://pastebin.archlinux.org/14326

Comment 4 Jan Willies 2007-09-13 12:34:38 UTC
Sorry guys, this wasn't a complete xorg-7.3. My distro had a backward-compatible-abi release in testing. But now I have a shiny new xorg-server-1.4.

First thing I can tell is, that my second monitor is listed as connected and I have a working extended screen!

[jan:~]$ xrandr -q
Screen 0: minimum 320 x 200, current 2560 x 800, maximum 2720 x 1700
VGA-0 connected 1280x800+1280+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1360x768       59.8     60.0
   1280x800       60.0*
   1152x864       60.0
   1280x768       60.0
   1280x720       60.0
   1024x768       60.0
   800x600        60.3
   640x480        59.9
LVDS connected 1280x800+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1280x800       60.0*+   60.0
   1280x768       60.0
   1280x720       60.0
   1024x768       60.0
   800x600        60.3
   640x480        59.9
S-video connected (normal left inverted right x axis y axis)
   800x600        59.9 +   60.3


As you can see, the resolution of the second Monitor (VGA-0) isn't 1440x900 (which it should be). I have tested the following resolutions:

[jan:~]$ xrandr --output VGA-0 --mode 1440x900          # becomes 1024x768
xrandr: cannot find mode 1440x900
[jan:~]$ xrandr --output VGA-0 --mode 1360x768          # becomes 1280x768
[jan:~]$ xrandr --output VGA-0 --mode 1280x800          # becomes 1024x768
[jan:~]$ xrandr --output VGA-0 --mode 1152x864          # becomes 1152x870
[jan:~]$ xrandr --output VGA-0 --mode 1280x768          # becomes 1280x768
[jan:~]$ xrandr --output VGA-0 --mode 1280x720          # becomes 1280x720
[...]


These are the log-outputs when I call xrandr:

(II) RADEON(0): DDC Type: 4, Detected Monitor Type: 0
(II) RADEON(0): Found color CRT connected to TV DAC
in RADEONProbeOutputModes
(II) RADEON(0): I2C device "CRT2_DDC:ddc2" registered at address 0xA0.
(II) RADEON(0): I2C device "CRT2_DDC:ddc2" removed.
(WW) RADEON(0): DDC2/I2C is not properly initialized
(II) RADEON(0): DDC Type: 0, Detected Monitor Type: 0
(II) RADEON(0): Detected Monitor Type: 2
in RADEONProbeOutputModes
(II) RADEON(0): No valid mode specified, force to native mode
(II) RADEON(0): Total number of valid FP mode(s) found: 1
(II) RADEON(0): DDC Type: 4, Detected Monitor Type: 0
(II) RADEON(0): Found color CRT connected to TV DAC
in RADEONProbeOutputModes
(II) RADEON(0): I2C device "CRT2_DDC:ddc2" registered at address 0xA0.
(II) RADEON(0): I2C device "CRT2_DDC:ddc2" removed.
(WW) RADEON(0): DDC2/I2C is not properly initialized
(II) RADEON(0): DDC Type: 0, Detected Monitor Type: 0
(II) RADEON(0): Detected Monitor Type: 2
in RADEONProbeOutputModes
(II) RADEON(0): No valid mode specified, force to native mode
(II) RADEON(0): Total number of valid FP mode(s) found: 1
(II) RADEON(0): S-Video TV connection detected
in RADEONProbeOutputModes
disable montype: 1
disable montype: 5
init memmap
init common
init crtc2
init pll2
restore memmap
(II) RADEON(0): RADEONRestoreMemMapRegisters() :
(II) RADEON(0):   MC_FB_LOCATION   : 0x3fff3c00
(II) RADEON(0):   MC_AGP_LOCATION  : 0xffffffc0
restore common
restore crtc2
restore pll2
finished PLL2
restore dac
enable montype: 1
disable montype: 5


When I set
        Option  "PanelSize"     "1440x900"
for the second monitor, then X will hang during start. I can only reboot the machine via <ctrl-alt-del>.
The same happens when I set
        Option  "DDCMode"       "on"
in the Device section.


I attached an updated Xorg.log.0 / xorg.conf

If you need any additional information, I'm on irc.freenode.org #xorg or email me.
Comment 5 Jan Willies 2007-09-13 12:43:30 UTC
Created attachment 11553 [details]
xorg.conf UPDATED
Comment 6 Jan Willies 2007-09-13 12:44:03 UTC
Created attachment 11555 [details]
Xorg.0.log UPDATED
Comment 7 Alex Deucher 2007-09-13 18:09:28 UTC
The driver is not able to get an edid from your monitor for some reason (ddc on the xpress chips is pretty flakey ATM).  you'll have to manually add the mode to either your config or at runtime using xrandr:

xrandr --addmode VGA-0 1440x900
xrandr --output VGA-0 --mode 1440x900
Comment 8 Jan Willies 2007-09-13 23:22:12 UTC
thx for your answer. Since the 1440x900 mode wasn't available I created a Modeline with 'cvt 1440 900 60' and added it:

xrandr --newmode "1440x900"  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync

[jan:~]$ xrandr -q
Screen 0: minimum 320 x 200, current 2432 x 864, maximum 2720 x 1700
VGA-0 connected 1152x864+1280+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1360x768       59.8     60.0
   1280x800       60.0
   1152x864       60.0*
   1280x768       60.0
   1280x720       60.0
   1024x768       60.0
   800x600        60.3
   640x480        59.9
LVDS connected 1280x800+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1280x800       60.0*+   60.0
   1280x768       60.0
   1280x720       60.0
   1024x768       60.0
   800x600        60.3
   640x480        59.9
S-video disconnected (normal left inverted right x axis y axis)
  1440x900       (0x62)  106.5MHz
        h: width  1440 start 1528 end 1672 total 1904 skew    0 clock   55.9KHz
        v: height  900 start  903 end  909 total  934           clock   59.9Hz

WTF, it was added to S-Video? I can't switch to it now of course... (Sometimes I could, with "xrandr --addmode VGA-0 1440x900" but then "xrandr --output VGA-0 --mode 1440x900" gave me "xrandr: cannot find crtc for output VGA-0")

So I wrote it into the Monitor Section:

Section "Monitor"
        Identifier      "FSC"
        Modeline        "1440x900"  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync
EndSection


And there it was!

VGA-0 connected 1440x900+1280+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1440x900       59.9*
   1360x768       59.8     60.0
   [...]

Yay! Now I could switch to it with a little helping script (sometimes):

#!/bin/sh
xrandr --auto
xrandr --output LVDS --rotate normal
xrandr --addmode VGA-0 1440x900
xrandr --output VGA-0 --auto
xrandr --output VGA-0 --mode 1440x900
xrandr --output VGA-0 --right-of LVDS

However, xrandr -q says VGA-0 disconnected after a fresh start of the system. Sometimes I can call the script 20 times and nothing happens. Sometimes the screen gets extended after the 3rd call. Never on the first though. Can you please show me a way to set this up statically in xorg.conf? I have tried every possible variation of

Section "Monitor"
        Identifier      "FSC"
        Modeline        "1440x900"      106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync
        HorizSync       31.5-55.93
        VertRefresh     50.0-60.0
        UseModes        "1440x900"
        Option          "Enable"        "on"
        Option          "RightOf"       "LVDS"
        Option          "PreferredMode" "1440x900"
EndSection
but X always comes up with only the laptop screen enabled. This is in the logs:

(II) RADEON(0): Output VGA-0 using monitor section FSC
(**) RADEON(0): Option "PreferredMode" "1440x900"
(**) RADEON(0): Option "RightOf" "LVDS"
(**) RADEON(0): Option "Enable" "on"
(II) RADEON(0): I2C bus "CRT2_DDC" initialized.
[...]
(II) RADEON(0): Output VGA-0 enabled by config file
(II) RADEON(0): Output LVDS connected
(II) RADEON(0): Output S-video connected
(II) RADEON(0): Output VGA-0 using initial mode 1280x800 (<- ????)
(II) RADEON(0): Output LVDS using initial mode 1280x800
(II) RADEON(0): Output S-video using initial mode 800x600
after xf86InitialConfiguration


Thanks,

- Jan
Comment 9 Jan Willies 2007-09-13 23:22:52 UTC
Created attachment 11564 [details]
again
Comment 10 Jan Willies 2007-09-14 15:30:03 UTC
oki, it was the S-Video. Disabling it solved the problem, now I can start my extended screen with this little script:

#!/bin/sh
xrandr --output S-video --off
xrandr --newmode "1440x900"  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync
xrandr --addmode VGA-0 1440x900
xrandr --output VGA-0 --auto
xrandr --output VGA-0 --mode 1440x900
xrandr --output VGA-0 --right-of LVDS

Still I wonder what the static way for it would be.

Guess this "bug" can be closed now. (Well it's a new one, cause I have to disable my non-existing S-Video Port :P) Thanks!
Comment 11 Alex Deucher 2007-09-14 15:38:36 UTC
(In reply to comment #10)

> Still I wonder what the static way for it would be.
> 
> Guess this "bug" can be closed now. (Well it's a new one, cause I have to
> disable my non-existing S-Video Port :P) Thanks!
> 

Well, your bios seems to think you have an S-video port.  You can either upgrade to the latest version of the driver in git (which disables tv-oout load detection), or you can disable it thusly:

add:
Section "Monitor"
        Identifier      "TV"
        Option "Enable"  "FALSE"
EndSection

to your xorg.conf and add:
        Option          "Monitor-S-video" "TV"
to the device section of your config.
Comment 12 Jan Willies 2007-09-17 07:05:07 UTC
Yeah I tried that but it doesn't work for me. I've to wait for a new release with disabled S-Video.

Section "Device"
        Identifier      "Radeon XPRESS 200M"
        Driver          "ati"
        BusID           "PCI:1:5:0"
        Option          "monitor-LVDS"          "LVDS"
        Option          "monitor-VGA-0"         "FSC"
        Option          "monitor-S-video"       "TV"
#       Option          "AccelMethod"           "EXA"
#       Option          "EnablePageFlip"        "on"
EndSection

Section "Monitor"
        Identifier      "LVDS"
EndSection

Section "Monitor"
        Identifier      "FSC"
        HorizSync       31.5-55.93
        VertRefresh     50.0-60.0
        Modeline        "1440x900" 106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync
        UseModes        "1440x900"
        Option          "Enable"        "on"
        Option          "PreferredMode" "1440x900"
        Option          "RightOf"       "LVDS"
EndSection

Section "Monitor"
        Identifier      "TV"
        Option          "Enable"        "FALSE"
EndSection

(II) RADEON(0): Output VGA-0 using monitor section FSC
(II) RADEON(0): I2C bus "CRT2_DDC" initialized.
(II) RADEON(0): Output LVDS using monitor section LVDS
(II) RADEON(0): Panel ID string: AU B121EW01 1280x800WXGA
(II) RADEON(0): Panel Size from BIOS: 1280x800
(II) RADEON(0): BIOS provided dividers will be used.
(II) RADEON(0): Output S-video using monitor section TV
(**) RADEON(0): Option "Enable" "FALSE"
(II) RADEON(0): Default TV standard: NTSC
(II) RADEON(0): TV standards supported by chip: NTSC 
(II) RADEON(0): Port0:
 Monitor   -- AUTO
 Connector -- VGA
 DAC Type  -- TVDAC/ExtDAC
 TMDS Type -- None
 DDC Type  -- CRT2_DDC
(II) RADEON(0): Port1:
 Monitor   -- AUTO
 Connector -- Proprietary/LVDS
 DAC Type  -- None
 TMDS Type -- None
 DDC Type  -- None
(II) RADEON(0): Port2:
 Monitor   -- AUTO
 Connector -- STV
 DAC Type  -- TVDAC/ExtDAC
 TMDS Type -- None
 DDC Type  -- None
(II) RADEON(0): DDC Type: 4, Detected Monitor Type: 0
(II) RADEON(0): Found color CRT connected to TV DAC
finished output detect: 0
(WW) RADEON(0): DDC2/I2C is not properly initialized
(II) RADEON(0): DDC Type: 0, Detected Monitor Type: 0
(II) RADEON(0): Detected Monitor Type: 2
finished output detect: 1
(II) RADEON(0): S-Video TV connection detected
finished output detect: 2
finished all detect
before xf86InitialConfiguration
(II) RADEON(0): DDC Type: 4, Detected Monitor Type: 0
(II) RADEON(0): Found color CRT connected to TV DAC
in RADEONProbeOutputModes
(II) RADEON(0): I2C device "CRT2_DDC:ddc2" registered at address 0xA0.
(II) RADEON(0): I2C device "CRT2_DDC:ddc2" removed.
(WW) RADEON(0): DDC2/I2C is not properly initialized
(II) RADEON(0): DDC Type: 0, Detected Monitor Type: 0
(II) RADEON(0): Detected Monitor Type: 2
in RADEONProbeOutputModes
(II) RADEON(0): No valid mode specified, force to native mode
(II) RADEON(0): Total number of valid FP mode(s) found: 1
(II) RADEON(0): S-Video TV connection detected
in RADEONProbeOutputModes
(II) RADEON(0): Output VGA-0 connected
(II) RADEON(0): Output LVDS connected
(II) RADEON(0): Output S-video connected
(II) RADEON(0): Output VGA-0 using initial mode 1280x800
(II) RADEON(0): Output LVDS using initial mode 1280x800
(II) RADEON(0): Output S-video using initial mode 800x600


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.