I just switched from Windows 10 to Bazzite with KDE 6. I have experience with linux before, but not as a main OS. I have a Logitech Performance MX. I used SetPoint on Windows to fine-tune things.
For some reason, my scroll wheel acts differently in almost every program. Firefox is the only one that feels normal. My scroll wheel clicks as I scroll, and in Windows that would do 3 lines up or down.
Nothing except Firefox follows the clicking, so all my scrolling is super fine-grained as if I were scrolling with a trachpad. I tried Solaar and that gave me an option to turn off smooth scrolling, but now I need to scroll 6 or more times to see any movement. Increasing sensitivity in KDE just means after 6 times of nothing, the next one is a huge leap. There’s no middle ground it seems and I’m losing my mind trying to fix this.
Is there anything else I can do?
I had the same issue with the MX Master 3S. It’s caused by the hi-res scroll wheel feature of Logitech’s HID++. If you have a Bolt dongle, try using that instead of Bluetooth.
If that’s not a fix, try blacklisting the
hid-logitech-hidpp
kernel module.Arch wiki article about module blacklisting: https://wiki.archlinux.org/title/Kernel_module#Blacklisting
About kernel parameters in GRUB (should be the default bootloader in Bazzite): https://wiki.archlinux.org/title/Kernel_parameters#GRUB
The easiest way to do it in GRUB is to:
/etc/default/grub
file with root privilegesGRUB_CMDLINE_LINUX_DEFAULT=...
module_blacklist=hid-logitech-hidpp
to the end separated by a single spacegrub2-mkconfig -o /boot/grub2/grub.cfg
as root to apply the changesThis will prevent loading the HID++ module entirely. The OS then shouldn’t be able to interpret high-res scroll events. You’ll also have to enable or disable the scroll wheel resolution in Solaar to handle it properly.
(edit) tested in a Bazzite VM and updated the steps.
I can’t wait to try this when I get home today. I can’t thank you enough for the details. I’ll let you know how it goes later.
I use the unifying receiver that came with the mouse.
No dice :/
This is my original grub file:
GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="rhgb quiet" GRUB_DISABLE_RECOVERY="true" GRUB_ENABLE_BLSCFG=true
I added:
GRUB_CMDLINE_LINUX_DEFAULT="module_blacklist=hid-logitech-hidpp"
and that didn’t work.
I also tried this:
GRUB_CMDLINE_LINUX="rhgb quiet" "module_blacklist=hid-logitech-hidpp"
and that didn’t work.
Either I’m formatting this incorrectly, or my setup is different somehow.
GRUB_CMDLINE_LINUX="rhgb quiet module_blacklist=hid-logitech-hidpp"
and don’t forget to run
sudo grub2-makecfg -o /boot/grub2/grub.cfg
to apply the changes. When you reboot, presse
on the GRUB screen to make sure the boot parameters are passed correctly.Still not working :/
I looked at the boot parameters and the blacklist was not on there, so I typed it it and booted and it still didn’t work.
Hmm… this might break the OS completely, but you could delete the module’s binary files. Can’t load it if it doesn’t exist in the first place.
Run
find /lib/modules -iname '*hidpp*'
and move the files it found to a location where you can recover them later if needed, then reboot.Hell, this is worth a shot.
I 'm already shopping around for a new distro because of this. Games are completely unplayable because of the scroll wheel. The tiniest movement will swap weapons, even if I’m not touching the wheel at all.
If you decide to ditch Bazzite, try either Garuda or EndeavourOS. They’re both Arch-based, which is not something I’d recommend for a beginner, but the rolling release will ensure that you always have the latest software.
I’ve found some more workarounds for a similar scrolling-related HID++ issue: https://bugzilla.kernel.org/show_bug.cgi?id=216885#c52 (I know I used dash instead of underscore in the module names, it shouldn’t matter since they’re automatically converted)
Alright, I found a solution based on the last comment on that bug report!
Using that command turned every tiny scroll input into a full scroll. Pairing that with Solaar, disabling smooth scrolling, now everything works correctly!