Bug 14216

Summary: RS482 does not detect monitor connected to DVI-0
Product: xorg Reporter: Chris Halls <halls>
Component: Driver/RadeonAssignee: xf86-video-ati maintainers <xorg-driver-ati>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium    
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
xorg.conf (generated using Debian's dexconf)
none
X server log
none
Xorg from working setup using analogue cable
none
Working log with driver 6.8.0 none

Description Chris Halls 2008-01-23 09:24:30 UTC
Created attachment 13880 [details]
xorg.conf (generated using Debian's dexconf)

I have not been able to get X working on the DVI output with the radeon driver. (Fglrx used to work but the latest version is having problems with the video mode).

xrandr shows no display detected:

Screen 0: minimum 320 x 200, current 1280 x 768, maximum 1280 x 1200
VGA-0 disconnected 1280x768+0+0 (0x50) normal (normal left inverted right x axis y axis) 0mm x 0mm
        Identifier: 0x4c
        Timestamp:  8789911
        Subpixel:   no subpixels
        Clones:
        CRTC:       0
        CRTCs:      0 1
        load_detection: 0 (0x00000000) range:  (0,1)
DVI-0 disconnected (normal left inverted right x axis y axis)
        Identifier: 0x4d
        Timestamp:  8789911
        Subpixel:   horizontal rgb
        Clones:
        CRTCs:      0 1
                scaler: off
S-video disconnected (normal left inverted right x axis y axis)
        Identifier: 0x4e
        Timestamp:  8789911
        Subpixel:   no subpixels
        Clones:
        CRTCs:      0 1
                tv_standard: ntsc
        tv_vertical_position: 0 (0x00000000) range:  (-5,5)
        tv_horizontal_position: 0 (0x00000000) range:  (-5,5)
        tv_horizontal_size: 0 (0x00000000) range:  (-5,5)
        load_detection: 0 (0x00000000) range:  (0,1)
  1280x768 (0x50)   80.1MHz
        h: width  1280 start 1344 end 1480 total 1680 skew    0 clock   47.7KHz
        v: height  768 start  769 end  772 total  795           clock   60.0Hz

If I add a monitor to the VGA output this is correctly detected.

This is tested with current git (719a9a376e34d99032af75e3f7b002670ccb816b). I'll attach my x.org config and server logfile. Please let me know if there's any more information I can give. I'm a C programmer so I can have a fiddle in the code if you can point me in the right direction.
Comment 1 Chris Halls 2008-01-23 09:25:16 UTC
Created attachment 13881 [details]
X server log
Comment 2 Chris Halls 2008-01-24 03:17:11 UTC
I have managed to work around this for now by connecting the Radeon analogue output to the analogue connector on the monitor. The monitor's capabilities are detected and I get the proper resolution.

$ xrandr --verbose
Screen 0: minimum 320 x 200, current 1680 x 1050, maximum 1680 x 1200
VGA-0 connected 1680x1050+0+0 (0x4f) normal (normal left inverted right x axis y
 axis) 433mm x 271mm
        Identifier: 0x4c
        Timestamp:  68331201
        Subpixel:   no subpixels
        Clones:
        CRTC:       0
        CRTCs:      0 1
        EDID_DATA:
                00ffffffffffff002264105b01010101
                191101030a2f1e782ea8c6a6514d9b24
                134f54bfef80b30fa9409040904f8180
                8140714fa94f21399030621a274068b0
                3600b10f1100001c000000ff00373235
                4d413351413030393830000000fd0032
                4b1e5e15000a202020202020000000fc
                0048573232330a2020202020202000a3
        load_detection: 0 (0x00000000) range:  (0,1)
  1680x1050 (0x4f)  146.2MHz -HSync +VSync
        h: width  1680 start 1784 end 1960 total 2240 skew    0 clock   65.3KHz
        v: height 1050 start 1053 end 1059 total 1089           clock   60.0Hz
  1600x1200 (0x50)  204.8MHz -HSync +VSync
        h: width  1600 start 1720 end 1888 total 2176 skew    0 clock   94.1KHz
        v: height 1200 start 1203 end 1207 total 1255           clock   75.0Hz
  1600x1200 (0x51)  161.0MHz -HSync +VSync
        h: width  1600 start 1712 end 1880 total 2160 skew    0 clock   74.5KHz
        v: height 1200 start 1203 end 1207 total 1245           clock   59.9Hz
  1680x1050 (0x52)  187.0MHz -HSync +VSync
        h: width  1680 start 1800 end 1976 total 2272 skew    0 clock   82.3KHz
        v: height 1050 start 1053 end 1059 total 1099           clock   74.9Hz
  1400x1050 (0x53)  156.0MHz -HSync +VSync
  [..more modes..]
DVI-0 disconnected (normal left inverted right x axis y axis)
        Identifier: 0x4d
        Timestamp:  68331201
        Subpixel:   horizontal rgb
        Clones:
        CRTCs:      0 1
                scaler: off
S-video disconnected (normal left inverted right x axis y axis)
        Identifier: 0x4e
        Timestamp:  68331201
        Subpixel:   no subpixels
        Clones:
        CRTCs:      0 1
                tv_standard: ntsc
        tv_vertical_position: 0 (0x00000000) range:  (-5,5)
        tv_horizontal_position: 0 (0x00000000) range:  (-5,5)
        tv_horizontal_size: 0 (0x00000000) range:  (-5,5)
        load_detection: 0 (0x00000000) range:  (0,1)
Comment 3 Alex Deucher 2008-01-24 07:52:40 UTC
(In reply to comment #2)
> I have managed to work around this for now by connecting the Radeon analogue
> output to the analogue connector on the monitor. The monitor's capabilities are
> detected and I get the proper resolution.
> 

Can you attach you log from the working setup?  At the moment DVI ports on IGP chips are not fully supported; they may work depending on how much init the bios has done.  I plan to fix this as I have time and am able to find the right information (and get access to HW).
Comment 4 Chris Halls 2008-01-29 01:41:50 UTC
Created attachment 14003 [details]
Xorg from working setup using analogue cable

Log of working configuration as requested, using git from 2007-01-29 (b7de4ff52cfbdd85ee65000613632e21b92af24e)
Comment 5 Chris Halls 2008-03-14 04:07:32 UTC
Created attachment 15115 [details]
Working log with driver 6.8.0

This has all started working since I upgraded the driver to 6.8.0, thanks!

 xrandr
Screen 0: minimum 320 x 200, current 1680 x 1050, maximum 1680 x 1200
VGA-0 connected 1680x1050+0+0 (normal left inverted right x axis y axis) 433mm x 271mm
   1680x1050      60.0*+   74.9
   1600x1200      75.0     59.9
   1400x1050      74.9     60.0
   1280x1024      75.0     59.9
   1280x960       59.9
   1152x864       75.0     74.8
   1024x768       75.1     70.1     60.0
   832x624        74.6
   800x600        72.2     75.0     60.3     56.2
   640x480        75.0     72.8     66.7     60.0
   720x400        70.1
DVI-0 connected 1680x1050+0+0 (normal left inverted right x axis y axis) 433mm x 271mm
   1680x1050      60.0*+   74.9
   1600x1200      75.0     59.9
   1400x1050      74.9     60.0
   1280x1024      75.0     59.9
   1280x960       59.9
   1152x864       75.0     74.8
   1024x768       75.1     70.1     60.0
   832x624        74.6
   800x600        72.2     75.0     60.3     56.2
   640x480        75.0     72.8     66.7     60.0
   720x400        70.1
S-video disconnected (normal left inverted right x axis y axis)

I've attached a log of the working setup for reference. Looks like the DVO bus is now initialized, where it was not before. The interesting differences in the logs are:

@@ -583,9 +583,10 @@
 (II) RADEON(0): Port5: DDCType-0x0, DACType-2, TMDSType-0, ConnectorType-5
 (II) RADEON(0): Output VGA-0 using monitor section Configured Monitor
-(II) RADEON(0): I2C bus "DDC_0x68" initialized.
+(II) RADEON(0): I2C bus "VGA-0" initialized.
 (II) RADEON(0): Output DVI-0 has no monitor section
 (WW) RADEON(0): No External TMDS Table found
 (II) RADEON(0): I2C bus "DVO" initialized.
 (II) RADEON(0): I2C device "DVO:RADEON DVO Controller" registered at address 0x70.
+(II) RADEON(0): I2C bus "DVI-0" initialized.
 (II) RADEON(0): Output S-video has no monitor section
 (II) RADEON(0): Default TV standard: NTSC
@@ -609,5 +610,5 @@
  TMDS Type -- None
  DDC Type  -- 0x0
-(II) RADEON(0): I2C device "DDC_0x68:ddc2" registered at address 0xA0.
+(II) RADEON(0): I2C device "VGA-0:ddc2" registered at address 0xA0.
 (II) RADEON(0): EDID vendor "HSD", prod id 23312
 (II) RADEON(0): Using EDID range info for horizontal sync
@@ -638,5 +639,5 @@
 (II) RADEON(0): Modeline "1152x864"x74.8  104.00  1152 1224 1344 1536  864 867 871 905 -hsync +vsync (67.7 kHz)
 (II) RADEON(0): Modeline "1600x1200"x75.0  204.75  1600 1720 1888 2176  1200 1203 1207 1255 -hsync +vsync (94.1 kHz)
-(II) RADEON(0): DDC Type: 0x68, Detected Monitor Type: 1
+(II) RADEON(0): Output: VGA-0, Detected Monitor Type: 1
 (II) RADEON(0): EDID data from the display on output: VGA-0 ----------------------
 (II) RADEON(0): Manufacturer: HSD  Model: 5b10  Serial#: 16843009
@@ -695,10 +696,63 @@
 (II) RADEON(0):        0048573232330a2020202020202000a3
 finished output detect: 0
-(WW) RADEON(0): DDC2/I2C is not properly initialized
-(II) RADEON(0): DDC Type: 0x68, Detected Monitor Type: 0
-(II) RADEON(0): Detected non-DDC Monitor Type: 0
+(II) RADEON(0): I2C device "DVI-0:ddc2" registered at address 0xA0.
+(II) RADEON(0): Output: DVI-0, Detected Monitor Type: 3
+(II) RADEON(0): Panel infos found from DDC detailed: 1680x1050
+(II) RADEON(0): EDID data from the display on output: DVI-0 ----------------------
+(II) RADEON(0): Manufacturer: HSD  Model: 5b10  Serial#: 16843009
+(II) RADEON(0): Year: 2007  Week: 25
+(II) RADEON(0): EDID Version: 1.3
+(II) RADEON(0): Analog Display Input,  Input Voltage Level: 0.700/0.300 V
+(II) RADEON(0): Sync:  Separate  SyncOnGreen
+(II) RADEON(0): Max H-Image Size [cm]: horiz.: 47  vert.: 30
+(II) RADEON(0): Gamma: 2.20
+(II) RADEON(0): DPMS capabilities: Off; RGB/Color Display
+(II) RADEON(0): Default color space is primary color space
+(II) RADEON(0): First detailed timing is preferred mode
+(II) RADEON(0): redX: 0.650 redY: 0.318   greenX: 0.303 greenY: 0.605
+(II) RADEON(0): blueX: 0.144 blueY: 0.074   whiteX: 0.310 whiteY: 0.330
+(II) RADEON(0): Supported VESA Video Modes:
+(II) RADEON(0): 720x400@70Hz
etc.
Comment 6 Alex Deucher 2008-03-14 06:59:11 UTC
looks good.  I suspect my i2c rework may have been what fixed it.

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.