Summary: | suspend/resume with active CRTC, but disconnected output causes problems | ||||||
---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | maximlevitsky | ||||
Component: | Driver/nouveau | Assignee: | Nouveau Project <nouveau> | ||||
Status: | RESOLVED INVALID | QA Contact: | Xorg Project Team <xorg-team> | ||||
Severity: | normal | ||||||
Priority: | medium | CC: | pfeiffer | ||||
Version: | git | ||||||
Hardware: | Other | ||||||
OS: | All | ||||||
Whiteboard: | |||||||
i915 platform: | i915 features: | ||||||
Attachments: |
|
Description
maximlevitsky
2011-10-08 07:29:17 UTC
Changed bug title to reflect further findings. So to reproduce the problem (with the patch), all you need is: 1. connect external monitor 2. activate it using xrandr 3. disconnect it (and rely on lack of software that deactivates the CRTC). 4. suspend/resume. Now the bug is already there. If you suspended with compiz running, you can try to rotate the cube and it will freeze, sometimes the screen will be filled with black/white pattern. Of course if you connect the DVI output it won't show anything. If you suspend/resume again, you will get for sure that black/white pattern. Note that I verified that this problem doesn't happen on VGA output. I suspect its somewhat related to clock scripts nouveau executes. Also, I managed even with all this still to cause DVI not to come back after resume, and that seems to be partially unreleated bug, and unlike the bug we discuss here its mostly harmless (I can suspend/resume again or turn output on/off to fix this) and happens very rarely And I found the way to 100% reproduce the other way of breaking external output. I opened another bugreport: https://bugs.freedesktop.org/show_bug.cgi?id=41608 And with patch I just wrote for the other bugreport, this bug now it clearly causes much less damage that expected initially. Now if I suspend/resume with external DVI output activated and off (and with or without cursor on it), on resume output is deactivated, but off/on cycle fixes it. If I suspend/resume again, then I see garbage over main screen, but that doesn't cause any hangs, I just need to redraw that screen. I dig into this deeper later, but really now I can finally safely use my DVI monitor. I Lenovo notebook W510 with a GT216 [Quadro FX 880M] (rev a2) running xserver-xorg-video-nouveau 1.0.1-3 (Debian unstable), Kernel 3.2.0-3-amd64. My problem is that after resuming from ram, I cannot re-activate the LVDS-1 display if it had been disabled once before suspending. To reproduce, do the following: 1. plug in external monitor (DVI here) 2. use xrandr or e.g. krandrtray to enable external display and disable internal display (LVDS-1) 3. suspend to ram 4. resume 5. => LVDS-1 stays black forever, no way to reactivate it I tried to disable the external display and re-enable LVDS-1 *before* suspending, which works fine (LVDS-1 works). But after suspend&resume, LVDS-1 is black and cannot be reactivated. A workaround is to keep LVDS-1 always on, but then you cannot use two external displays anymore. For using two external displays, you *have* to disable LVDS-1. Does this still happen with the latest kernel? No response to re-test request for over a month. 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.