Bug 19770

Summary: Q965 dual-head DVI with ADD2 2nd panel can't be found
Product: xorg Reporter: Erik Jacobson <erikj>
Component: Driver/intelAssignee: MaLing <ling.ma>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: edwardsg, eich, kent.liu, libv, mat, quanxian.wang, sndirsch
Version: 7.4 (2008.09)   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
novell hwinfo command run with --gfx
none
novell hwinfo command run with --monitor
none
X11 log file
none
xorg.conf, as created by novell sax2 x11 config tool
none
xrandr --verbose
none
Xorg.0.log while ModeDebug set to yes
none
xorg.conf showing ModeDebug set to yes for the xorg log just attached
none
please try the patch on your machine, thanks.
none
Xorg.0.log with dual-dvi SDVO card none

Description Erik Jacobson 2009-01-27 14:14:30 UTC
OpenSUSE 11.1 (xorg 7.4) cannot see the 2nd flat panel, which is attached to an
ADD2 card.

OpenSUSE 10.3 (7.2) did not suffer from this problem.

This was filed as novell bugzilla 469878 and they asked me to file the bug here
instead.

I will make a series of attachments shortly of various config files and such
altough I think what is stated below is the primary issue:


I have a Dell Optiplex 745 with the integrated Intel graphics.
I have a ADD2 card installed that makes a 2nd DVI-attached monitor available
to the integrated graphics.

This unit has the Q965 Intel chipset.

The monitors are both Dell flat panels, DVI-connected, model 2007FP

In opensuse 10.3, I have a nice dual-head setup that works fine.

I was unable to use opensuse11.0 because it would hang whenever X11 started up.

In opensuse11.1, X11 is able to start but my 2nd panel has nothing on it.
So I'm back to trusty opensuse 10.3 for now.

I have found that xrandr doesn't even see my 2nd monitor any more.  There
should be a TMDS-2 in here.  So no wonder sax2 can't configure dual-head:

Screen 0: minimum 320 x 200, current 1600 x 1200, maximum 3200 x 1200
VGA disconnected (normal left inverted right x axis y axis)
TMDS-1 connected 1600x1200+0+0 (normal left inverted right x axis y axis)
367mmx 275mm
   1600x1200      60.0*+   60.0
   1400x1050      74.8     60.0
   1280x1024      75.0     60.0     60.0
   1280x960       60.0
   1152x864       75.0     75.0
   1024x768       75.1     75.0     70.1     60.0
   832x624        74.6
   800x600        72.2     75.0     60.3     56.2
   640x480        75.0     72.8     75.0     60.0     59.9
   720x400        70.1


Here is the same xrandr output from opensuse10.3, which works:

Screen 0: minimum 320 x 200, current 3200 x 1200, maximum 3200 x 1200
VGA disconnected (normal left inverted right)
TMDS-1 connected 1600x1200+0+0 (normal left inverted right) 367mm x 275mm
   1600x1200      60.0*+   59.9  
   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  
TMDS-2 connected 1600x1200+1600+0 (normal left inverted right) 367mm x 275mm
   1600x1200      60.0*+   59.9  
   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  



Here is lspci output:

00:00.0 Host bridge: Intel Corporation 82Q963/Q965 Memory Controller Hub (rev
02)
00:02.0 VGA compatible controller: Intel Corporation 82Q963/Q965 Integrated
Graphics Controller (rev 02)
00:02.1 Display controller: Intel Corporation 82Q963/Q965 Integrated Graphics
Controller (rev 02)
00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI
Controller #4 (rev 02)
00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI
Controller #5 (rev 02)
00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI
Controller #2 (rev 02)
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio
Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1
(rev 02)
00:1c.4 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 5
(rev 02)
00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI
Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI
Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI
Controller #3 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI
Controller #1 (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev f2)
00:1f.0 ISA bridge: Intel Corporation 82801HB/HR (ICH8/R) LPC Interface
Controller (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801H (ICH8 Family) 4 port SATA IDE
Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 02)
00:1f.5 IDE interface: Intel Corporation 82801H (ICH8 Family) 2 port SATA IDE
Controller (rev 02)
02:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5754 Gigabit
Ethernet PCI Express (rev 02)
Comment 1 Erik Jacobson 2009-01-27 14:16:11 UTC
Created attachment 22291 [details]
novell hwinfo command run with --gfx
Comment 2 Erik Jacobson 2009-01-27 14:16:58 UTC
Created attachment 22292 [details]
novell hwinfo command run with --monitor
Comment 3 Erik Jacobson 2009-01-27 14:19:16 UTC
Created attachment 22293 [details]
X11 log file

This log file just shows that the one panel did come up.  Some warnings/errors
are in the output.

However, Novell's X11 config file sax2 wasn't able to configure the dual-head
xinerama mode.  This makes sense since 'xrandr' doesn't even show it.  So there
is no surprise it wasn't configured.

I did have some hand-crafted Xorg.conf files that tried to use the 2nd monitor
like I did back in 10.3 but since it didn't work I won't bother including it.
Comment 4 Erik Jacobson 2009-01-27 14:19:53 UTC
Created attachment 22294 [details]
xorg.conf, as created by novell sax2 x11 config tool
Comment 5 Erik Jacobson 2009-01-27 14:21:49 UTC
This is what the Novell engineer said when closing the novell bug.
(https://bugzilla.novell.com/show_bug.cgi?id=469878):

   You're right. TMDS-2 output is no longer detected by the current intel driver.

   I'm afraid this driver issue needs to be addressed by Intel's Linux
   driver development team. Thus I would like to ask you to report this
   issue upstream on bugs.freedesktop.org according to

(snip).

My machine has multiple roots so I can reboot my work desktop to run commands
or tests from time to time.  -Erik
Comment 6 Erik Jacobson 2009-01-27 14:28:29 UTC
I plan to add some more details required by 
2. Information to provide:

Yet.  Looks like I neglected some steps there and I'll fill in the gap.
Comment 7 Erik Jacobson 2009-01-27 15:34:06 UTC
Some additional detail in suggested format:

Bug description:
(Please see first comment in this bug)

System environment:
-- chipset: Q965
-- system architecture: x86_64
-- xf86-video-intel: libvgahw.so compiled for 1.5.2, module ver 0.1.0,
                     ABI class X.org Video Driver 4.1
-- xserver: 1.5.2
-- mesa: OpenGL version string: 1.4 Mesa 7.2
-- libdrm: 2.4.1
-- kernel: 2.6.27.7-9-default
-- Linux distribution: OpenSUSE 11.1
-- Machine or mobo model: Dell Optiplex 745
-- Display connector: DVI to mainboard, 2nd DVI to ADD2 card, VGA unused
Comment 8 Erik Jacobson 2009-01-27 15:34:56 UTC
Created attachment 22295 [details]
xrandr --verbose
Comment 9 Erik Jacobson 2009-01-27 15:39:03 UTC
Created attachment 22296 [details]
Xorg.0.log while ModeDebug set to yes
Comment 10 Erik Jacobson 2009-01-27 15:40:16 UTC
Created attachment 22297 [details]
xorg.conf showing ModeDebug set to yes for the xorg log just attached
Comment 11 Erik Jacobson 2009-01-29 09:16:45 UTC
I mis-spoke in the comments above (too many systems, too little time).

Optiplex 745 has integrated VGA connector but no DVI.
Both of my DVI connections are on the ADD2 card.  Only one is seen.
I believe everything else I wrote is correct.  Sorry about that.
Comment 12 MaLing 2009-01-31 19:13:05 UTC
Hi Erik
Could you try adding option ForceSDVODetect true in device section of
xorg.conf?

Thanks 
Ma Ling
Comment 13 Erik Jacobson 2009-01-31 22:24:50 UTC
Sure; I'll do this on Monday as the machine with the issue is at the office.
Thanks - I look forward to trying it. -Erik
Comment 14 MaLing 2009-02-01 19:04:27 UTC
hi Erik,

You don't need to use  option ForceSDVODetect.
 
I think the root cause is from SDVOC failed to detect in 2.5.0 version.
In our latest version, we can detect it normally. please update your driver.

Thanks
Ma Ling

Comment 15 Stefan Dirsch 2009-02-01 20:21:57 UTC
Hmm. Just a wild guess. Is this the fix?

Author: Zhenyu Wang <zhenyu.z.wang@intel.com>
Date:   Wed Dec 10 10:54:31 2008 +0800

    Try to always probe SDVOC on 965G/965GM
    
    Detect bit of SDVOC is reserved on 965G/965GM, instead of ignore SDVOC
    this trys to always probe it on these chipsets.

diff --git a/src/i830_driver.c b/src/i830_driver.c
index 4f87efb..7590257 100644
--- a/src/i830_driver.c
+++ b/src/i830_driver.c
@@ -919,7 +919,9 @@ I830SetupOutputs(ScrnInfoPtr pScrn)
            i830_hdmi_init(pScrn, SDVOB);
       }
 
-      if ((INREG(SDVOC) & SDVO_DETECTED) || pI830->force_sdvo_detect) {
+      if ((INREG(SDVOC) & SDVO_DETECTED) || pI830->force_sdvo_detect ||
+             /* SDVOC detect bit is reserved on 965G/965GM */
+             (IS_I965G(pI830) && !IS_G4X(pI830))) {
         Bool found = i830_sdvo_init(pScrn, SDVOC);
 
         if (!found && SUPPORTS_INTEGRATED_HDMI(pI830))
Comment 16 MaLing 2009-02-01 22:30:09 UTC
Yes, it should work fine now!

thanks
Ma Ling
Comment 17 Stefan Dirsch 2009-02-02 00:34:23 UTC
Eri, please try the option first. Thanks.
Comment 18 Erik Jacobson 2009-02-02 08:25:46 UTC
I'm happy to report that adding the option indeed allowed both TMDS device sto
be discovered and reported by xrandr.

I had mirrored output to both panels at that point.

I'm having some other (unrelated) issues getting Xinerama going but I'll
work through those hopefully.
Comment 19 Erik Jacobson 2009-02-02 09:19:07 UTC
I'm having trouble getting Xinerama dual-head working with my old xorg.conf
file from openesuse10.3 that used to work.

I tried to craft a opensuse11.1 style one and also had trouble.

However, the dynamic method using xrandr to position stuff is working fine
for me now.  Therefore, I think this specific issue is addressed.  Thanks
much.

Worst case if I can't get xorg.conf working right is I'll just use xrandr for
a while; I don't log out much anyway :)  Thanks again for looking at this.
Comment 20 Stefan Dirsch 2009-02-02 09:47:41 UTC
Thanks for testing, Erik. I'm going to apply the patch so you no longer need to add this option to xorg.conf.
Comment 21 MaLing 2009-02-02 18:48:32 UTC
hi Erik,

Thanks for your help, I close the issue now.

Regards
Ma Ling
Comment 22 MaLing 2009-02-13 22:35:44 UTC
Created attachment 22930 [details]
please try the patch on your machine, thanks.

hi Erik,

Because we have not similar HW, whould you please try our latest patch on your machine under the same environment with that of this bug #19770, then paset Xorg log file?


Thanks a lot!
Ma Ling
Comment 23 Greg Edwards 2009-03-02 07:42:51 UTC
Created attachment 23445 [details]
Xorg.0.log with dual-dvi SDVO card

I can confirm the patch from comment #22 works fine on my G33 chipset system
with a dual-dvi SDVO card.

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.