Bug 33967 - No image on a VGA screen attached to DVI with a dvi to vga adaptor on NVa3 card..
Summary: No image on a VGA screen attached to DVI with a dvi to vga adaptor on NVa3 ca...
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/nouveau (show other bugs)
Version: 7.6 (2010.12)
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Nouveau Project
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-02-06 09:09 UTC by Raúl Soriano
Modified: 2011-12-05 13:29 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
dmesg log (58.48 KB, text/plain)
2011-02-06 09:09 UTC, Raúl Soriano
no flags Details
lspci output (4.60 KB, text/plain)
2011-02-06 09:11 UTC, Raúl Soriano
no flags Details
xrandr output (1.23 KB, text/plain)
2011-02-06 09:11 UTC, Raúl Soriano
no flags Details
Xorg log (71.64 KB, text/plain)
2011-02-06 09:12 UTC, Raúl Soriano
no flags Details
Posible patch for wrong DCB table (631 bytes, patch)
2011-02-13 07:57 UTC, Raúl Soriano
no flags Details | Splinter Review
Incomplete patch with working dualhead (627 bytes, patch)
2011-02-13 17:51 UTC, Raúl Soriano
no flags Details | Splinter Review
XFX GT-240X-YA DCB connector quirk (638 bytes, patch)
2011-02-13 18:29 UTC, Raúl Soriano
no flags Details | Splinter Review
Possible alternate fix: encoder quirks (971 bytes, patch)
2011-02-13 19:42 UTC, Ben Skeggs
no flags Details | Splinter Review
Fixed version of encoder table quirk (971 bytes, patch)
2011-02-13 19:45 UTC, Ben Skeggs
no flags Details | Splinter Review

Description Raúl Soriano 2011-02-06 09:09:52 UTC
Created attachment 42994 [details]
dmesg log

On a dualhead system, the second screen (a VGA CRT with a DVI adaptor) never shows anything, remaining in power save mode since boot until shutdown.

I disconnected the other screen, forcing this one to show the bios and boot messages, and once while the kernel is loading, the screen goes off. The system is reachable through ssh and seems to be working right.

When both screens are connected, xrandr shows info about both of them. I can change resolutions on both of them, change the refresh rate on both of them, ... but no image on the screen connected to DVI.

Booting windows, dualhead works, and both screens show proper images/resolutions/refresh.

Looking at xrandr output, it seems the connectors naming is wrong.
The screen connected to VGA is shown as connected to "DVI-I-1" and the one connected to DVI is shown as connected to "VGA-1"
Comment 1 Raúl Soriano 2011-02-06 09:11:06 UTC
Created attachment 42995 [details]
lspci output
Comment 2 Raúl Soriano 2011-02-06 09:11:45 UTC
Created attachment 42996 [details]
xrandr output
Comment 3 Raúl Soriano 2011-02-06 09:12:20 UTC
Created attachment 42997 [details]
Xorg log
Comment 4 Dragos Delcea 2011-02-07 05:13:55 UTC
just finished submitting a bug report to the gentoo bugzilla about the same behaviour: upon boot the internal display goes blank at KMS activation time, but external monitor works - xrandr reports both working and X (of course) thinks it too.
(http://bugs.gentoo.org/show_bug.cgi?id=353957)

in my case the situation is a bit clearer: it all worked up to and including 2.6.36, so it's a 2.6.37 regression.

also, one more hint can be found in the fact that between the working and non-working xrandr output there are differences in refresh rates for the internal, non-working display.
my hw is a bit different (see the gentoo bug for details)
Comment 5 Maarten Maathuis 2011-02-07 12:34:46 UTC
Taken from dmesg log:

Found Display Configuration Block version 4.0
Raw DCB entry 0: 02000300 00020030
Raw DCB entry 1: 01011312 00020030
Raw DCB entry 2: 01011310 00000000
Raw DCB entry 3: 02022362 00020010
Raw DCB entry 4: 0000000e 00000000
DCB connector table: VHER 0x40 5 16 4
0: 0x00001030: type 0x30 idx 0 tag 0x07
1: 0x00000100: type 0x00 idx 1 tag 0xff
2: 0x00002261: type 0x61 idx 2 tag 0x08

Conclusion:

It seems that the DCB connector table or DCB output table is wrong. VGA connector is linked to an digital and analog output, while the DVI is only linked to an analog. Very small chance it's being misparsed, but more likely it's a broken DCB connector table.

I'll try to see if can get the attention of Ben Skeggs, maybe you need a quirk for this broken bios table.
Comment 6 Raúl Soriano 2011-02-13 07:57:45 UTC
Created attachment 43317 [details] [review]
Posible patch for wrong DCB table

I replied to the last bugzilla message by mail, but it doesn't show here, so I'm adding it again.

I don't know if this is a proper fix or a piece of trash, so I wonder if somebody can have a look at it and tell me how it looks, and whether it's safe to test it or I'm doing it wrong. Or just fix it so I see where i messed up.
Comment 7 Raúl Soriano 2011-02-13 17:51:22 UTC
Created attachment 43327 [details] [review]
Incomplete patch with working dualhead

The previous patch didn't even build (my mistake). This one builds and run, dualhead works again, but both connectors are named DVI-I now, which is still wrong.
Comment 8 Raúl Soriano 2011-02-13 18:29:23 UTC
Created attachment 43328 [details] [review]
XFX GT-240X-YA DCB connector quirk

Signed-of-by: Raúl Soriano <GatoLoko@gmail.com>

Now it builds and works for me.
Comment 9 Ben Skeggs 2011-02-13 19:42:35 UTC
Created attachment 43329 [details] [review]
Possible alternate fix: encoder quirks
Comment 10 Ben Skeggs 2011-02-13 19:45:39 UTC
Created attachment 43330 [details] [review]
Fixed version of encoder table quirk
Comment 11 Raúl Soriano 2011-02-14 07:13:08 UTC
I've tested Ben's patch and it works nicely, surely in a better fashion than my own.
Comment 12 Raúl Soriano 2011-03-19 13:30:19 UTC
Review of attachment 43330 [details] [review]:

Tested it for a while, works as it should.


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.