Hello @Phil995511, what version of the steam-devices package is on your system? Specifically, is it new enough to include https://github.com/ValveSoftware/steam-devices/commit/bc998da43e20d4358d8e0a0081ede3678145cd0f?
Hello vanne kisak, and thank you for your reply,
In Debian 13, the default version of steam-devices is 1:1.0.0.83~ds-3: all
And the installed version of steam-launcher is 1:1.0.0.85.
I thought about installing steam-devices is 1:1.0.0.83~ds-3: all, but in order to install it, it requires that steam-launcher is 1:1.0.0.85 be uninstalled.
Is this because the version numbers are different ?
It's a shame that steam-launcher doesn't include steam-devices in the same package, that would make things easier...
Do I need to use the testing version of steam-devices 1:1.0.0.85~ds-2: all for this to work ? And if that's how it works, will I lose that hardware compatibility if I update the Steam launcher ?
The Xbox Wireless standard Controllers (1V8-00002) work perfectly on Linux. I thought the same would be true for an Xbox Elite série 2 controller... But I understand that the XPAD driver included in the Linux kernel doesn't support this controller ;-(
If only the Linux kernel developers would integrate game controllers directly into the kernel, it would make life easier for everyone, but sadly, they only do so to a very limited extent ;-( As a result, Linux isn't very user-friendly for gamers, who often prefer to use Windows...
Until now, I’ve been using an Xbox Elite Series 1 controller with the wireless USB adapter (model 1790) and the Xone driver to get it working. But Xone is buggy and nothing works anymore ;-( That’s why I bought an Xbox Elite Series 2 controller, which I can’t get to work on Debian.
Thank you for your support.
Best regards, and have a great weekend.
If the package versioning around steam-devices is fighting you, I'd just add the udev rule in the linked commit to /usr/lib/udev/rules.d/60-steam-input.rules and see if that helps.
Thank you for your prompt responses.
I went to :
/usr/lib/udev/rules.d/60-steam-input.rules
I added the rule :
# Xbox One Elite 2 Controller
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", KERNELS=="*045E:0B22*", MODE="0660", TAG+="uaccess"
Source of rules :
https://github.com/ValveSoftware/steam-devices/blob/master/60-steam-input.rules
I wouldn't have thought it would be that easy. Everything is working perfectly now :)
You are the best. Thanks for your great advice :)
Best regards and have a great weekend.
I am experiencing this exact same issue on Ubuntu 26.04 running the new signed Linux Kernel 7.0.0-30-generic with a MediaTek MT7925 Bluetooth adapter.
The Xbox Elite controller pairs perfectly with the OS via Bluetooth, and all buttons/axes work flawlessly in system diagnostic tools like jstest-gtk (reading /dev/input/js0). However, Steam fails to detect the controller entirely over Bluetooth (while working fine over USB).
The root cause on modern kernels appears to be a permission lockdown on the /dev/hidraw* nodes, which Steam's internal SDL implementation relies on to probe modern Xbox controllers over Bluetooth. By default, the node (in my case /dev/hidraw13) was created with crw------- permissions owned by root:root, completely blocking Steam from accessing it.
I managed to fix this issue completely without any custom SDL_GAMECONTROLLERCONFIG environment variables or third-party DKMS drivers (which I cannot use due to Secure Boot) by creating a custom udev rule that opens up hidraw permissions for the input group:
Added /etc/udev/rules.d/99-xbox-bluetooth-hidraw.rules
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="045e", MODE="0660", GROUP="input"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", KERNELS=="0005:045E:*", MODE="0660", GROUP="input"
After reloading the udev rules and turning the controller off and on, the permissions correctly changed to crw-rw---- 1 root input for /dev/hidraw13. Steam then instantly detected the controller normally through the native desktop shortcut launcher.
sudo udevadm control --reload-rules && sudo udevadm trigger
Please consider updating the official steam-devices package rules to include proper Bluetooth hidraw permissions for modern Microsoft Xbox controllers on newer kernels so this works out-of-the-box.
This ticket was closed on 28.03.2026 !!
The 60-steam-input.rules file is up to date in Steam OS, not in Debian for the moment...
/usr/lib/udev/rules.d/60-steam-input.rules
You must therefore execute the command below as su - after installing a machine for your gaming controller to be supported :
echo '# Xbox One Elite 2 Controller KERNEL=="hidraw*", SUBSYSTEM=="hidraw", KERNELS=="*045E:0B22*", MODE="0660", TAG+="uaccess"' > /etc/udev/rules.d/60-steam-input.rules && udevadm control --reload-rules && udevadm trigger --subsystem-match=hidraw
Regards.
SDL_GAMECONTROLLERCONFIGx1 2026-08
Hello,
I'm using Debian 13. I'd like to use a Microsoft Xbox Elite Series 2 controller to play games on Steam.
The Microsoft Xbox Elite Series 2 controller has been successfully paired via Bluetooth, but it is not recognized by the Steam launcher.
I noticed that Steam OS is natively compatible with the Microsoft Xbox Elite Series 2 controller.
What is the problem? Am I missing any driver or software dependencies ?
Best regards.