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 19:51:54 +0200 On Tue, May 26, 2026 at 08:25:29PM +0300, Vitaliy Makkoveev wrote: > On Tue, May 26, 2026 at 09:23:26AM +0200, Walter Alejandro Iglesias wrote: > > 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? > > > > I have two machines. The first one is the GEMINILAKE machine ant it has > the same behavior that you described. The diff I posted here completely > fixes it. > > The second machine is the ALDERLAKE machine. The screenshot I posted > here made from this one. Without any diff, after screen on it has > garbage in screen and output in the upper left corner like on my > screenshot. With my diff applied it has no garbage on screen, but output > is broken. Switching with Ctl + Alt + F* doesn't fix the screen on this > machine. Exactly as I'd understood. What is not fixed by switching ttys is a second issue. Did you try my diff? I don't think it'll solve the problem (not even the ghosting), but I want to clarify my doubt. > > > > > > > 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 > > -- Walter