Logitech MX Master vertical scroll issue

After using Manjaro with Logitech MX Master 3 mouse for a few days, I noticed that vertical scroll doesn’t work the same way as on Fedora.
First of all, I use Solaar with the following settings:

Solaar configuration

What I noticed:

  • In the ratchet mode there is still some scrolling happens when I move the wheel for a less then one step of a ratchet.
  • In the Dolphin file manager, Ctrl + Scroll to zoom doesn’t work reliably. I need to scroll really fast to actually zoom in/out
  • In the Firefox the first scroll step is sometimes skipped

I tried switching to LTS kernel 5.10 but the issues persist.
I don’t have all these issues on my Fedora 35 test system and I’m wondering what is causing the difference. The Solaar setup on Fedora is exactly the same.

Additional info

Kernel version: 5.15.16-1
libinput version: 1.19.3-1
xorg-xinput version: 1.6.3-2

1 Like

Same issue here.

I use the middle mouse button to open a link in a new tab 25-100 times a day, and it’s incredibly difficult in Manjaro with KDE. The mouse wheel has absolutely no deadzone / detent, so when I press the middle mouse button it will scroll the webpage by just enough to miss the link. Sometimes it takes 3-5 tries to actually hit the link.

EDIT: So I was able to resolve my issue by installing Solaar from the AUR. Then in Solaar I disabled “Scroll Wheel Resolution” which seems to control whether the scrolling is discrete or continuous. I also had to manually make Solaar start on boot using the instructions on the Solaar Github. That made the scrolling discrete, but extremely slow. I was able to fix this by installing libinput-multiplier from the AUR.

The scroll wheel sensitivity is controlled by /tmp/libinput_discrete_deltay_multiplier which is set to 1 by default for me.

I made a scroll-fix.sh script with these contents:

#!/bin/sh
echo 6 > /tmp/libinput_discrete_deltay_multiplier

And made that start with Settings > Startup and Shutdown > Autostart > Add > Add Login Script.

Now the scroll wheel works like it does on every other OS.

1 Like

Thanks for sharing your experience!

After some further searching I found another possible solution on Tumbleweed forum. Seems like the recent release of libinput introduced so called high resolution wheel scrolling. And it doesn’t play well with Logitech MX Master mice.
So the workaround is pretty simple: disable the high resolution scrolling by creating a file /etc/libinput/local-overrides.quirks with the contents:

/etc/libinput/local-overrides.quirks
[Logitech MX Master 3]
MatchVendor=0x46D
MatchProduct=0x4082
ModelInvertHorizontalScrolling=1
AttrEventCodeDisable=REL_WHEEL_HI_RES;REL_HWHEEL_HI_RES;

# MX Master 3 has a different PID on bluetooth
[Logitech MX Master 3]
MatchVendor=0x46D
MatchProduct=0xB023
ModelInvertHorizontalScrolling=1
AttrEventCodeDisable=REL_WHEEL_HI_RES;REL_HWHEEL_HI_RES;

Vendor and Product ID of other Logitech mice can be found here: /usr/share/libinput/30-vendor-logitech.quirks

Hope this will be helpful!

2 Likes

There have been some changes in libinput. This is the current configuration if rockingcat’s solution doesn’t work for you:

[Logitech MX Master 3 USB]
MatchVendor=0x046D
MatchProduct=0x4082
ModelInvertHorizontalScrolling=1
AttrEventCode=-REL_WHEEL_HI_RES;-REL_HWHEEL_HI_RES;

# MX Master 3 has a different PID on bluetooth
[Logitech MX Master 3]
MatchVendor=0x46D
MatchProduct=0xB023
ModelInvertHorizontalScrolling=1
AttrEventCode=-REL_WHEEL_HI_RES;-REL_HWHEEL_HI_RES;
2 Likes

Exactly since Manjaros libinput 1.23.0-1.

And JFTR my /etc/libinput/local-overrides.quirks for the Logitech MX Anywhere 2S:

[Logitech MX Anywhere 2S]
MatchVendor=0x046D
MatchName=Logitech MX Anywhere 2S
AttrEventCode=-REL_WHEEL_HI_RES;-REL_HWHEEL_HI_RES;

More Info on the libinput documentation page:
https://wayland.freedesktop.org/libinput/doc/latest/device-quirks.html
https://wayland.freedesktop.org/libinput/doc/latest/incorrectly-enabled-hires.html

1 Like

Thanks @rafal and @TheInvisible for bringing this up!
The syntax indeed has changed.