Download raw body.
Intel GPU, ghosting after zzz or ZZZ
On Tue, May 26, 2026 at 08:28:42PM +0300, Vitaliy Makkoveev wrote:
> On Tue, May 26, 2026 at 10:12:31AM +0200, Walter Alejandro Iglesias wrote:
> > Vitaliy,
> >
> > > On Mon, May 25, 2026 at 10:00:44PM +0300, Vitaliy Makkoveev wrote:
> > > > 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.
> > > >
> >
> > Just to clear up a doubt. Could you try the diff below, please?
> >
> > This diff flips the order in which rasops_show_screen and
> > drm_client_dev_restore are called. Notice inteldrm_doswitch is called
> > before inteldrm_burner_cb:
> >
> > void
> > inteldrm_attachhook(struct device *self)
> > {
> > ...
> > task_set(&dev_priv->switchtask, inteldrm_doswitch, dev_priv);
> > task_set(&dev_priv->burner_task, inteldrm_burner_cb, dev_priv);
> >
> >
>
> With this diff after screen on, my ALDERLAKE machine has no garbage on
> screen, screen is the same as it was before screen off.
So, the weird half line from the picture does not happen?
> It has no output
> on screen until I do tty switch with Ctl + Alt + F*. After tty switch
> everything works as before sceen burner.
Do you mean that the console is unresponsive?
>
> >
> > Index: i915_driver.c
> > ===================================================================
> > RCS file: /cvs/src/sys/dev/pci/drm/i915/i915_driver.c,v
> > diff -u -p -u -p -r1.30 i915_driver.c
> > --- i915_driver.c 30 Apr 2026 04:33:06 -0000 1.30
> > +++ i915_driver.c 26 May 2026 07:57:22 -0000
> > @@ -2077,8 +2077,8 @@ inteldrm_doswitch(void *v)
> > struct drm_device *dev = &dev_priv->drm;
> > struct rasops_info *ri = &dev_priv->ro;
> >
> > - rasops_show_screen(ri, dev_priv->switchcookie, 0, NULL, NULL);
> > drm_client_dev_restore(dev);
> > + rasops_show_screen(ri, dev_priv->switchcookie, 0, NULL, NULL);
> >
> > if (dev_priv->switchcb)
> > (*dev_priv->switchcb)(dev_priv->switchcbarg, 0, 0);
> > @@ -2094,8 +2094,8 @@ inteldrm_enter_ddb(void *v, void *cookie
> > if (cookie == ri->ri_active)
> > return;
> >
> > - rasops_show_screen(ri, cookie, 0, NULL, NULL);
> > drm_client_dev_restore(dev);
> > + rasops_show_screen(ri, cookie, 0, NULL, NULL);
> > }
> >
> > int
> >
> >
> > --
> > Walter
> >
--
Walter
Intel GPU, ghosting after zzz or ZZZ