Re: [Intel-gfx] [BUG, bisect] drm/i915: mouse pointer lags and overshoots

Daniel Vetter
2015-01-20T05:48:49Z

On Mon, Jan 19, 2015 at 08:40:24AM -0800, Matt Roper wrote:
> On Mon, Jan 19, 2015 at 11:04:04AM +0000, Chris Wilson wrote:
> > On Mon, Jan 19, 2015 at 11:51:43AM +0100, Daniel Vetter wrote:
> > > There's also an issue in (most) X drivers which exaberates this
> > > issues: When changing the cursor buffer the X cursor code does a a)
> > > disable cursor b) update cursor image c) enable cursor cycle.
> >
> > Notably not -intel on which the bug has been observed. And more
> > importantly, the slow downs don't seem to correlate with cursor change,
> > just cursor movement.
> > -Chris
> >
> > --
> > Chris Wilson, Intel Open Source Technology Centre
>
> It seems that the simple fix for this case (movement only) is to just
> skip the prepare_fb/cleanup_fb calls (and the associated vblank wait) in
> the transitional plane helper when newfb == oldfb. I just posted a
> small patch that makes that change (and solves the cursor lag for me).
>
> This won't solve the case if userspace uses a different framebuffer for
> each update (while trying to update faster than the refresh rate). Is
> there any existing userspace that behaves this way that we can test
> with?

Hm, I've thought I've merged that patch already:

commit ab58e3384b9f9863bfd029b458ff337d381bf6d2
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date: Mon Nov 24 20:42:42 2014 +0100

drm/atomic-helper: Skip vblank waits for unchanged fbs

Or is the problem here that the transitional plane helpers aren't up to
the task? If so please reference that in your patch.

And we still need a hack for the "changed fb cursor" issue, I'll whip
something up.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch