Touchpad scroll slower

For some strange reason, scroll speed has been a problem in Wayland forever. I last used Linux properly in around 2019 and that was when Wayland was just starting to be used in mainstream distros. Touchpad input was already being handled and controlled by a new framework, libinput, and it was unable to handle scrolling properly.

It is honestly beyond me how there are thousands of YouTubers and bloggers posting about switching to Linux every day and I haven't heard a single one of them complain about the touchpad scroll speed. As far as I'm aware, this is a universal problem throughout all Wayland+LibInput systems, and it is even more pronounced in Chromium-based browsers. Honestly, the scrolling in those is like it is on aderall.

There is a solution. I don't know how it works but someone made it back in 2021, based on someone else's earlier code. I have no idea why it hasn't been incorporated into the main code. The latest release from this wonderful developer was in 2023. As with most custom code solutions, the only distribution that makes it easy to install is Arch.

1. Install the code

On Arch

Not on Arch

  • Download the project from here:

https://gitlab.com/warningnonpotablewater/libinput-config

  • install the project build dependencies:

sudo apt install python3-pip ninja-build libinput-dev libudev-dev
 
sudo pip3 install meson
  • build the source code:

meson build
cd build
meson configure -Dnon_glibc=true

* this one ↑ is perhaps unnecessary but I think it protects you from borking your system and causing it to not even boot up.

ninja
sudo ninja install

2. Create the .conf file

  • create the text file libinput.conf in /etc/

  • put this in it:

override-compositor=enabled
scroll-factor=0.075
  • log out and log back in

  • it should work!

  • tweak the scroll-factor property as you wish. I think it affects the scroll speed immediately, no need to log out and in.

Uninstalling the code

you can uninstall it later if you need to but you need to keep the build files to do so!

cd build
sudo ninja pre-uninstall uninstall

Sources

Last updated