Bug 27757

Summary: garbage on x startup for 1-2 seconds
Product: xorg Reporter: Florian Klink <flokli>
Component: Driver/RadeonAssignee: xf86-video-ati maintainers <xorg-driver-ati>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: bugs.xorg, flokli, mail
Version: unspecifiedKeywords: security
Hardware: All   
OS: Linux (All)   
i915 platform: i915 features:

Description Florian Klink 2010-04-20 08:58:46 UTC
I have a Mobility Radeon HD 4650 with KMS enabled (latest git kernel, libdrm, mesa and xf86-video-ati). KMS is working, I have a nice full hd console on bootup.
But as soon as X is starting, the screen shows some garbage, sometimes (after a reboot) something that was opened before the reboot, sometimes a mix of both. Then the screen gets black, and afterwards, I get my GDM. When I switch then to console 1 and back, I don't get this effect, only on X startup.

I don't know if it has something to do with xf86-video-ati or kms.

Is there some RAM that has to get cleaned before starting X or what?

Any Ideas?

Xorg.0.log: http://pastebin.com/UYCMDP8U
Comment 1 Rafał Miłecki 2010-04-20 11:10:53 UTC
I can confirm that with RV620 and RV635. Guess it's issue of not cleaning VRAM.
Comment 2 Christian S. 2010-04-20 11:55:55 UTC
same thing on Radeon 5750

this is some kind of a security issue, since it might reveal potentially sensitive information after a restart
Comment 3 Florian Klink 2010-09-23 13:52:30 UTC
Or should the vram get cleaned in the kernel drm driver/memory manager?
Comment 4 boris64 2011-06-28 11:01:03 UTC
Same thing on HD5850, any news on this?
Comment 5 Florian Klink 2011-06-28 11:02:56 UTC
for me, the bug disappeared some months ago.

(using git kernel, libdrm, mesa, xf86-video-ati)
Comment 6 Alex Deucher 2011-06-28 14:54:16 UTC
Are you using ubuntu?  IIRC, ubuntu uses vesafb and then loads the radeon pretty late in the boot process.  For a smooth bootup, the ddx uses the framebuffer image from the boot manager.  vesa may use a different offset in vram so the console image may not be initialized when X starts in that case so there so it gets initialized to whatever was in vram.
Comment 7 boris64 2011-07-04 06:29:21 UTC
Nope, this is a custom kernel without any *fb driver,
everything needed compiled inside the kernel (radeon+kms).
I normally see some kind of pixel trash (looks like a colored
space picture) for about a second.
If i ran Windows before or had a crash i can see parts of
my previous desktop session.

This is not a _real_ problem for me, but let's be honest,
it looks ugly. This is a dualhead setup, perhaps this could
be an issue?

(using kernel-2.6.39, libdrm/mesa/xf86-video-ati from git)
Comment 8 Michel Dänzer 2015-04-23 01:37:48 UTC
Should be fixed with the two commits below.

commit 673e1c7637687c74fc9bdeeeffb7ace0d04b734f
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Thu Apr 2 17:54:33 2015 +0900

    Defer initial modeset until the first BlockHandler invocation
    This ensures that the screen pixmap contents have been initialized when
    the initial modes are set.

commit 80f3d727f93cb6efedd2b39338d2301035965fe2
Author: Michel Dänzer <michel.daenzer@amd.com>
Date:   Wed Apr 22 13:33:15 2015 +0900

    On screen resize, clear the new buffer before displaying it
    Fixes garbage being intermittently visible during a screen resize.

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.