Mir

Code review comment for lp:~andreas-pokorny/mir/load-all-supported-input-platforms

Revision history for this message
Andreas Pokorny (andreas-pokorny) wrote :

(2) I just improved logs with lp:~andreas-pokorny/mir/better-input-device-related-logs
We should really consider having something like a severity filter..

Ok I misunderstood (3) and (4) so what I just tried on lp:mir was:

A: Resampling with input-evdev:
export MIR_CLIENT_INPUT_RATE=59
mir_demo_server --platform-input-lib ../lib/server-modules/input-evdev.so.4 --launch-client=./mir_demo_client_fingerpaint

B: Resampling with android input
export MIR_CLIENT_INPUT_RATE=59
mir_demo_server --launch-client=./mir_demo_client_fingerpaint

C: No resampling with input-evdev
export MIR_CLIENT_INPUT_RATE=0
mir_demo_server --platform-input-lib ../lib/server-modules/input-evdev.so.4 --launch-client=./mir_demo_client_fingerpaint

D: No resampling with android input
export MIR_CLIENT_INPUT_RATE=0
mir_demo_server --launch-client=./mir_demo_client_fingerpaint

using a cheap USB MS mouse on top of libinput-1.1.0 with my patches

A and B look nearly identical - mouse moves slightly faster than with android input but there are ugly gaps/jumps .. in both cases every 5 or 10 seconds in the trace drawn by fingerpaint.

C and D look nearly identical - mouse moves slightly faster than with android input but there in both cases the trace displayed is smooth and sticks close to the cursor. Additionally there is no odd jump in both the data sets. As opposed to the resampled cases the plotted squares have a similar distance and give a good indication of mouse movement.

I repeated A and B a few times and I was able to reproduce the odd jumps for A and B sometimes. It seems that the resampling is very sensitive to scheduling. My conclusion from that:
we should make sure that we only use resampling when we have a horrible input device (driver) or when the client is unable to process the user input fast enough. Additionally we should spend the next 14 month with verifying that the algorithm yields proper results.

PS: I did mess with android input in the past and found the bug that disabled the pointer acceleration:
https://code.launchpad.net/~andreas-pokorny/mir/activate-pointer-acceleration
Not sure if it still works..

« Back to merge proposal