01:00.0 VGA compatible controller: ATI Technologies Inc Mobility Radeon HD 3400 Series If I don't have VGA monitor connected to VGA-1, xrandr displays modes correctly: > xrandr Screen 0: minimum 320 x 200, current 1600 x 900, maximum 2560 x 2560 VGA_1 disconnected (normal left inverted right x axis y axis) PANEL connected 1600x900+0+0 (normal left inverted right x axis y axis) 423mm x 238mm 1600x900 60.0*+ 2560x2048Scaled 60.5 2560x1600Scaled 60.5 2048x1536 60.0 2048x1536Scaled 60.5 1920x1440 60.0 1856x1392 60.0 1792x1344 60.0 1920x1200Scaled 60.4 1920x1080Scaled 60.5 1600x1200 60.0 1600x1200Scaled 60.4 1680x1050Scaled 60.3 1400x1050 60.0 1400x1050Scaled 60.3 1440x960Scaled 60.4 1280x1024 60.0 1280x1024Scaled 60.5 1280x960 60.0 1280x960Scaled 60.4 1280x854Scaled 60.4 1280x720Scaled 60.4 1152x768Scaled 60.3 1024x768 60.0 1024x768Scaled 60.4 800x600 60.3 56.2 800x600Scaled 60.3 768x576Scaled 60.4 854x480Scaled 59.8 720x480Scaled 59.8 640x480 59.9 640x480Scaled 60.1 320x240Scaled 57.6 320x200Scaled 55.7 DVI-D_1 disconnected (normal left inverted right x axis y axis) it goes wrong after I just connect VGA-1: > xrandr Screen 0: minimum 320 x 200, current 1600 x 900, maximum 2560 x 2560 VGA_1 connected (normal left inverted right x axis y axis) 1280x1024 60.0 + 75.0 59.9 1152x864 75.0 74.9 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 PANEL connected 1600x900+0+0 (normal left inverted right x axis y axis) 338mm x 270mm 800x600Scaled 60.3 768x576Scaled 60.4 854x480Scaled 59.8 720x480Scaled 59.8 640x480Scaled 60.1 DVI-D_1 disconnected (normal left inverted right x axis y axis) 1600x900 (0x3e) 88.5MHz h: width 1600 start 1614 end 1626 total 1630 skew 0 clock 54.3KHz v: height 900 start 902 end 904 total 906 clock 60.0Hz Didn't do anything more. Just plugged cable to VGA-1 connector.
Created attachment 26441 [details] Parts of Xorg.0.log from calling "xrandr" You can see that with VGA-1 connected radeonhd seems to detect VGA monitor's EDID as PANEL's EDID. This "Sam" from 2004 is monitor I attached to VGA-1.
Created attachment 26442 [details] Full, fat Xorg.0.log :) logverbose 7
Created attachment 26446 [details] [review] Hack for rhd_monitor.c The problem is that xf86DoEDID_DDC2 reads EDID of VGA, not PANEL. If VGA is disconnected, xf86DoEDID_DDC2 returns NULL and we get PANEL info using AtomBIOS. If VGA is connected, xf86DoEDID_DDC2 returns VGA's EDID and we treat it as PANEL's EDID... Failure guaranteed :)
Can you attach your vbios? Some laptops do have an edid wired up to a ddc line, so you still want to query it. Might have the wrong entry for in the gpio_i2c table for LVDS or something like that.
Also, can you run conntest with and without attaching the monitor?
Alex: sure, I know it's hack not real solution. Disabling EDID reading for everyone doesn't sound good. Matthias: sure, I'll do this soon. Is this possible we pass wrong argument (I2CBusPtr pBus) to xf86DoEDID_DDC2?
Created attachment 26459 [details] My M82's rom
The LCD info in the object table doesn't actually have an i2c record associated with it, so the driver shouldn't be creating an ddc bus for the LCD.
(In reply to comment #8) > The LCD info in the object table doesn't actually have an i2c record associated > with it, so the driver shouldn't be creating an ddc bus for the LCD. Hm: (II) RADEONHD(0): Connector[0] {RHD_CONNECTOR_VGA, "VGA CRT1", RHD_DDC_0, RHD_HPD_NONE, { RHD_OUTPUT_DACA, RHD_OUTPUT_NONE } } (II) RADEONHD(0): Connector[1] {RHD_CONNECTOR_PANEL, "LVDS LCD1", RHD_DDC_0, RHD_HPD_NONE, { RHD_OUTPUT_KLDSKP_LVTMA, RHD_OUTPUT_NONE } } (II) RADEONHD(0): Connector[2] {RHD_CONNECTOR_DVI_SINGLE, "HDMI_TYPE_A DFP1", RHD_DDC_2, RHD_HPD_0, { RHD_OUTPUT_UNIPHYA, RHD_OUTPUT_NONE } } So we presumably parse something wrong here. Probably a variable isn't cleared in the loop. Have to look at code.
Created attachment 26469 [details] [review] Quick fix Hopefully this fixes this issue. New connectors were initialized with all '0', but DDC_NONE is 0xff... So if there was no DDC object for a connector, it got DDC0. It seems that only DDC has the exception that NONE is not 0. Something to think about. Please test!
Matthias: bingo. Can we commit this for now? Or would you like to refactor DCC_* values soon?
maybe this is a different issue, but I also having problems with a panel connected to vga. The screen looks washed out, maybe wrong timings. The radeon driver get's it right (but I have to specify the resolution). The patch doesn't help. Here is a diff between radeon and radeonhd: --- radeon 2009-06-06 13:28:43.000104649 +0200 +++ radeonhd 2009-06-06 13:35:10.485106842 +0200 @@ -1,9 +1,9 @@ Screen 0: minimum 320 x 200, current 1280 x 1024, maximum 1280 x 1280 -VGA-0 connected 1280x1024+0+0 (0x4d) normal (normal left inverted right x axis y axis) 307mm x 230mm - Identifier: 0x4b - Timestamp: 9972487 - Subpixel: no subpixels - Clones: DVI-0 +VGA_1 connected 1280x1024+0+0 (0x3d) normal (normal left inverted right x axis y axis) 307mm x 230mm + Identifier: 0x3b + Timestamp: 10345860 + Subpixel: unknown + Clones: DVI-D_1 CRTC: 0 CRTCs: 0 1 Panning: 0x0+0+0 @@ -13,82 +13,93 @@ 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 filter: - EDID_DATA: - 00ffffffffffff0025b2108846020000 - 0b0b01022820186be80d99a057479826 - 10484cbfef80314f454f614f818f0101 - 0101010101014e0c80c020e01d103838 - 130033e610000018561320f830581f20 - 2040130033e610000018c31e00204100 - 20301060130033e610000018000000fd - 00384b1e55ff010a2020202020200099 - load_detection: 1 (0x00000001) range: (0,1) - 1280x1024 (0x4d) 135.0MHz +HSync +VSync *current +preferred + _PanningArea: + _OutputNumber: 1 (0x00000001) + ConnectorNumber: 1 (0x00000001) + ConnectorType: VGA + SignalFormat: VGA + supported: VGA + 1280x1024 (0x3d) 139.2MHz -HSync +VSync *current +preferred + h: width 1280 start 1370 end 1507 total 1734 skew 0 clock 80.3KHz + v: height 1024 start 1027 end 1034 total 1072 clock 74.9Hz + 1280x1024 (0x3e) 135.0MHz +HSync +VSync h: width 1280 start 1296 end 1440 total 1688 skew 0 clock 80.0KHz v: height 1024 start 1025 end 1028 total 1066 clock 75.0Hz - 1152x864 (0x4e) 108.0MHz +HSync +VSync + 1152x864 (0x3f) 108.0MHz +HSync +VSync h: width 1152 start 1216 end 1344 total 1600 skew 0 clock 67.5KHz v: height 864 start 865 end 868 total 900 clock 75.0Hz - 1024x768 (0x4f) 78.8MHz -HSync -VSync + 1024x768 (0x40) 82.2MHz -HSync +VSync + h: width 1024 start 1086 end 1194 total 1364 skew 0 clock 60.3KHz + v: height 768 start 771 end 775 total 805 clock 74.9Hz + 1024x768 (0x41) 78.8MHz +HSync +VSync + h: width 1024 start 1040 end 1136 total 1312 skew 0 clock 60.1KHz + v: height 768 start 769 end 772 total 800 clock 75.1Hz + 1024x768 (0x42) 78.8MHz -HSync -VSync h: width 1024 start 1040 end 1136 total 1312 skew 0 clock 60.0KHz v: height 768 start 769 end 772 total 800 clock 75.0Hz - 1024x768 (0x50) 78.8MHz +HSync +VSync - h: width 1024 start 1040 end 1136 total 1312 skew 0 clock 60.0KHz - v: height 768 start 769 end 772 total 800 clock 75.0Hz - 1024x768 (0x51) 75.0MHz -HSync -VSync + 1024x768 (0x43) 75.0MHz -HSync -VSync h: width 1024 start 1048 end 1184 total 1328 skew 0 clock 56.5KHz v: height 768 start 771 end 777 total 806 clock 70.1Hz - 1024x768 (0x52) 65.0MHz -HSync -VSync + 1024x768 (0x44) 65.0MHz -HSync -VSync h: width 1024 start 1048 end 1184 total 1344 skew 0 clock 48.4KHz v: height 768 start 771 end 777 total 806 clock 60.0Hz - 832x624 (0x53) 57.3MHz -HSync -VSync + 832x624 (0x45) 57.3MHz -HSync -VSync h: width 832 start 864 end 928 total 1152 skew 0 clock 49.7KHz v: height 624 start 625 end 628 total 667 clock 74.6Hz - 800x600 (0x54) 50.0MHz +HSync +VSync + 800x600 (0x46) 50.0MHz +HSync +VSync h: width 800 start 856 end 976 total 1040 skew 0 clock 48.1KHz v: height 600 start 637 end 643 total 666 clock 72.2Hz - 800x600 (0x55) 49.5MHz -HSync -VSync - h: width 800 start 832 end 896 total 1048 skew 0 clock 47.2KHz - v: height 600 start 601 end 604 total 631 clock 74.9Hz - 800x600 (0x56) 49.5MHz +HSync +VSync + 800x600 (0x47) 49.5MHz +HSync +VSync h: width 800 start 816 end 896 total 1056 skew 0 clock 46.9KHz v: height 600 start 601 end 604 total 625 clock 75.0Hz - 800x600 (0x57) 40.0MHz +HSync +VSync + 800x600 (0x48) 49.5MHz -HSync -VSync + h: width 800 start 832 end 896 total 1048 skew 0 clock 47.2KHz + v: height 600 start 601 end 604 total 631 clock 74.9Hz + 800x600 (0x49) 49.2MHz -HSync +VSync + h: width 800 start 841 end 923 total 1046 skew 0 clock 47.1KHz + v: height 600 start 603 end 607 total 629 clock 74.9Hz + 800x600 (0x4a) 40.0MHz +HSync +VSync h: width 800 start 840 end 968 total 1056 skew 0 clock 37.9KHz v: height 600 start 601 end 605 total 628 clock 60.3Hz - 800x600 (0x58) 36.0MHz +HSync +VSync + 800x600 (0x4b) 36.0MHz +HSync +VSync h: width 800 start 824 end 896 total 1024 skew 0 clock 35.2KHz v: height 600 start 601 end 603 total 625 clock 56.2Hz - 640x480 (0x59) 31.5MHz -HSync -VSync - h: width 640 start 696 end 752 total 832 skew 0 clock 37.9KHz - v: height 480 start 481 end 484 total 509 clock 74.4Hz - 640x480 (0x5a) 31.5MHz -HSync -VSync + 640x480 (0x4c) 31.5MHz -HSync -VSync h: width 640 start 656 end 720 total 840 skew 0 clock 37.5KHz v: height 480 start 481 end 484 total 500 clock 75.0Hz - 640x480 (0x5b) 31.5MHz -HSync -VSync + 640x480 (0x4d) 31.5MHz -HSync -VSync h: width 640 start 664 end 704 total 832 skew 0 clock 37.9KHz - v: height 480 start 489 end 492 total 520 clock 72.8Hz - 640x480 (0x5a) 31.5MHz -HSync -VSync - h: width 640 start 656 end 720 total 840 skew 0 clock 37.5KHz - v: height 480 start 481 end 484 total 500 clock 75.0Hz - 640x480 (0x5c) 30.2MHz -HSync -VSync + v: height 480 start 489 end 491 total 520 clock 72.8Hz + 640x480 (0x4e) 31.5MHz -HSync -VSync + h: width 640 start 696 end 752 total 832 skew 0 clock 37.9KHz + v: height 480 start 481 end 484 total 509 clock 74.4Hz + 640x480 (0x4f) 30.8MHz -HSync +VSync + h: width 640 start 666 end 730 total 820 skew 0 clock 37.5KHz + v: height 480 start 483 end 487 total 504 clock 74.4Hz + 640x480 (0x50) 30.2MHz -HSync -VSync h: width 640 start 704 end 768 total 864 skew 0 clock 35.0KHz v: height 480 start 483 end 486 total 525 clock 66.7Hz - 640x480 (0x5d) 25.2MHz -HSync -VSync + 640x480 (0x51) 25.2MHz -HSync -VSync h: width 640 start 656 end 752 total 800 skew 0 clock 31.5KHz - v: height 480 start 490 end 492 total 525 clock 59.9Hz - 720x400 (0x5e) 28.3MHz -HSync +VSync + v: height 480 start 490 end 492 total 525 clock 60.0Hz + 720x400 (0x52) 28.3MHz -HSync +VSync h: width 720 start 738 end 846 total 900 skew 0 clock 31.5KHz v: height 400 start 412 end 414 total 449 clock 70.1Hz -DVI-0 disconnected (normal left inverted right x axis y axis) - Identifier: 0x4c - Timestamp: 9972487 - Subpixel: horizontal rgb - Clones: VGA-0 +DVI-D_1 disconnected (normal left inverted right x axis y axis) + Identifier: 0x3c + Timestamp: 10345860 + Subpixel: unknown + Clones: VGA_1 CRTCs: 0 1 Transform: 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 filter: - scaler: off - coherent_mode: 1 (0x00000001) range: (0,1) + _HDMI: 0 (0x00000000) range: (0,1) + _Coherent: 0 (0x00000000) range: (0,1) + _PanningArea: + _OutputNumber: 2 (0x00000002) + ConnectorNumber: 2 (0x00000002) + ConnectorType: DVI-D + SignalFormat: TMDS + supported: TMDS
Fixed in 5dd9d814c8a9a35fbf5556d88297eb5e934731d7. Marc: if you have other bug, please fill separated report for it, attaching all logs (xrandr, Xorg.0.log).
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.