Bug 87599 - Crazy pointer behaviour with polynomial acceleration profile and acceleration <1
Summary: Crazy pointer behaviour with polynomial acceleration profile and acceleration <1
Status: RESOLVED MOVED
Alias: None
Product: xorg
Classification: Unclassified
Component: Server/Input/Core (show other bugs)
Version: git
Hardware: All All
: medium normal
Assignee: Xorg Project Team
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-12-22 16:43 UTC by Cameron
Modified: 2018-12-17 17:27 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Cameron 2014-12-22 16:43:48 UTC
== Description ==
If using the polynomial acceleration profile with pointer acceleration below 1, the mouse movement behaves unexpectedly crazy, frequently jumping to the top left of the screen.

== Steps to reproduce ==
1. xinput set-prop <device> "Device Accel Profile" 2 # set acceleration profile to polynomial
2. xset m 10 20 # or anything else where the numerator is less than the denominator

== Result ==
The pointer will often jump to the top left of the screen and otherwise behave unpredictably.

== Possible cause ==
Looking at the code, I see that the polynomial acceleration profile is implemented like so, from dix/ptrveloc.c:

pow(velocity, (acc - 1.0) * 0.5)

I interpret this to mean that if acc is less than one, the exponent becomes negative, which causes the result of pow to approach infinity as velocity approaches zero, which could cause the odd behaviour.
Comment 1 GitLab Migration User 2018-12-17 17:27:45 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/xorg/xserver/issues/585.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.