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?

  • rtxn@lemmy.world
    link
    fedilink
    arrow-up
    4
    ·
    edit-2
    2 months ago

    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:

    • open the /etc/default/grub file with root privileges
    • find the line starting with GRUB_CMDLINE_LINUX_DEFAULT=...
    • insert module_blacklist=hid-logitech-hidpp to the end separated by a single space
    • save the file
    • run grub2-mkconfig -o /boot/grub2/grub.cfg as root to apply the changes
    • reboot

    This 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.

    • jws_shadotak@sh.itjust.worksOP
      link
      fedilink
      arrow-up
      1
      ·
      2 months ago

      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.

      if you have a Bolt dongle, try using that instead of Bluetooth.

      I use the unifying receiver that came with the mouse.

    • jws_shadotak@sh.itjust.worksOP
      link
      fedilink
      arrow-up
      1
      ·
      1 month ago

      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.

      • rtxn@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        1 month ago
        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, press e on the GRUB screen to make sure the boot parameters are passed correctly.

        • jws_shadotak@sh.itjust.worksOP
          link
          fedilink
          arrow-up
          1
          ·
          1 month ago

          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.

          • rtxn@lemmy.world
            link
            fedilink
            arrow-up
            2
            ·
            edit-2
            1 month ago

            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.

            • jws_shadotak@sh.itjust.worksOP
              link
              fedilink
              arrow-up
              1
              ·
              1 month ago

              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.

              • rtxn@lemmy.world
                link
                fedilink
                arrow-up
                2
                ·
                edit-2
                1 month ago

                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)

                • jws_shadotak@sh.itjust.worksOP
                  link
                  fedilink
                  arrow-up
                  1
                  ·
                  1 month ago

                  Alright, I found a solution based on the last comment on that bug report!

                  Scrolling applications in plasma task switcher with G903 Lightspeed (wireless mode) is so fast that is unusable, but sudo modprobe -r hid_logitech_hidpp fix this, are these bugs all related?

                  Using that command turned every tiny scroll input into a full scroll. Pairing that with Solaar, disabling smooth scrolling, now everything works correctly!