[xf86-video-intel] Need help solving issue with intel driver & DDC monitor detection

Jerone Young jerone at gmail.com
Sun Jan 13 22:06:23 PST 2008


I have a Samung 243T monitor. It is a 24" LCD screen with a native
resolution of 1920x1200. The intel driver has an interesting issue
reading the EDID from this monitor in certain cases.  Now I have some
findings below that will explain more. I machine that I am using is a
Lenovo Thinkpad with X3100 graphics card with a docking station (which
has the DVI port). I am using the latest git build of the intel
driver.

The Issue
=======
The issue here is that the intel driver the not properly detecting my
Samusng 243T in certain cases when it is attached to my Thinkpad T61.
It will only let the monior go up to 1280x1024 and not 1920x1200.
xrandr shows this. But it does actually detect it correctly in certain
cases.

Here is a test matrix that shows when it detects it correctly

Port                 Connected on X startup                    Hot
plugged (X is already started)
===                ==================                   ========================
VGA                         WORKS
          NOT WORK
DVI                           NOT WORK
          NOT WORK


I've been doing some hacking of the intel code and this issue ONLY
effects mobile parts that have to initialize a LVDS port. In
i830_driver.c there is function I830SetupOutputs() .. I have found
that i830_lvds_init()  is triggering this issue.

The reason I say this is that if I move i830_crt_init() below
i830_lvds_init(). Then VGA no longer detects correctly on startup. So
I then move i830_sdvo_init() above i830_lvds_init(), then DVI works on
startup. If I comment on lvds_init() then the functions work fine (
but my laptop screen doesn't get started of course).

So I then went through i830_lvds_init ()and commented out code. But
the only thing I can somewhat pin point things to is init of the I2C
setup .. it's at line 910 of i830_lvds.c. When I commented out fixed
panel mode attempt and reading from the bios and that had no effect.
But this is definitely triggering what is breaking the intel driver
for my Samsung 243T.

Here is what is really really interesting is that newer monitors that
I have tested do not appear to have this issue (I explain the two I
try below). Both report that they support EDID 1.3, while my Samsung
monitor does not in the X log. I'm guessing this has something to do
with the DDC version supported by Samsung 243T.


More Observations
==============
** I have a Thinkpad T41p that uses the "ati' driver and has no issue
detecting the Samsung 243T at starup or hotplug via DVI & VGA.
** I have a desktop that uses the "nv" & "nvidia" driver that has no
issue detecting proper setting for the monitor.
** Using my Thinkpad T61 under Windows Vista it detects & works with
my Samsung 243T without issue.
** Connecting newer monitors to via DVI using my Thinkpad appear to
work fine. The are detected properly during startup & when hot
plugged. Both report EDID Version 1.3 support. These moitors include:
IBM Thinkcenter  LC monitor (1280x1024) , Samsung LCD (1680x1050).
Sorry lost the model numbers.

When it works correctly xrandr reports (using VGA connected on startup):
===========================================================
jerone at laptop:~$ xrandr  --prop
Screen 0: minimum 320 x 200, current 1920 x 1200, maximum 1920 x 1920
VGA connected 1920x1200+0+0 (normal left inverted right x axis y axis)
518mm x 324mm
	EDID_DATA:
		00ffffffffffff004c2dd9003432424e
		110f01036c3420a02aee95a3544c9926
		0f5054bfef80a9408180714f01010101
		010101010101283c80a070b023403020
		360006442100001a000000fd00374b1e
		5011000a202020202020000000fc0053
		796e634d61737465720a2020000000ff
		0048344b593430303634390a2020002d
   1920x1200      60.0*+
   1600x1200      59.9
   1280x1024      75.0     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
LVDS connected 1440x900+0+0 (normal left inverted right x axis y axis)
303mm x 190mm
	EDID_DATA:
		00ffffffffffff0030ae334000000000
		00110103801e1378eaae109658538c28
		24505421080001010101010101010101
		0101010101013226a04051841a303020
		36002fbe10000019d51fa04051841a30
		302036002fbe100000190000000f0090
		0a32900a28140100320cf800000000fe
		004c503134315750312d544c42370021
	BACKLIGHT_CONTROL: kernel
		supported: native       legacy       combination  kernel
	BACKLIGHT: 80 (0x00000050) range:  (0,100)
   1440x900       60.0*+   50.0
   1280x800       60.0
   1280x768       60.0
   1024x768       60.0
   800x600        60.3
   640x480        60.0     59.9
TMDS-1 disconnected (normal left inverted right x axis y axis)



When is NOT working correctly xrandr reports (using VGA hotplugged):
=========================================================
jerone at laptop:~$ xrandr --prop
Screen 0: minimum 320 x 200, current 1440 x 900, maximum 1440 x 1440
VGA connected (normal left inverted right x axis y axis)
	EDID_DATA:
		00ffffffffffff004c2dd9003432424e
		110f01036c3420a02aee95a3544c9926
		0f5054bfef80a9408180714f01010101
		010101010101283c80a070b023403020
		360006442100001a000000fd00374b1e
		5011000a202020202020000000fc0053
		796e634d61737465720a2020000000ff
		0048344b593430303634390a2020002d
   1280x1024      75.0     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
LVDS connected 1440x900+0+0 (normal left inverted right x axis y axis)
303mm x 190mm
	EDID_DATA:
		00ffffffffffff0030ae334000000000
		00110103801e1378eaae109658538c28
		24505421080001010101010101010101
		0101010101013226a04051841a303020
		36002fbe10000019d51fa04051841a30
		302036002fbe100000190000000f0090
		0a32900a28140100320cf800000000fe
		004c503134315750312d544c42370021
	BACKLIGHT_CONTROL: kernel
		supported: native       legacy       combination  kernel
	BACKLIGHT: 80 (0x00000050) range:  (0,100)
   1440x900       60.0*+   50.0
   1280x800       60.0
   1280x768       60.0
   1024x768       60.0
   800x600        60.3
   640x480        60.0     59.9
TMDS-1 disconnected (normal left inverted right x axis y axis)



More information about the xorg mailing list