Oh no! This site works best on Firefox. It looks like you are using a Chromium-based browser (Chrome, Edge, Opera, etc.) 😭
To help save the open web and protect your privacy, you should give Firefox a try!

Perfect Firefox Trackpad Sensitivity on Wayland

TL;DR at the bottom.

The general trackpad situation on a modern laptop with GNOME on Wayland is fantastic, these days! The only things I still tweak, are scroll sensitivity in libinput for GTK3 applications, and for Firefox. Both for the same reason: they scroll way too fast. I want the good ol' page-sticks-to-my-fingers scroll experience.

When I set up my new work laptop recently, I realized two things. Firstly, that my go-to trackpad settings were still not turned on by default in Firefox (as of Firefox 124.0), and secondly, that these settings are pretty hard to find if you don't know what you're looking for.

The 'Pixel-based' Delta Mode

Mozilla added a new 'pixel-based' scrolling mode to Firefox, two years ago, in response to users' complaints about too fast scrolling on Wayland. The pixel-based kinetic_scroll.delta_mode will calculate deltas on a per-pixel basis, allowing for more granular control of the scrolling speed.

To turn it on, switch this delta_mode to 2 for both kinetic_scroll and pandgesture settings. (Copy the following to your user.js or search for the settings in about:config)

user_pref("apz.gtk.kinetic_scroll.delta_mode", 2);
user_pref("apz.gtk.pangesture.delta_mode", 2);

There's a modifier for both deltas, called pixel_delta_mode_multiplier that sets the pixels per movement, effectively allowing for granular control of the sensitivity of each 'swipe'. If you like the default speed with this new mode turned on, you don't need the modifier. For me, this was still too fast, so I reduced both scrolling and panning to 20.

user_pref("apz.gtk.kinetic_scroll.pixel_delta_mode_multiplier", "20");
user_pref("apz.gtk.pangesture.pixel_delta_mode_multiplier", "20");

Asynchronous Panning and Zooming (APZ)

The settings under the apz prefix looked all pretty interesting, so I started experimenting with other settings. Another one I can recommend is:

user_pref("apz.overscroll.enabled", true);

This will add an overscroll animation on the top and bottom of the page, giving a nice visual feedback when you reached the end of a page.

TL;DR

If Firefox scrolls too fast for your taste on Wayland, add these to your user.js or change them in about:config.

user_pref("apz.gtk.kinetic_scroll.delta_mode", 2);
user_pref("apz.gtk.pangesture.delta_mode", 2);
user_pref("apz.gtk.kinetic_scroll.pixel_delta_mode_multiplier", "20");
user_pref("apz.gtk.pangesture.pixel_delta_mode_multiplier", "20");
user_pref("apz.overscroll.enabled", true);
Do you have any questions or thoughts on this post? Send me a message!