I recently bought a Dell Precision 5530 with Ubuntu and noticed that the trackpad scrolling worked much better than on my Thinkpad 470, both running Ubuntu 18.04 (and now 18.10). Both use libinput but on the Dell kinetic/inertia scrolling works great. I realize that libinput doesn't implement kinetic scrolling by design, but somehow it works very well on Dell. When I install vanilla Ubuntu 18.xx on dell, touchpad works like crap; if I install their 16.04 image and then upgrade, touchpad works great. There are a few other little things that work better with Dell's image, such as better fan control/power management, etc. I'm a bit of a Linux noob, so I'm trying to figure out where the magic sauce can be. I would like to figure out how to get the touchpad working as well with stock image, and possibly replicate it on the Thinkpad as well. I'd appreciate if someone could point me in the direction I need to be looking at. Thank you Yuriy
Probably the 16.04 is using the deprecated synaptics driver. This one have implemented kinetic scrolling. This link in particular has a link to this bugreport. TL;DR of which: kinetic scrolling being implemented in synaptics turned out to be a design error. It led to nasty bugs, such as that if you scrolled, and pressed Ctrl before scroll stopped, the app you're scrolling would trigger zoom-in or zoom-out. It's because kinetic scrolling is implemented by continuous sending of scrolling events, and the app have no way to differ real and fake scroll events.
Worse: the proper way to implement that is in GUI toolkits, i.e. GTK+ and Qt (and maybe EFL, though it's little known outside of Enlightement Desktop Environment), but if you have kinetic scrolling in driver + kinetic scrolling in toolkit — you can expect this to end up in mess.
GTK+ have implemented kinetic scrolling, e.g. it works for me in
evince app, version 3.30 for evince, and 3.24 for GTK.
Qt I don't know. I found some blog-post saying that kinetic scrolling was implemented for everything in 2009, but I can't reproduce it in Okular, nor Qutebrowser, nor Kate, so it's definitely untrue.