Bug 69514 - R770 (Radeon 4850) screen/buffer corruption when waking up from sleep mode
Summary: R770 (Radeon 4850) screen/buffer corruption when waking up from sleep mode
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Radeon (show other bugs)
Version: XOrg git
Hardware: Other All
: medium normal
Assignee: Default DRI bug account
QA Contact:
Depends on:
Reported: 2013-09-18 08:53 UTC by Peter Asplund
Modified: 2019-11-19 08:38 UTC (History)
0 users

See Also:
i915 platform:
i915 features:

Xorg log including sleep and wakeup cycle, as well as shutting down afterwards. (71.08 KB, text/plain)
2013-09-18 15:42 UTC, Peter Asplund
no flags Details
dmesg, including hibernate cycle (78.77 KB, text/plain)
2013-09-18 15:50 UTC, Peter Asplund
no flags Details

Description Peter Asplund 2013-09-18 08:53:22 UTC
If I put my computer in sleep/hibernate (doesn't seem to matter which one) the screen gets corrupted with colors everywhere. It does update, and things jump around when I try to press buttons, bring out menus, etc. It's like the drawing buffer is all jumbled up and it's reading/writing from/to the wrong place.

When something is updated, it's like I can see the picture/pixmap/icon for a fraction of a second, but then it's corrupted again.
If I move the mouse continuously over a menu, to update the highlighting of it, I can see at least where I am on the screen. But the fonts are complete garbage, and it's unreadable. Perhaps I can photograph the screen if it's needed. I haven't tried taking a screenshot.

I'm using Gentoo, 3.11 gentoo-kernel, with Systemd and Gnome 3.8.

The TTY:s are not corrupted, so I'm able to switch to a TTY without problems.
Comment 1 Peter Asplund 2013-09-18 08:58:45 UTC
I'm using a green background, and the whole corrupted screen is green. The screen looks like big green chunks that flickers when it's updated as I move the mouse.
Comment 2 Alex Deucher 2013-09-18 13:08:29 UTC
You mean when you wake up from suspend/hibernate so see the corruption?  Please attach your xorg log and dmesg output.
Comment 3 Alex Deucher 2013-09-18 13:08:56 UTC
Also is this a regression?  If so, can you bisect?
Comment 4 Peter Asplund 2013-09-18 15:42:46 UTC
Created attachment 86071 [details]
Xorg log including sleep and wakeup cycle, as well as shutting down afterwards.

Yes exactly, the corruption occurs when the computer wakes up from sleep/hibernation.

The behavior started at least two kernel versions ago, probably at 3.10. I _think_ it was working with 3.8, but I will check that soon, and get back to you.

Here's the Xorg.0.log.old from previous run. I was running for a while, and then put the computer in sleep mode, and then awoke it immediately. When the corruption has occurred, I shut it down normally.
Comment 5 Peter Asplund 2013-09-18 15:50:13 UTC
Created attachment 86072 [details]
dmesg, including hibernate cycle

Here's my dmesg output from last boot, including hibernation. The hibernation does not seem to work for some reason, because the computer wakes up immediately, but the screen still gets corrupted.
Comment 6 Peter Asplund 2013-09-18 15:55:54 UTC
The screen gets corrupted on kernel 3.8.5 (which is the oldest kernel I have lying around) as well. I'm typing this blindly.
Comment 7 Peter Asplund 2013-09-18 15:58:12 UTC
I don't know if I can bisect... I need some help in that case.

Gentoo has recently added a dependency on Systemd as a part of Gnome 3.8, and I think recovering from sleep/hibernate was working before that. But I'm not completely sure. Without systemd, sleep/hibernate doesn't work at all, so I'm unable to revert and test without it.
Comment 8 Peter Asplund 2013-09-18 16:38:35 UTC
Here's a link to a video showing the problem. https://www.youtube.com/watch?v=t3RBRwMxrsk
Comment 10 Peter Asplund 2013-09-22 18:28:49 UTC
Yes, the patch seems to be in 3.11.1, as well as 3.11.0. I'm currently running:
$ uname -a
Linux skare 3.11.1-gentoo #1 SMP PREEMPT Thu Sep 19 15:18:53 CEST 2013 x86_64 Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz GenuineIntel GNU/Linux
Comment 11 Peter Asplund 2013-09-22 18:29:45 UTC
Is there any debugging information/logging I can turn on during boot, and test again for more information?
Comment 12 Alex Deucher 2013-09-22 20:51:24 UTC
Ideally you could bisect.
Comment 13 Peter Asplund 2013-09-30 10:30:53 UTC
I haven't been able to disect anything yet, but I do have some updated information. I switched back my BIOS settings to Hibernate via S3 instead of S1 (which I was forced to switch to because of Windows 7 somehow disabling my hibernate possibility because of some "known issue with power management" or something like it) and now my glitches are gone! The hibernate and wake-up works perfectly. I have yet to try Sleep I think, but I think I tried and it doesn't work at all since my motherboard only supports _either_ S1 or S3.
This is very strange though, since I'm fairly certain I've used both of them before.
Comment 14 Martin Peres 2019-11-19 08:38:22 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/drm/amd/issues/383.

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.