cross-posted from: https://lemmy.blahaj.zone/post/38617525

This DKMS module allows you to overclock some USB devices by overriding their endpoints’ bInterval values in the device descriptors – if the device physically allows you to poll it at higher frequency and will give you more data.

Back on Windows this (with the same method) was rather trivial using the “hidusbf” program. And ever since moving to Linux I was pretty annoyed I didn’t have a similarly simple enough way of doing the same thing. So basically I guess I had no choice but to make one.

And the module allows doing that for theoretically any USB device without patching and re-compiling the kernel. Installation instructions are in the README (there’s .deb, .rpm and AUR packages):

https://github.com/p0358/usb_oc-dkms

So let me know what you think, and if you managed to overclock any gamepads or other devices, or want to try.

    • p0358@lemmy.blahaj.zoneOP
      link
      fedilink
      arrow-up
      16
      ·
      edit-2
      4 days ago

      Lower effective input latency, higher input smoothness (the latter perceivable probably only on displays with higher refresh rates). That’s of course only for USB input devices (gamepads, mice, maybe keyboard), as for other types of devices idk.

      But do note that only some devices will allow you to do this. For gamepads, the site gamepadla.com has a bunch of OC results made by Windows gamers. For mice, I saw some threads on some forums at some point (my mouse is natively 1000 Hz, so I didn’t focus on this)

      EDIT: But like the difference can be really perceivable, it’s not a placebo. Especially on something like 240 Hz screen, the difference between say 125 Hz and 1000 Hz polling is just jarring. But it’s rare a 125 Hz mouse could be brought up this much, usually its sensor wouldn’t even be precise enough if it was shipped at such low polling.

      But for example my controller could be overclocked from 250 to 1000, but 500 was the sweet spot in how it felt, while at 1000 it was unstable with some lags from time to time. But 500 was working perfectly and felt smoother.

      Also notably the PS5’s DualSense can be overclocked from 250 to 1000 Hz (people claim 8000, but apparently it’s actually a lie)

  • ace_garp@lemmy.world
    link
    fedilink
    arrow-up
    5
    ·
    3 days ago

    Hey, I’m interested in this project.

    I recently got a MX Master 3S mouse that, according to various posts, can only poll at 125Hz.

    Looking to test the existing poll rate, and see if your module can up it.

    Will report back after testing.

    • p0358@lemmy.blahaj.zoneOP
      link
      fedilink
      arrow-up
      3
      ·
      3 days ago

      Ah, my friend happens to have the exact same mouse. Unfortunately, we tested it, and apparently the wireless dongle it’s using already polls at 1000 Hz aka bInterval 1 (probably the dongle was made with wider mouse model support range in mind), so unfortunately we weren’t able to overclock it at all with this method… :( (we only did his Sony DualSense controller) Well, that’s unless you’d happen to have a different revision or something where that maybe wouldn’t apply? Also I see it has USB-C plus and I’m embarrassed to admit we didn’t try that, so who knows xD

      He saw how 1000 Hz feels on my machine and said he wants to replace his mouse ever since, since that smoothness feeling has stuck in his mind ever since lol

      • ace_garp@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        3 days ago

        Thanks for the insight.

        AFAIK the USB-C port can not be used for wired connection.

        The MX master seems to be internally hobbled at 125Hz(would love to be proved wrong on this). Online mouse-polling check-sites show it polling at around 120-130Hz.

        I’ll keep my previous Rival 300 plugged in, and switch to it where necessary. (Also just found out about rivalcfg to try and get some more tweaks from that mouse.)

        Thanks for your work on this project. I’ll keep playing around with it.