[regression] Corrupted screen and sluggish performance after suspend with 295.40 drivers
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
| nvidia-graphics-drivers (Ubuntu) |
Undecided
|
Unassigned |
Bug Description
On Ubuntu 12.04 beta2 with the 295.33-0ubuntu1 driver, I could suspend the system and resume it just fine. The graphics system came back up and I could continue working.
With the new 295.40-0ubuntu1 driver package, if I suspend the system and resume it, the lock screen asks for my password. Once I give it that, the lock screen goes away and the screen fills with garbage. I can interact with the open programs as if everything is fine, but instead of window contents all I see is junk moving around the screen. After about 15 seconds of this, the display becomes extremely slow to respond. I can get the display back to a usable state if I hop out to the Alt-F1 shell, restart lightdm, and log in again.
This seems to happen with both Unity 3d and GNOME3 shell. It does _not_ happen with Unity 2d. This makes me suspect something related to GL textures.
Updating the system to the latest software (as of 16 April 2012) doesn't fix anything, but reverting to the 295.33-0ubuntu1 package makes the suspend/resume cycle work again. I also built a new 3.3.2 kernel to see if that might fix it, but it does not.
When the screen gets garbled and the display becomes really slow, I see a whole lot of this in dmesg:
NVRM: Xid (0000:01:00): 13, 0002 beef3097 00004097 00001fd8 00000001 00000020
NVRM: os_schedule: Attempted to yield the CPU while in atomic or interrupt context
Also, .xsession-errors shows a whole lot of these:
compiz (decor) - Warn: failed to bind pixmap to texture
CVE References
Darrick J. Wong (djwong-ibm) wrote : | #1 |
description: | updated |
description: | updated |
Launchpad Janitor (janitor) wrote : | #2 |
Status changed to 'Confirmed' because the bug affects multiple users.
Changed in nvidia-graphics-drivers (Ubuntu): | |
status: | New → Confirmed |
djwong (djwong) wrote : | #3 |
This patch fixes the problem for me, although I suspect that it probably re-breaks CVE-2012-0946. Hard to tell with a closed source project. :(
Anyway, I slipped in a printk to print the offending offset and size. On a GeForce 7300GT (~2006 iMac) it looks like something in the driver is trying to map 0x1000 0x1000 (which is explicitly checked by the IS_BLACKLISTED_
I wonder if this will fix the other people who can't even get Unity3d started, but that's pure speculation.
djwong (djwong) wrote : | #4 |
Yes, the patch does re-break CVE-2012-0946.
It sounds like nvidia are working on the corruption and stuttering issues and in the meantime they'd rather we not use 295.40:
http://
The attachment "revert-
[This is an automated message performed by a Launchpad user owned by Brian Murray. Please contact him regarding any issues with the action taken in this bug report.]
tags: | added: patch |
Bryce Harrington (bryce) wrote : | #6 |
Hmm, no where have I seen nvidia say "they'd rather we not use 295.40." It appears they're aware of the issue and working on a fix, and only suggest testing on the .33 version or use it as a temporary workaround.
tags: | removed: patch |
Bryce Harrington (bryce) wrote : | #7 |
Thanks for providing a patch, but as it reopens the CVE, I don't think it is appropriate to include as an SRU.
To clarify: I am not experiencing the problems listed in bugs #982710, #982485, and #982762. Unity3d is quick and smooth from a fresh boot, and only gets slow and corrupty after suspend.