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

Jeremiah Mahler
2015-01-24T06:57:38Z

all,

On Tue, Jan 20, 2015 at 06:48:42AM +0100, Daniel Vetter wrote:
> 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

Just checking if anyone has come up with a fix. I am still stuck at
next-20150112 because of this bug.

--
- Jeremiah Mahler