Mir

[regression] Motion event smoothness lost with the introduction of libinput

Bug #1522295 reported by Daniel van Vugt
20
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Mir
Triaged
Medium
Unassigned
mir (Ubuntu)
Triaged
Medium
Unassigned

Bug Description

[regression] Motion event smoothness lost with the introduction of libinput.

Using a mouse and mir_demo_client_fingerpaint and drawing smooth curves, you can see that the introduction of libinput has made the event stream more jagged and irregular in Mir 0.18, compared to Mir 0.17.

This issue was first reported in:
https://code.launchpad.net/~andreas-pokorny/mir/load-all-supported-input-platforms/+merge/274421

Related branches

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

It's possible that simply disabling libinput's acceleration logic will solve this.

description: updated
tags: added: pointer-events
Changed in mir:
assignee: nobody → Daniel van Vugt (vanvugt)
status: Triaged → In Progress
Changed in mir:
status: In Progress → Incomplete
Revision history for this message
Andreas Pokorny (andreas-pokorny) wrote :

add more information the problem you describe might be caused by specific settings or input devices. Or honestly on second thought the description sounds like a natural consequence of drawing an accelerated object in constant time intervals. Due to apparent change in velocity the resulting dots will have a varying.

btw since resampling does not improve mouse movement but instead increases latency, this MP ensures InputTransport knows that the coordinates originate from a pointing device: lp:~andreas-pokorny/mir/cleanup-event-input-transport-conversion

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Description updated with more detail. I'm only missing before and after screenshots, but I'm sure you don't need that.

Also worth noting the workaround for a related bug does not help with this one, it seems...
https://bugs.launchpad.net/mir/+bug/1524145/comments/4

description: updated
Changed in mir:
status: Incomplete → Triaged
importance: High → Medium
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I initially thought the same; that an erratic curve sounds like a natural consequence of acceleration.

However I now think it really is just a consequence of the acceleration (2nd derivative of position) being non-continuous. Which you can see in these graphs here:

http://wayland.freedesktop.org/libinput/doc/latest/pointer-acceleration.html

I suspect if libinput used a smooth acceleration curve then there would not be a problem.

Changed in mir:
milestone: 0.19.0 → none
assignee: Daniel van Vugt (vanvugt) → nobody
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:mir at revision None, scheduled for release in mir, milestone 0.20.0

Changed in mir:
status: Triaged → Fix Committed
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

That's not a fix that landed, but a handy workaround.

Changed in mir:
status: Fix Committed → Triaged
tags: added: libinput
Revision history for this message
Michał Sawicz (saviq) wrote :

Syncing task from Mir.

Changed in mir (Ubuntu):
importance: Undecided → Medium
status: New → Triaged
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.