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

  • For people like me who want to get their non-tech friends and family using Ubuntu, it's this kind of user-interface thing that really makes the difference. See also this other touchpad weirdness – LondonRob Feb 1 at 13:59
  • Well, I ended up returning the laptop after 2 weeks of fighting with random touchpad bugs, fan control, wake from sleep issues and randomly poor battery life. It's a shame though - the machine was really good and Linux actually fits what I do better. I really like the security and privacy, but a laptop is a vital tool for and I need it to "just work" – Yuriy K. Feb 2 at 18:42
  • I agree. It's hard to convince people that Ubuntu is good if stuff like fan and touchpad don't just work out the box. – LondonRob Feb 4 at 16:22

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.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.