Bug 13625

Summary: [G33 HDMI] X fail to start with "No valid modes"
Product: xorg Reporter: Dick Marinus <dm>
Component: Driver/intelAssignee: Hong Liu <hong.liu>
Status: RESOLVED INVALID QA Contact: Xorg Project Team <xorg-team>
Severity: enhancement    
Priority: medium CC: kdekorte, michael.fu
Version: gitKeywords: NEEDINFO
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 15000    
Attachments:
Description Flags
Xorg.0.log
none
xorg.conf
none
A2QG-SG33G5MG6_Deluxe.png
none
sdvo_dump.patch
none
Xorg.0.log none

Description Dick Marinus 2007-12-12 09:54:47 UTC
I'm using X.Org X Server 1.4.0 with a cloned git from today.

lspci:
# lspci -s 00:02 -n
00:02.0 Class 0300: 8086:29c2 (rev 02)
00:02.1 Class 0380: 8086:29c3 (rev 02)

The hardware is "Shuttle Barebone SG33G5M iG33"

X fails to start with the following error:

X.Org X Server 1.4.0
Release Date: 5 September 2007
X Protocol Version 11, Revision 0
Build Operating System: rPath Linux 
Current Operating System: Linux routi.mrns.nl 2.6.22.13-0.1.smp.pae.gcc3.4.x86.i686 #1 SMP Mon Nov 19 18:19:50 EST 2007 i686
Build Date: 07 December 2007  05:59:05PM
 
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Module Loader present
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Wed Dec 12 18:47:11 2007
(==) Using config file: "/etc/X11/xorg.conf"
(EE) Failed to load module "mouse" (module does not exist, 0)
(WW) intel: No matching Device section for instance (BusID PCI:0:2:1) found
(II) Module "ddc" already built-in
(II) Module "i2c" already built-in
chosen: dotclock 31500 vco 2520000 ((m 105, m1 17, m2 8), n 2, (p 80, p1 8, p2 10))
(EE) intel(0): No valid modes.
(EE) Screen(s) found, but none have a usable configuration.

Fatal server error:
no screens found

As I wrote in the summary: I'd like to use the HDMI output.

Gordon Jin asked my in bug 13598 to open a new bug report:

"Please file a new bug for the HDMI issue, though I'm not sure if it's implemented yet. Keith Packard is working on that."
Comment 1 Dick Marinus 2007-12-12 09:56:27 UTC
Created attachment 13065 [details]
Xorg.0.log
Comment 2 Dick Marinus 2007-12-12 09:56:57 UTC
Created attachment 13066 [details]
xorg.conf
Comment 3 Gordon Jin 2007-12-13 04:15:18 UTC
Is this HDMI integrated on board or via an ADD2 card?
Comment 4 Dick Marinus 2007-12-14 00:32:22 UTC
Created attachment 13103 [details]
A2QG-SG33G5MG6_Deluxe.png

The HDMI is integrated on board.

I've attached an image from the manual.
Comment 5 Dick Marinus 2007-12-14 13:37:53 UTC
But it might be an onboard ADD2 card, I'm not sure
Comment 6 Dick Marinus 2007-12-15 12:19:21 UTC
I've connected the HDMI display to my laptop by using a DVI to HDMI cable and 
$ xrandr --prop gives the following output for TMDS-1:

TMDS-1 connected 1920x1200+0+0 (normal left inverted right) 519mm x 324mm
   1920x1200      60.0*+
   1600x1200      59.9  
   1680x1050      60.0  
   1280x1024      75.0     59.9  
   1152x864       74.8  
   1024x768       75.1     60.0  
   800x600        75.0     60.3  
   640x480        75.0     60.0  
   720x400        70.1  

So I suppose DDC/EDID works on the display (Philips 37PFL9632D Lcd TV)

I'd really like to use the HDMI output from my iG33 board because the display doesn't have a VGA input.
Comment 7 Dick Marinus 2007-12-17 12:25:11 UTC
I've enabled I2C_DEBUG in i830_i2c.c:

(II) intel(0): I2C bus "SDVOCTRL_E for SDVOB" initialized.
(II) intel(0): I2C device "SDVOCTRL_E for SDVOB:SDVO Controller B" registered at address 0x70.
Getting SDVOCTRL_E for SDVOB:                   v ^
SDVOCTRL_E for SDVOB Debug:        C D      C D
Setting SDVOCTRL_E for SDVOB 0x00005020 to: ^ ^
Getting SDVOCTRL_E for SDVOB:                   v ^
Getting SDVOCTRL_E for SDVOB:                   v ^
Getting SDVOCTRL_E for SDVOB:                   v ^
...
Getting SDVOCTRL_E for SDVOB:                   v ^
Getting SDVOCTRL_E for SDVOB:                   v ^
Getting SDVOCTRL_E for SDVOB:                   v ^
(II) intel(0): No SDVO device found on SDVOB
(II) intel(0): I2C device "SDVOCTRL_E for SDVOB:SDVO Controller B" removed.
(II) intel(0): I2C bus "SDVOCTRL_E for SDVOB" removed.
(II) intel(0): I2C bus "SDVOCTRL_E for SDVOC" initialized.
(II) intel(0): I2C device "SDVOCTRL_E for SDVOC:SDVO Controller C" registered at address 0x72.
Getting SDVOCTRL_E for SDVOC:                   v ^
Setting SDVOCTRL_E for SDVOC 0x00005020 to: ^ ^
Getting SDVOCTRL_E for SDVOC:                   v ^
Getting SDVOCTRL_E for SDVOC:                   v ^
Getting SDVOCTRL_E for SDVOC:                   v ^
...
Getting SDVOCTRL_E for SDVOC:                   v ^
Getting SDVOCTRL_E for SDVOC:                   v ^
Getting SDVOCTRL_E for SDVOC:                   v ^
(II) intel(0): No SDVO device found on SDVOC
(II) intel(0): I2C device "SDVOCTRL_E for SDVOC:SDVO Controller C" removed.
(II) intel(0): I2C bus "SDVOCTRL_E for SDVOC" removed.
Comment 8 Michael Fu 2007-12-18 17:00:27 UTC
(In reply to comment #6)
> I've connected the HDMI display to my laptop by using a DVI to HDMI cable and 
> $ xrandr --prop gives the following output for TMDS-1:
> 

laptop? It isn't the Shuttle PC, right? would you please provide the its HW configuration?
Comment 9 Dick Marinus 2007-12-18 23:58:52 UTC
Yes, I've hooked my laptop to the Philips TV to test if the HDMI input (on the television) is working properly.

The DVI output on my laptop (with a 945GM chipset) works, the HDMI output on the shuttle (with a G33 chipset) doesn't work.
Comment 10 Dick Marinus 2007-12-24 09:42:40 UTC
X -configure gives the following output:

(II) intel(0): initializing int10
(WW) intel(0): Bad V_BIOS checksum
(II) intel(0): Primary V_BIOS segment is: 0xc000
(II) intel(0): VESA BIOS detected
(II) intel(0): VESA VBE Version 3.0
(II) intel(0): VESA VBE Total Mem: 8128 kB
(II) intel(0): VESA VBE OEM: Intel(r)Q33/Q35/G33 Graphics Chip Accelerated VGA BIOS
(II) intel(0): VESA VBE OEM Software Rev: 1.0
(II) intel(0): VESA VBE OEM Vendor: Intel Corporation
(II) intel(0): VESA VBE OEM Product: Intel(r)Q33/Q35/G33 Graphics Controller
(II) intel(0): VESA VBE OEM Product Rev: Hardware Version 0.0
(II) Loading sub module "ddc"
(II) LoadModule: "ddc"(II) Module "ddc" already built-in
(II) intel(0): VESA VBE DDC supported
(II) intel(0): VESA VBE DDC Level none
(II) intel(0): VESA VBE DDC transfer in appr. 0 sec.
(II) intel(0): VESA VBE DDC read successfully

And:

Section "Monitor"
        #DisplaySize      640   360     # mm
        Identifier   "Monitor0"
        VendorName   "PHL"
        ModelName    "Philips FTV"
 ### Comment all HorizSync and VertRefresh values to use DDC:
        HorizSync    15.0 - 70.0
        VertRefresh  48.0 - 62.0
EndSection
Comment 11 Dick Marinus 2007-12-24 15:13:47 UTC
In search of new debug information I've applied the following "patch":

sed -i -e "1396i      i830_sdvo_dump(pScrn);" src/i830_driver.c

Believe it or not, but now the HDMI output works...
Comment 12 Kevin DeKorte 2008-01-18 09:28:30 UTC
Dick, can you show a diff -u of this code, I think the line that you changed has moved
Comment 13 Dick Marinus 2008-01-20 11:59:06 UTC
Created attachment 13818 [details] [review]
sdvo_dump.patch

Hi Kevin DeKorte,

Please let me know if the patch works for you, it isn't intended as a fix but it works for me.

You can download the tarball I used from:
http://www.rpath.com/rbuilder/repos/meeuw/files?t=xf86-video-intel%3Asource;v=/playground.rpath.org%40rpl%3Adevel//meeuw.rpath.org%40rpl%3Adevel/1198186539.546%3A2.2.0.20071218-0.1;f=
Comment 14 Kevin DeKorte 2008-01-21 13:52:43 UTC
I was hoping this patch would fix the HDMI output on my G35, but it doesn't appear to do so. Thanks anyway.

Kevin
Comment 15 Michael Fu 2008-02-02 20:53:37 UTC
Dick, it's good to know you have a resolution. We havn't claimed supporting HDMI yet. I'll mark this bug as Later.

Kevin, Please open a new bug for your issue if it still bothers you. 

thanks!
Comment 16 Adam Jackson 2008-02-24 18:22:43 UTC
Mass reopen.  The "LATER" resolution is lame, I'm deleting it.  Consider LATER to have arrived.
Comment 17 Hong Liu 2008-02-26 19:08:49 UTC
(In reply to comment #11)
> In search of new debug information I've applied the following "patch":
> 
> sed -i -e "1396i      i830_sdvo_dump(pScrn);" src/i830_driver.c
> 
> Believe it or not, but now the HDMI output works...
> 

We can't detect existence of any SDVO controller (so X server can find any active output), but it seems the SDVO controller is OK after we sent some commands to this card (looks like some of the commands in i830_sdvo_dump() happens to init the sdvo controller).

Would you please provide the xorg log with your patch applied (also please turn on the modedebug option)?

And would you please try to do some debugging to see which command (in i830_sdvo_dump_device) actually make thing OK?

Thanks,
Hong
Comment 18 Dick Marinus 2008-03-02 10:43:10 UTC
Created attachment 14771 [details]
Xorg.0.log

> We can't detect existence of any SDVO controller (so X server can find any
> active output), but it seems the SDVO controller is OK after we sent some
> commands to this card (looks like some of the commands in i830_sdvo_dump()
> happens to init the sdvo controller).
> 
> Would you please provide the xorg log with your patch applied (also please
> turn on the modedebug option)?
Here you go :-)
 
> And would you please try to do some debugging to see which command (in
> i830_sdvo_dump_device) actually make thing OK?

Yes, good idea I'll try that.
Comment 19 Hong Liu 2008-03-03 21:54:22 UTC
After reading the code again, the code i830_sdvo_dump() should do nothing at that time since we haven't alloc any output yet.

So would you please reconfirm that your change really makes thing work?

Thanks,
Hong

Comment 20 Dick Marinus 2008-03-14 01:02:56 UTC
I've removed my patch and indeed it keeps working. Closing as invalid.

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.