Skip to content

Instantly share code, notes, and snippets.

@djalexkidd
Last active August 2, 2025 17:29
Show Gist options
  • Save djalexkidd/b004f29a07f0c28c988527a95a72dd4e to your computer and use it in GitHub Desktop.
Save djalexkidd/b004f29a07f0c28c988527a95a72dd4e to your computer and use it in GitHub Desktop.
Disable hi-resolution scrolling on Linux

If your mouse wheel behaves weirdly in games, you may need to disable high resolution scrolling in modprobe or xinput/libinput settings. This is a common problem on Logitech gaming mouses.

Method 1 : Using modprobe

  1. Unload "hid_logitech_hidpp" kernel module
sudo modprobe -r hid_logitech_hidpp
  1. To disable it permanently, blacklist the module in /etc/modprobe.d/blacklist.conf
echo "blacklist hid_logitech_hidpp" | sudo tee -a /etc/modprobe.d/blacklist.conf
  1. Reboot

Method 2 : Using xinput/libinput

X.Org

  1. List all devices
xinput list
  1. Set high resolution to 0 (replace 9 with your mouse device id from the first command)
xinput set-prop 9 "libinput High Resolution Wheel Scroll Enabled" 0
  1. To disable it permanently, create a file in /etc/X11/xorg.conf.d/
sudo nano /etc/X11/xorg.conf.d/99-libinput-no-hires-scroll.conf
  1. Put this
Section "InputClass"
  Identifier "Disable high-resolution scrolling"
  MatchDriver "libinput"
  Option "HighResolutionWheelScrolling" "off"
EndSection
  1. Reboot

Wayland

  1. List all devices
libinput list-devices
  1. Create a file named "local-overrides.quirks" in /etc/libinput/
sudo nano /etc/libinput/local-overrides.quirks
  1. Put this (Make sure to change MatchName with your device name shown with the first step)
[Logitech G502]
MatchName=Logitech G502
AttrEventCode=-REL_WHEEL_HI_RES;-REL_HWHEEL_HI_RES;
  1. Reboot
@djalexkidd
Copy link
Author

@dasmikko I updated the gist with a new method. Try it again with sudo modprobe -r hid_logitech_hidpp.

@dasmikko
Copy link

@dasmikko I updated the gist with a new method. Try it again with sudo modprobe -r hid_logitech_hidpp.

Didn't work for me sadly. :(

@Aircraft192
Copy link

This doesn't seem to work in the latest libinput version 1.29 anymore. I have to downgrade libinput to get it to work again. There seems to be an issue on this: https://gitlab.freedesktop.org/libinput/libinput/-/issues/1160

They have fixed this. Until it rolls out, possible workarounds are:

I have been using version 1.27.1-1 on Fedora 42 and it works great. Just keep in mind that with each new update libinput will get upgraded too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment