Bug 99000 - Expose an acceleration setting that changes the magnitude of the current profile
Summary: Expose an acceleration setting that changes the magnitude of the current profile
Status: RESOLVED FIXED
Alias: None
Product: Wayland
Classification: Unclassified
Component: libinput (show other bugs)
Version: 1.5.0
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Peter Hutterer
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 98535 98839
Blocks:
  Show dependency treegraph
 
Reported: 2016-12-05 16:49 UTC by Nate Graham
Modified: 2017-01-04 15:07 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Nate Graham 2016-12-05 16:49:18 UTC
Fedora 25 + GNOME 3.22 + wayland + libinput 1.5.2

Libinput already exposes several pointer acceleration profiles, but I find that none of them really work for me. I'd like a setting exposed that controls the *magnitude* of the acceleration curve of whatever profile you're using.
Comment 1 Nate Graham 2016-12-05 16:52:55 UTC
Here's where this came from: I just tried out the Mint 18.1 beta, which uses the old Synaptics driver, and the settings app exposes two sliders: speed and acceleration. Within 30 seconds I had the pointer behaving *perfectly* for me and going back to libinput in Fedora was frustrating. Movement was smooth and well-interpolated; at high finger speeds the pointer moved quickly; at slow finger speeds, the pointer moved slowly.

With libinput, slow finger movement in particular is too fast with all the existing acceleration profiles: https://bugs.freedesktop.org/show_bug.cgi?id=98839
Comment 2 Peter Hutterer 2016-12-06 07:18:50 UTC
Synaptics pointer acceleration is a random number generator, it's hard to figure out what exactly it does. See:
https://who-t.blogspot.com.au/2016/09/synaptics-pointer-acceleration.html

What laptop are you on? what does the touchpad-edge-detector tool say about your touchpad?
Comment 3 Nate Graham 2016-12-06 22:47:36 UTC
I'm not asking for the synaptics behavior to be duplicated; I understand the issues with its spaghetti code. I just want more user control over the acceleration magnitude. Not even the curve itself, just the magnitude (though being able to change the curve would be nice, at least right now when there are so many complaints with the acceleration profile).

The hardware is a Synaptics touchpad on an HP Spectre X360 (Kaby Lake, 2016 model). Here's the output:

$ sudo touchpad-edge-detector 118x58 /dev/input/event4
Touchpad SynPS/2 Synaptics TouchPad on /dev/input/event4
Move one finger around the touchpad to detect the actual edges
Kernel says:	x [1302..5640], y [1116..4740]
Touchpad sends:	x [1302..5641], y [1115..4740] |^C

Touchpad size as listed by the kernel: 117x56mm
User-specified touchpad size: 118x58mm
Calculated ranges: 4339/3625

Suggested udev rule:
# <Laptop model description goes here>
evdev:name:SynPS/2 Synaptics TouchPad:dmi:bvnAmericanMegatrendsInc.:bvrF.04:bd09/26/2016:svnHP:pnHPSpectrex360Convertible13-w0XX:pvr:rvnHP:rn827E:rvr94.27:cvnHP:ct31:cvrChassisVersion:*
 EVDEV_ABS_00=1302:5641:37
 EVDEV_ABS_01=1115:4740:63
 EVDEV_ABS_35=1302:5641:37
 EVDEV_ABS_36=1115:4740:63
Comment 4 Peter Hutterer 2016-12-21 03:21:36 UTC
See bug 98535, please try libinput master and report back whether this improves things. Thanks
Comment 5 Nate Graham 2016-12-22 03:24:32 UTC
It does improve things, definitely. However this problem report is a request for a user-configurable acceleration setting. I take it that's getting vetoed? It would still be really nice to have that IMHO.
Comment 6 Peter Hutterer 2016-12-22 03:31:46 UTC
well, basically: if we don't need it, we don't need to add it. options that aren't actually used are a real drag on maintenance, especially options that are generic enough that users may use them for unrelated things (see the xkcd workflow comic).

The request is a bit generic as-is, I understand there were issues with the touchpad's acceleration and I'm happy to keep tweaking it (or take patches doing so) but I'd like to know more specific reasons for this request. After all, "faster horses" may not be the ideal solution :)
Comment 7 Nate Graham 2016-12-22 03:47:45 UTC
Would "older whiskey" be a better solution? ;)

As someone who has maintained software myself, I understand. Also I gotta say, after applying your latest patch and then disabling hysteresis, pretty much all of my movement-based concerns have disappeared. So I would be willing to close this request if we can come to some sort of agreement about either exposing a hysteresis/"smooth touchpad movement" option or otherwise somehow get rid of it for hardware that doesn't need it.
Comment 8 Peter Hutterer 2017-01-04 07:03:17 UTC
Follwing bug 98839 - I need to know whether this is still an issue with RMI4 on your touchpad. Sorry about posting this in every bug report, but they are easier to process one-by-one rather than linking them together.
Comment 9 Nate Graham 2017-01-04 15:07:51 UTC
Yes, I'm running with a version of the 4.10 kernel which has the RMI4 patches applied.

Regardless, this isn't an issue anymore for me. The motion profiles feel good and scale appropriately with the "speed" slider.

The setting I really want exposed is for hysteresis. I'll lobby for that in https://bugs.freedesktop.org/show_bug.cgi?id=98839


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.