cross-posted from: https://feddit.it/post/23350094

what are your experiences using game controllers with linux, I’m especially interested in the xbox series s controller because it’s the one I have, but I’m also interested in other controllers. From my experience the latency is disappointing, but I have no way of proving it.

So, I primarily use this controller in bluetooth mode using xpadneo. There’s definitely noticeable latency, but in most games it’s fine, I played through a lot of games without bother… until I played Conker: Live and Reloaded. On the infamous race level, it took me like two days to pass it, and I only made some progress when i connected the cable and dropped BT. Even that was fine though, It was just one old game and just one level, there could be a number of things to blame for that. Come hollow knight, as the game got harder after beating Hornet, it quickly became apparent that I couldn’t get far without the cable, save for traversing the world, still, not that bad… until I got to fight radiance. It has been extremely frustrating, I tried it for days and eventually I started just doing a few attempts every few days, without any improvement, finding it hard to get to the second phase. Today I visited my parents and in the late evening decided to try it on a windows computer I left here, mind you, the last time I played was more than a week ago. So, I start the game, plug the same controller in, with the same cable, I beat Radiance on the fucking first try, with half health bar left…

It literally happened 10 minutes ago, I’m still riled up, this doesn’t make sense, this has to be latency, there is no way I got that better just like that, It is literally impossible.

So, after all that, I need to unfuck the latency of my controller someway… Ok, it’s fine on most games, but this situation is… frustrating

  • Chewy@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    1 day ago

    In my experience Bluetooth is really bad because of its inconsistent latency. Even if the latency doesn’t appear to be much higher than with cable/2.4GHz dongle, it feels much worse (similar to WiFi Vs Ethernet).

    It’s likely these issues are worse because my Bluetooth dongle isn’t great, but I avoid Bluetooth like the plague if I want to have a good experience.

    Edit: Though I have to say that taking a break from something after trying for a while without improvement can actually result in rapid improvement. A part of it is mindset (calm, without expectations) but I do believe the break also helps the brain to learn/reinforce.

  • tal@lemmy.today
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    2 days ago

    I would guess that you’ll normally find that (a) there will be higher latency (especially worst-case latency) on Bluetooth interfaces than USB interfaces:

    According to this:

    https://gamepadla.com/xbox-core-controller.html

    You have average/max USB latency of 8.3 ms/12.23 ms.

    You have average/max dongle latency of 8.88 ms/14.64 ms.

    You have average/max Bluetooth latency of 12.98 ms/20.89 ms.

    For the wireless protocols, I expect that the amount of interference where you are will also be a factor.

    It looks at least at one point, there was an issue with those controllers not specifying the polling rate that they actually wanted. I don’t know if you have one of this particular generation, but you might try the specified workaround:

    https://github.com/atar-axis/xpadneo/commit/15801c6c0421957190193fec3f371a353111c12e

    It looks like the above patch is still present in current xpadneo, so I assume that the issue remains:

    https://atar-axis.github.io/xpadneo/#troubleshooting

    High Latency or Lost Button Events with Bluetooth LE

    Affected models: Xbox controllers using Bluetooth LE (Xbox Series X|S or later)

    While using new Xbox Series X|S controller, you may experience laggy or choppy input, also button presses may be lost or delayed. This problem only affects Bluetooth LE controllers, the older models are not affected by these settings even if you think you may see such a problem.

    A proper solution is still missing but we isolated it to the Bluetooth LE connection parameters for latency and intervals. The bluez developers say that the connected device should suggest the best settings, the bluez daemon only ships sensible default settings. It looks like the new Xbox controllers do not properly suggest their preferred connection parameters, some BLE mice show the same problem. You can work around it by changing the bluez defaults instead. This change is not recommended by the bluez developers but as long as you only use a very specific set of BLE devices, this change should be fine.

    The controller uses 100 Hz internally for its protocol, so we decided to use intervals of 8.75…11.25ms. Each tick is 1.25ms, so we end up with MinConnectionInterval=7 and MaxConnectionInterval=9. If you already use a similar work-around for other devices, you may need to adjust your settings to the proper bounds, i.e. do not increase the min value, do not lower the max value.

    Edit the following file and restart the Bluetooth service or reboot:

    # /etc/bluetooth/main.conf
    [LE]
    MinConnectionInterval=7
    MaxConnectionInterval=9
    ConnectionLatency=0
    
    • edinbruh@feddit.itOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      23 hours ago

      The Bluetooth LE settings shouldn’t be necessary for me anymore, I think the package I’m using for xpadneo already packages some settings. Inbefore, that issue would cause latency in the tenths of seconds (not even close to milliseconds) and was extremely noticeable

  • infeeeee@lemmy.zip
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    2 days ago

    I have 3, played through multiple platformer games with friends, but I haven’t experienced any noticeable latency, I use them only with bluetooth. I also use xpadneo

    Have you tried updating the firmware from a windows VM? You need the xbox accessories app there, I think you can upgrade the firmware without a microsoft account. Connect the controller with a wire and pass it through to the VM, and upgrade from the app there.

    I also needed to pair it first in the VM, without it BT didn’t work. I just followed everything from the ArchWiki: https://wiki.archlinux.org/title/Gamepad#Connect_Xbox_Wireless_Controller_with_Bluetooth