From: Walter Alejandro Iglesias Subject: Re: Intel GPU, ghosting after zzz or ZZZ To: Vitaliy Makkoveev Cc: tech@openbsd.org Date: Tue, 26 May 2026 09:23:26 +0200 On Mon, May 25, 2026 at 10:00:44PM +0300, Vitaliy Makkoveev wrote: > On Mon, May 25, 2026 at 08:19:56AM +0200, Walter Alejandro Iglesias wrote: > > Does your machine have an intel gpu? > > > > When you run zzz or ZZZ from wscons, do you experience "ghosting" after > > resuming? > > > > By ghosting I mean the same valid output that was there before suspend > > or hibernate but partially printed again, overlapping valid output, in > > the form of characters scattered here and there or black squares which > > size can vary from 4x4 characters to half screen. And when you switch > > to and back from another virtual terminal[1] (Ctrl+Alt+F?) all that > > ghost goes away. > > > > If that's also your case, try the diff below please. Your feedback will > > be useful. (Include dmesg to let developers know your hardware.) > > > > [1] This last test is important, since in some cases the ghosting can > > be subtle and go unnoticed. Also, try with different contents in > > the console before zzz or ZZZ, like the output of 'cal -y' which > > is easily recognizable. > > > > > > Sorry for breaking your thread, but I have the same problem with wscons > screen burner on my GEMINILAKE. The following diff fixes it to me. I'm > not very close to DRM, so this could be not the right place. > > I also have the problem with wscons screen burner on ALDERLAKE. I don't > know how describe it, so the screeshot [1]. After screen unblan, the > output happens only in upper left corner, the upper half of the first > line. The other screen contains garbage. > > The diff below doesn't fixes the problem, but at least I see no garbage > on the screen. > > 1. https://ibb.co/DHWcWNx5 Let's see if I understood. The image shows the screen *without* the garbage removed by your diff, right? That doesn't look at all as the issue I described, it seems like a second problem. Test to confirm: *without* your patch, if once the screen wakes up you switch to another console and return, what remains and what stays? > > Index: sys/dev/pci/drm/i915/i915_driver.c > =================================================================== > RCS file: /cvs/src/sys/dev/pci/drm/i915/i915_driver.c,v > retrieving revision 1.30 > diff -u -p -r1.30 i915_driver.c > --- sys/dev/pci/drm/i915/i915_driver.c 30 Apr 2026 04:33:06 -0000 1.30 > +++ sys/dev/pci/drm/i915/i915_driver.c 25 May 2026 18:53:02 -0000 > @@ -2154,8 +2154,10 @@ inteldrm_burner_cb(void *arg1) > struct drm_i915_private *dev_priv = arg1; > struct drm_device *dev = &dev_priv->drm; > struct drm_fb_helper *helper = dev->fb_helper; > + struct rasops_info *ri = &dev_priv->ro; > > drm_fb_helper_blank(dev_priv->burner_fblank, helper->info); > + rasops_show_screen(ri, ri->ri_active, 0, NULL, NULL); > } > > int -- Walter