Bug 58735 - GeForce 680, currently driver works on two, but not three monitors
Summary: GeForce 680, currently driver works on two, but not three monitors
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/nouveau (show other bugs)
Version: git
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Nouveau Project
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-12-25 06:43 UTC by Sean Santos
Modified: 2013-01-19 22:57 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
xrandr output (2.16 KB, text/plain)
2012-12-25 06:43 UTC, Sean Santos
no flags Details
Output of "dmesg >dmesg.log" (97.22 KB, text/plain)
2012-12-25 07:12 UTC, Sean Santos
no flags Details
patch to fix the regression (1.48 KB, patch)
2012-12-29 21:50 UTC, Aleksi Torhamo
no flags Details | Splinter Review

Description Sean Santos 2012-12-25 06:43:34 UTC
Created attachment 72095 [details]
xrandr output

I think this is an interesting one.

I run Gentoo with the hardened patches. Noticing that the git version of nouveau had finally turned on acceleration for my card by default, I got kernel 3.7 (Gentoo hardened), and manually used a git patch to pull in the most recent version yesterday (commit 73e5cf2d9af6bb32b91f8a2f6d7c44c8e9b4e785, as of now still HEAD).

To my delight (and, I'll admit, mild surprise), everything seemed to work fine right away, at least as far as 2D acceleration and basic desktop stuff went. I had two monitors plugged in, both with DVI cards, all very well and good.

I tried plugging in a third monitor today, using an HDMI cable with a HDMI-to-DVI converter at the end (the monitor has no HDMI input), and I got a floating blue message across the monitor saying "Input Not Supported". Obviously a monitor message, not from the computer, which shows that the monitor recognizes that it's getting something, but doesn't understand what. The monitor's auto-detect does recognize when I plug the thing in.

xrandr shows the monitor, as well as some graphical equivalents (e.g. the GNOME 3 "Displays" screen). This output is also perfectly correct and equivalent to the other identical monitors. I can drag windows to (and off of) that part of the screen, and in all respects the computer seems to be blissfully unaware of the monitor not working.

I can attach a kernel log, but I think it would be much better if I reboot in a kernel without USB_DEBUG on, first. The spam makes it enormous, and I only had it on to troubleshoot a different device that now works.

Oh, also:

- This setup works with the proprietary nVidia driver.

- This setup works with Windows 7 and nVidia's driver.

- I have no devices at hand to test if the HDMI video output works without the DVI converter, so my belief that this is an issue with that conversion is just a hunch.

- It might be that this is just an issue with the early/primitive support for a relatively new card, but there are older, similar bugs, maybe duplicates:

Bug 17187
Bug 43939

- Also, a bug with HDMI that was never resolved (it seems):

Bug 56601


I'm going to hack around looking at this myself some more, but any input on things to look at would be appreciated.
Comment 1 Sean Santos 2012-12-25 06:57:10 UTC
Oops. Some errata:

- When I said "DVI cards", I meant "DVI cords". The card has two DVI, an HDMI, and a DisplayPort output. The DVI monitors seem OK, the HDMI with the converter is not working (all monitors are identical and only have DVI in).

- The first bug should have been Bug 17185.

- I doubt it's relevant, but I may as well mention that the only thing in xorg.conf is a section about my keyboard. I do multihead entirely using Randr and have not used the proprietary driver since the last time I wiped the disk on this box (but it worked before that).
Comment 2 Sean Santos 2012-12-25 07:11:28 UTC
Ah, noticed on reboot that this is visible even on the console. When booting, I get the flicker and resolution increase from nouveau, then the second monitor starts working, but the third starts getting the "Input Not Supported" message before X even starts.

Attaching dmesg.
Comment 3 Sean Santos 2012-12-25 07:12:33 UTC
Created attachment 72097 [details]
Output of "dmesg >dmesg.log"
Comment 4 Sean Santos 2012-12-26 04:39:08 UTC
Well, turns out that my guesses about the problem were totally wrong. The monitor works fine with the HDMI to DVI conversion, as long as there's no more than one other monitor present. If I have *both* DVI monitors plugged in, the HDMI monitor is confused. So this seems to be a problem with a setup with >2 monitors.
Comment 5 Aleksi Torhamo 2012-12-29 06:44:42 UTC
I can confirm this. Tested with the latest nouveau kernel (commit 73e5cf2d9af6bb32b91f8a2f6d7c44c8e9b4e785) and a GeForce GTX 660 (nve6). All three screens worked with nouveau on kernel 3.6.11, but on this one, one stays blank.

If I disable one of the outputs that work by default, the one that didn't work comes to life instead:

  Section "Device"
    ...
    Option "monitor-OUTPUT" "MonitorX"
  EndSection

  Section "Monitor"
    Identifier "MonitorX"
    Option "Ignore" "true"
  EndSection
Comment 6 Sean Santos 2012-12-29 19:45:28 UTC
I played around with xrandr and found that this is an issue with CRTC 2 and 3.

With two monitors:

> xrandr --output DVI-I-1 --auto --crtc 2

[ No good. Monitor says "Input Not Supported".]

> xrandr --output DVI-I-1 --auto --crtc 3

[ No good. Monitor says "Input Not Supported".]

> xrandr --output DVI-I-1 --auto --crtc 1

[ Works fine. ]

Of course, with three monitors, one will always have one of the values that doesn't work.
Comment 7 Aleksi Torhamo 2012-12-29 21:50:16 UTC
Created attachment 72277 [details] [review]
patch to fix the regression

I bisected yesterday and found that the regression was introduced in commit 70790f4f. Patch attached.
Comment 8 Sean Santos 2012-12-30 03:39:32 UTC
Nice! Works for me.
Comment 9 Florian Mickler 2013-01-19 22:57:51 UTC
A patch referencing this bug report has been merged in Linux v3.8-rc4:

commit d19528a9e4f220519c2cb3f56ef0c84ead3ee440
Author: Aleksi Torhamo <aleksi@torhamo.net>
Date:   Fri Jan 4 18:39:13 2013 +0200

    drm/nouveau/clock: fix support for more than 2 monitors on nve0


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.