Announcement

Collapse
No announcement yet.

HD3870: Wrong resolutions for flat screen TV connected via HDMI

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • HD3870: Wrong resolutions for flat screen TV connected via HDMI

    Hi all

    I'm trying to use a flat screen TV with the open source radeon driver and my Radeon HD 3870 with a CRT monitor.
    According to the manual it supports resolutions like 720p and 1080i, but these don't show up in the output of xrandr:

    Code:
    Screen 0: minimum 320 x 200, current 2624 x 1200, maximum 8192 x 8192
    DVI-0 connected 1024x768+1600+0 (normal left inverted right x axis y axis) 640mm x 360mm
       1024x768       60.0* 
       800x600        60.3  
       640x480        60.0  
    DIN disconnected (normal left inverted right x axis y axis)
    DVI-1 connected 1600x1200+0+0 (normal left inverted right x axis y axis) 400mm x 300mm
       1920x1440      75.0  
       1856x1392      75.0  
       1792x1344      75.0  
       1600x1200      85.0* 
       1280x1024      85.0     75.0  
       1152x864       75.0  
       1024x768       85.0     75.1     70.1     60.0  
       832x624        74.6  
       800x600        72.2     75.0     60.3     56.2  
       640x480        72.8     75.0     66.7     60.0  
       720x400        87.8     70.1
    DVI-0 is the flat screen TV and DVI-1 is connected to an old CRT monitor.
    From Xorg.0.log, it looks like it gets the correct modes from the EDID though (here's the complete Xorg.0.log):

    Code:
    [     4.267] (II) RADEON(0): EDID for output DVI-0
    [     4.267] (II) RADEON(0): Manufacturer: PHL  Model: 1  Serial#: 16843009
    [     4.267] (II) RADEON(0): Year: 2006  Week: 1
    [     4.267] (II) RADEON(0): EDID Version: 1.3
    [     4.267] (II) RADEON(0): Digital Display Input
    [     4.267] (II) RADEON(0): Max Image Size [cm]: horiz.: 64  vert.: 36
    [     4.267] (II) RADEON(0): Gamma: 2.20
    [     4.267] (II) RADEON(0): No DPMS capabilities specified
    [     4.267] (II) RADEON(0): Supported color encodings: RGB 4:4:4 YCrCb 4:4:4 
    [     4.267] (II) RADEON(0): First detailed timing is preferred mode
    [     4.267] (II) RADEON(0): redX: 0.640 redY: 0.330   greenX: 0.290 greenY: 0.600
    [     4.267] (II) RADEON(0): blueX: 0.150 blueY: 0.060   whiteX: 0.289 whiteY: 0.299
    [     4.267] (II) RADEON(0): Supported established timings:
    [     4.267] (II) RADEON(0): 640x480@60Hz
    [     4.267] (II) RADEON(0): 800x600@60Hz
    [     4.267] (II) RADEON(0): 1024x768@60Hz
    [     4.267] (II) RADEON(0): Manufacturer's mask: 0
    [     4.267] (II) RADEON(0): Supported detailed timing:
    [     4.267] (II) RADEON(0): clock: 74.2 MHz   Image Size:  640 x 360 mm
    [     4.267] (II) RADEON(0): h_active: 1920  h_sync: 2448  h_sync_end 2492 h_blank_end 2640 h_border: 0
    [     4.267] (II) RADEON(0): v_active: 540  v_sync: 542  v_sync_end 547 v_blanking: 562 v_border: 0
    [     4.267] (II) RADEON(0): Supported detailed timing:
    [     4.267] (II) RADEON(0): clock: 65.0 MHz   Image Size:  400 x 300 mm
    [     4.267] (II) RADEON(0): h_active: 1024  h_sync: 1048  h_sync_end 1184 h_blank_end 1344 h_border: 0
    [     4.267] (II) RADEON(0): v_active: 768  v_sync: 771  v_sync_end 777 v_blanking: 806 v_border: 0
    [     4.267] (II) RADEON(0): Monitor name: Philips FTV
    [     4.267] (II) RADEON(0): Ranges: V min: 48 V max: 62 Hz, H min: 15 H max: 50 kHz, PixClock max 95 MHz
    [     4.267] (II) RADEON(0): Supported detailed timing:
    [     4.267] (II) RADEON(0): clock: 74.2 MHz   Image Size:  640 x 360 mm
    [     4.267] (II) RADEON(0): h_active: 1920  h_sync: 2008  h_sync_end 2052 h_blank_end 2200 h_border: 0
    [     4.267] (II) RADEON(0): v_active: 540  v_sync: 542  v_sync_end 547 v_blanking: 562 v_border: 0
    [     4.267] (II) RADEON(0): Supported detailed timing:
    [     4.267] (II) RADEON(0): clock: 74.2 MHz   Image Size:  640 x 360 mm
    [     4.267] (II) RADEON(0): h_active: 1280  h_sync: 1720  h_sync_end 1760 h_blank_end 1980 h_border: 0
    [     4.267] (II) RADEON(0): v_active: 720  v_sync: 725  v_sync_end 730 v_blanking: 750 v_border: 0
    [     4.267] (II) RADEON(0): Supported detailed timing:
    [     4.267] (II) RADEON(0): clock: 74.2 MHz   Image Size:  640 x 360 mm
    [     4.267] (II) RADEON(0): h_active: 1280  h_sync: 1390  h_sync_end 1430 h_blank_end 1650 h_border: 0
    [     4.267] (II) RADEON(0): v_active: 720  v_sync: 725  v_sync_end 730 v_blanking: 750 v_border: 0
    [     4.267] (II) RADEON(0): Supported detailed timing:
    [     4.267] (II) RADEON(0): clock: 27.0 MHz   Image Size:  640 x 360 mm
    [     4.267] (II) RADEON(0): h_active: 720  h_sync: 732  h_sync_end 796 h_blank_end 864 h_border: 0
    [     4.267] (II) RADEON(0): v_active: 576  v_sync: 581  v_sync_end 586 v_blanking: 625 v_border: 0
    [     4.267] (II) RADEON(0): Supported detailed timing:
    [     4.267] (II) RADEON(0): clock: 27.0 MHz   Image Size:  640 x 360 mm
    [     4.267] (II) RADEON(0): h_active: 720  h_sync: 736  h_sync_end 798 h_blank_end 858 h_border: 0
    [     4.267] (II) RADEON(0): v_active: 480  v_sync: 483  v_sync_end 489 v_blanking: 525 v_border: 0
    [     4.267] (II) RADEON(0): Number of EDID sections to follow: 1
    [     4.267] (II) RADEON(0): EDID (in hex):
    [     4.267] (II) RADEON(0): 	00ffffffffffff00410c010001010101
    [     4.267] (II) RADEON(0): 	01100103804024780ae692a3544a9926
    [     4.267] (II) RADEON(0): 	0f4a4c21080001010101010101010101
    [     4.267] (II) RADEON(0): 	010101010101011d80d0721c1620102c
    [     4.267] (II) RADEON(0): 	258080682100009e6419004041002630
    [     4.268] (II) RADEON(0): 	18883600902c11000018000000fc0050
    [     4.268] (II) RADEON(0): 	68696c697073204654560a20000000fd
    [     4.268] (II) RADEON(0): 	00303e0f3209000a202020202020018b
    [     4.268] (II) RADEON(0): 	020324f04b0103040506071213141516
    [     4.268] (II) RADEON(0): 	29091f07150750190786830100006503
    [     4.268] (II) RADEON(0): 	0c001000011d8018711c1620582c2500
    [     4.268] (II) RADEON(0): 	80682100009e011d00bc52d01e20b828
    [     4.268] (II) RADEON(0): 	554080682100001e011d007251d01e20
    [     4.268] (II) RADEON(0): 	6e28550080682100001e8c0ad0902040
    [     4.268] (II) RADEON(0): 	31200c4055008068210000188c0ad08a
    [     4.268] (II) RADEON(0): 	20e02d10103e360080682100001800d1
    [     4.268] (II) RADEON(0): EDID vendor "PHL", prod id 1
    [     4.268] (II) RADEON(0): Using EDID range info for horizontal sync
    [     4.268] (II) RADEON(0): Using EDID range info for vertical refresh
    [     4.268] (II) RADEON(0): Printing DDC gathered Modelines:
    [     4.268] (II) RADEON(0): Modeline "1920x1080i"x0.0   74.25  1920 2448 2492 2640  1080 1084 1094 1125 interlace +hsync +vsync (28.1 kHz)
    [     4.268] (II) RADEON(0): Modeline "1024x768"x0.0   65.00  1024 1048 1184 1344  768 771 777 806 -hsync -vsync (48.4 kHz)
    [     4.268] (II) RADEON(0): Modeline "1920x1080i"x0.0   74.25  1920 2008 2052 2200  1080 1084 1094 1125 interlace +hsync +vsync (33.8 kHz)
    [     4.268] (II) RADEON(0): Modeline "1280x720"x0.0   74.25  1280 1720 1760 1980  720 725 730 750 +hsync +vsync (37.5 kHz)
    [     4.268] (II) RADEON(0): Modeline "1280x720"x0.0   74.25  1280 1390 1430 1650  720 725 730 750 +hsync +vsync (45.0 kHz)
    [     4.268] (II) RADEON(0): Modeline "720x576"x0.0   27.00  720 732 796 864  576 581 586 625 -hsync -vsync (31.2 kHz)
    [     4.268] (II) RADEON(0): Modeline "720x480"x0.0   27.00  720 736 798 858  480 483 489 525 -hsync -vsync (31.5 kHz)
    [     4.268] (II) RADEON(0): Modeline "800x600"x0.0   40.00  800 840 968 1056  600 601 605 628 +hsync +vsync (37.9 kHz)
    [     4.268] (II) RADEON(0): Modeline "640x480"x0.0   25.18  640 656 752 800  480 490 492 525 -hsync -vsync (31.5 kHz)
    [     4.268] (II) RADEON(0): Modeline "720x480"x0.0   27.00  720 736 798 858  480 489 495 525 -hsync -vsync (31.5 kHz)
    [     4.268] (II) RADEON(0): Modeline "1440x480i"x0.0   27.00  1440 1478 1602 1716  480 488 494 525 interlace -hsync -vsync (15.7 kHz)
    [     4.268] (II) RADEON(0): Modeline "1440x240"x0.0   27.00  1440 1478 1602 1716  240 244 247 262 -hsync -vsync (15.7 kHz)
    [     4.268] (II) RADEON(0): Modeline "1440x576i"x0.0   27.00  1440 1464 1590 1728  576 580 586 625 interlace -hsync -vsync (15.6 kHz)
    [     4.268] (II) RADEON(0): Modeline "1440x288"x0.0   27.00  1440 1464 1590 1728  288 290 293 312 -hsync -vsync (15.6 kHz)
    [     4.268] (II) RADEON(0): Printing probed modes for output DVI-0
    [     4.268] (II) RADEON(0): Modeline "1024x768"x60.0   65.00  1024 1048 1184 1344  768 771 777 806 -hsync -vsync (48.4 kHz)
    [     4.268] (II) RADEON(0): Modeline "800x600"x60.3   40.00  800 840 968 1056  600 601 605 628 +hsync +vsync (37.9 kHz)
    [     4.268] (II) RADEON(0): Modeline "640x480"x60.0   25.20  640 656 752 800  480 490 492 525 -hsync -vsync (31.5 kHz)
    So it apparently gets the right modes, but it finishes off with saying:

    Code:
    [     4.268] (II) RADEON(0): Printing probed modes for output DVI-0
    [     4.268] (II) RADEON(0): Modeline "1024x768"x60.0   65.00  1024 1048 1184 1344  768 771 777 806 -hsync -vsync (48.4 kHz)
    [     4.268] (II) RADEON(0): Modeline "800x600"x60.3   40.00  800 840 968 1056  600 601 605 628 +hsync +vsync (37.9 kHz)
    [     4.268] (II) RADEON(0): Modeline "640x480"x60.0   25.20  640 656 752 800  480 490 492 525 -hsync -vsync (31.5 kHz)
    Like it only has gotten 1024x768, 800x600 and 640x480.

    When I manually add the mode that is specified in Xorg.0.log, it looks like it works fine, so it seems to be the auto-detection that is somehow broken:

    Code:
    rune@runescomp:~$ xrandr --output DVI-0 --newmode "1920x1080i"   74.25  1920 2448 2492 2640  1080 1084 1094 1125 interlace +hsync +vsync
    rune@runescomp:~$ xrandr --addmode DVI-0 1920x1080i
    rune@runescomp:~$ xrandr --output DVI-0 --mode 1920x1080i
    rune@runescomp:~$ xrandr
    Screen 0: minimum 320 x 200, current 3520 x 1200, maximum 8192 x 8192
    DVI-0 connected 1920x1080+1600+0 (normal left inverted right x axis y axis) 640mm x 360mm
       1024x768       60.0  
       800x600        60.3  
       640x480        60.0  
       1920x1080i     25.0*
    I'd really like to get this working by default, so I don't have to edit xorg.conf.

    Cheers!

  • #2
    I've created Bug 35934.

    The strange thing is that it seems DRM doesn't get the correct EDID data. When I run xrandr the correct modelines are printed to Xorg.0.log:

    Code:
    [  2132.616] (II) RADEON(0): EDID vendor "PHL", prod id 1
    [  2132.617] (II) RADEON(0): Using hsync ranges from config file
    [  2132.617] (II) RADEON(0): Using vrefresh ranges from config file
    [  2132.617] (II) RADEON(0): Printing DDC gathered Modelines:
    [  2132.617] (II) RADEON(0): Modeline "1920x1080i"x0.0   74.25  1920 2448 2492 2640  1080 1084 1094 1125 interlace +hsync +vsync (28.1 kHz)
    [  2132.617] (II) RADEON(0): Modeline "1024x768"x0.0   65.00  1024 1048 1184 1344  768 771 777 806 -hsync -vsync (48.4 kHz)
    [  2132.617] (II) RADEON(0): Modeline "1920x1080i"x0.0   74.25  1920 2008 2052 2200  1080 1084 1094 1125 interlace +hsync +vsync (33.8 kHz)
    [  2132.617] (II) RADEON(0): Modeline "1280x720"x0.0   74.25  1280 1720 1760 1980  720 725 730 750 +hsync +vsync (37.5 kHz)
    [  2132.617] (II) RADEON(0): Modeline "1280x720"x0.0   74.25  1280 1390 1430 1650  720 725 730 750 +hsync +vsync (45.0 kHz)
    [  2132.617] (II) RADEON(0): Modeline "720x576"x0.0   27.00  720 732 796 864  576 581 586 625 -hsync -vsync (31.2 kHz)
    [  2132.617] (II) RADEON(0): Modeline "720x480"x0.0   27.00  720 736 798 858  480 483 489 525 -hsync -vsync (31.5 kHz)
    [  2132.617] (II) RADEON(0): Modeline "800x600"x0.0   40.00  800 840 968 1056  600 601 605 628 +hsync +vsync (37.9 kHz)
    [  2132.617] (II) RADEON(0): Modeline "640x480"x0.0   25.18  640 656 752 800  480 490 492 525 -hsync -vsync (31.5 kHz)
    [  2132.617] (II) RADEON(0): Modeline "720x480"x0.0   27.00  720 736 798 858  480 489 495 525 -hsync -vsync (31.5 kHz)
    [  2132.617] (II) RADEON(0): Modeline "1440x480i"x0.0   27.00  1440 1478 1602 1716  480 488 494 525 interlace -hsync -vsync (15.7 kHz)
    [  2132.617] (II) RADEON(0): Modeline "1440x240"x0.0   27.00  1440 1478 1602 1716  240 244 247 262 -hsync -vsync (15.7 kHz)
    [  2132.617] (II) RADEON(0): Modeline "1440x576i"x0.0   27.00  1440 1464 1590 1728  576 580 586 625 interlace -hsync -vsync (15.6 kHz)
    [  2132.617] (II) RADEON(0): Modeline "1440x288"x0.0   27.00  1440 1464 1590 1728  288 290 293 312 -hsync -vsync (15.6 kHz)
    but in dmesg, drm only says the following:

    Code:
    [ 2132.510357] [drm:drm_helper_probe_single_connector_modes], [CONNECTOR:15:DVI-I-2]
    [ 2132.616866] [drm:radeon_atombios_connected_scratch_regs], CRT1 disconnected
    [ 2132.616871] [drm:radeon_atombios_connected_scratch_regs], DFP2 connected
    [ 2132.616880] [drm:drm_mode_debug_printmodeline], Modeline 53:"1920x1080i" 0 74250 1920 2448 2492 2640 1080 1084 1094 1125 0x48 0x15
    [ 2132.616883] [drm:drm_mode_prune_invalid], Not using 1920x1080i mode 7
    [ 2132.616886] [drm:drm_helper_probe_single_connector_modes], [CONNECTOR:15:DVI-I-2] probed modes :
    [ 2132.616888] [drm:drm_mode_debug_printmodeline], Modeline 45:"1024x768" 60 65000 1024 1048 1184 1344 768 771 777 806 0x40 0xa
    [ 2132.616892] [drm:drm_mode_debug_printmodeline], Modeline 43:"800x600" 60 40000 800 840 968 1056 600 601 605 628 0x40 0x5
    [ 2132.616895] [drm:drm_mode_debug_printmodeline], Modeline 44:"640x480" 60 25200 640 656 752 800 480 490 492 525 0x40 0xa
    [ 2132.616902] [drm:drm_mode_getconnector], [CONNECTOR:15:?]
    So it seems X is getting the modes fine, but drm isn't...

    Comment

    Working...
    X