xpadneo icon indicating copy to clipboard operation
xpadneo copied to clipboard

Uncontrollable drift during games.

Open Noxville opened this issue 3 months ago • 1 comments

Version of xpadneo

v0.9-226-ga16acb0

Controller Model

  • [ ] Xbox One S controller
  • [X] Xbox Elite 2 controller
  • [ ] Xbox Series X|S controller
  • [ ] Other:

Connection mode

  • [X] Bluetooth connection
  • [ ] USB cable (not yet supported)
  • [ ] Xbox Dongle connection (not yet supported)

Installed Software

  • [ ] Anti-Micro (may affect button mappings)
  • [ ] OpenRGB (may mess up mappings and rumble stability)
  • [ ] Steam Input (enabled by default via Steam Desktop client)
  • [X] Steam Link (usually via Raspberry Pi or other micro computers)
  • [ ] devices with QMK firmware (may affect udev rules, similar to OpenRGB)
  • [ ] netstick (shares input devices via network similar to Steam Link)
  • [ ] xboxdrv (user-space gamepad driver)
  • [ ] xone (kernel-space gamepad driver using the Xbox dongle or USB)
  • [ ] xow (alternative driver using the Xbox dongle)

Protocol Information

Please help us identify at which layer the problem can be found if you want to report mapping errors or if the controller fails to be detected:

  • [X] Steam Proton games are having issues
  • [ ] Steam Linux-native games are having issues
    • [X] I don't use Steam or did not try
  • [ ] games running through Lutris, wine and/or Bottles are having issues
    • [X] I don't use Lutris, Bottles, wine or did not try
  • [ ] Linux-native games are having issues
    • [X] I don't use native games or did not try
  • [ ] Other software is having issues (describe software and issues below)
  • [ ] Running evtest is showing issues (describe the issues below)
    • Keep in mind that BTN_NORTH and BTN_WEST are intentionally swapped
  • [ ] Running jstest is showing issues (describe the issues below)
    • [ X] I don't have this tool or don't know how to use it
  • [ ] Running gamepad-tool is showing issues (post console output below)
    • [X] I don't have this tool

Please describe how it is failing below in the next sections.

Severity / Impact

  • [ ] I've read the docs and the bug reporting instructions
  • [X] I've applied the latest firmware update to the controller
  • [ ] I've tried disabling or running without above mentioned software
  • [ ] It does not work at all
  • [ ] It used to work in a previous version
  • [ ] It mostly works but sometimes it doesn't
  • [ ] I found a work-around
  • [ ] I probably didn't figure it all out but it's too early to give up
  • [ ] I don't know how to ...
  • [ ] It's too complicated
  • [ ] Fantastic work but ...
  • [ ] I can code and I want to help

Describe the Bug

I use my Linux laptop to play some games via Proton (LEGO: Lord of the Rings) and also some games via Steam Link and/or Steam Remote streaming (EA FC 2026). When my XBOX Elite 2 Wireless controller is connected and in configuration mode or the menus, it works totally fine - I can flawless navigate through menus, etc. When in some games, the controller frequently has some extremely high and unusable drift - as if someone is holding the analogue stick down (in EA FC it's always towards the top left of the screen, but in LEGO it's most commonly straight up, or straight down, or the right). If I open a menu, the behaviour continues - after about 0.5s, it keeps cycling through the menu options at a rapid pace. If I disconnect the device (via bluetoothctl) and then reconnect it, it works fine for like 20-30 seconds and then it happens again.

Steps to Reproduce

  • Connect controller via bluetooth
  • Load EA FC 2026 via Steam Link or Steam Remote streaming,
  • Start a game within EA FC
  • Insane 'drift' towards the top left of the screen.

Expected Behavior

No drift.

Screenshots / GIFs / Videos

System Information

# uname -a
# Linux reacted 6.14.0-29-generic #29-Ubuntu SMP PREEMPT_DYNAMIC Thu Aug  7 18:32:38 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

# xxd -c20 -g1 /sys/module/hid_xpadneo/drivers/hid:xpadneo/0005:045E:*/report_descriptor | tee >(cksum)
# xxd: /sys/module/hid_xpadneo/drivers/hid:xpadneo/0005:045E:*/report_descriptor: No such file or directory
# user@redacted:~/xpadneo$ 4294967295 0

Controller and Bluetooth Information

xpadneo-btmon.txt -> https://gist.github.com/Noxville/44aa9c7d0bea870ebb80dea6a1992427

xpadneo-dmesg.txt -> https://gist.github.com/Noxville/76ce579f9955dd6bedc350ddaa5942fd

Additional Context

Noxville avatar Sep 22 '25 09:09 Noxville

This can be caused by some games but usually only old games should be affected. Let's test if you are seeing this bug. Check if using the triggers compensates for the drift. If yes, your games seem to see the triggers as an additional joystick.

Check if you can fix it with SDL_JOYSTICK_HIDAPI=0 SDL_JOYSTICK_RAWINPUT=0 %command% (or just one of both settings).

Most likely, Proton 10 will currently not support those variables due to environment sandboxing. OTOH, Proton 10 should be better with supporting gamepads as gamepads, and prevent a joystick driver from picking up axes.

If this fixes the issue for you, you may want to report it to Proton: It is most likely caused by interaction between SDL and Proton.

Now back to your report: You checked "Steam Proton games are having issues" but you also checked "I don't use Steam or did not try".

If this only affects Steam Link / Remote Stream, try using the your Steam Link console without xpadneo: The default kernel driver will most likely work and you're probably not using any of the xpadneo features anyways in this case. Steam Link does not operate very well with non-default drivers.

kakra avatar Sep 27 '25 23:09 kakra