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 10:12:31 +0200 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); 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