Bug 1390274

Summary: nouveau kernel driver should try harder / wait longer for a valid EDID
Product: [Fedora] Fedora Reporter: Hans de Goede <hdegoede>
Component: xorg-x11-drv-nouveauAssignee: Ben Skeggs <bskeggs>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 25CC: airlied, ajax, bskeggs
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-11 10:30:48 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Hans de Goede 2016-10-31 15:31:31 UTC
When using a hdmi to vga adapter on a laptop with the hdmi connector connected to the nvidia gpu; and with the nvida gpu being runtime suspended normally, everything work fine on the first plug-in of the adapter (with the monitor already plugged into the adapter). The monitor gets properly recognized and automatically setup as a second screen by gnome-settings daemon.

If I then unplug the hdmi connector, and re-plug it _before_ the nvidia gpu run-time suspends again, then the monitor does not get properly recognized and for some reason gnome-settings-daemon brings it up in 1280x1024 or 1600x1200 (which it does not support) depending on the laptop screen resolution (I'm seeing this on multiple laptops).

This does not happen when using a hdmi connector which is directly connected to an intel integrated GPU, so I believe this is an issue with how the nouveau driver gets the edid info. When run-time suspend, the
vga<->hdmi adapter has more time to "boot up" and get the actual monitor EDID (which it modifies to add
HDMI audio bits to the EDID). It seems that on the re-plug the nouveau driver signals that it has a new monitor to userspace before it has valid EDID info.

This also happens after a suspend/resume with a monitor attached through the vga<->hdmi adapter which is quite annoying.

Note I'm seeing similar behavior with display-port monitors, where they come up in mirror-mode at an unsupported (by the monitor) resolution rather in their native mode after a suspend/resume (on a Lenovo P50).

Comment 1 Hans de Goede 2016-11-11 10:30:48 UTC
This turns out to not have anything to-do with gnome getting the wrong EDID, this has the same root cause as the g-s-d loop from bug 1390297, marking this one as a duplicate.

*** This bug has been marked as a duplicate of bug 1390297 ***