Xbox Elite controller not detected by Steam/Proton on Fedora

I am having trouble using my Xbox Elite controller on Fedora. Even connected via USB and with xpadneo installed, Steam and Proton-GE do not detect the controller properly. Users should not have to manually install or configure kernel modules for gaming controllers.

I suggest that Fedora include native support for game controllers and better compatibility with Steam/Proton to improve the gaming experience.

I use the xbox elite on its usb cable and steam installed from rpmfusion just works.
Are you using steam from flatpak? If so can you try the rpm version?

I do not use xpadneo - what does it do?

I do recall that I tried using xlite with bluetooth and it was not stable, but have not tried in a very long time, maybe last try was 2 or 3 years ago.

I’m using Fedora 43 KDE Plasma.

Plug xbox elite into your computer with the usb cable.
Then run lsusb do you see the controller?

This is what I see:

$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0b05:19af ASUSTek Computer, Inc. AURA LED Controller
Bus 001 Device 003: ID 04d9:4545 Holtek Semiconductor, Inc. Keyboard [Diatec Majestouch 2 Tenkeyless]
Bus 001 Device 004: ID 045e:00cb Microsoft Corp. Basic Optical Mouse v2.0
Bus 001 Device 005: ID 045e:0b00 Microsoft Corp. Xbox Elite Series 2 Controller (model 1797)
Bus 001 Device 006: ID 058f:6254 Alcor Micro Corp. USB Hub
Bus 001 Device 007: ID 8087:0026 Intel Corp. AX201 Bluetooth
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

I found the source GitHub - atar-axis/xpadneo: Advanced Linux Driver for Xbox One Wireless Controller (shipped with Xbox One S) · GitHub

On the readme page I see that they do not test on Fedora.
Also that elite support is limited.

But as I said this code is not needed to use the controller with Stream on Fedora.

I have had all the official XBOX controllers and several of the off brand models since 2016, Could you provide more information about what you did, tried and installed? Your post comes off as a statement than a search for assistance.

the xpad driver is included in kernel-modules-extra which is not installed by default.

sudo dnf install kernel-modules-extra-matched should take care of that. Remove or blacklist xpadneo if you want to try the default xpad driver.

1 Like

I have this:

$ rpm -qf /usr/lib/modules/6.19.9-200.fc43.x86_64/kernel/drivers/input/joystick/xpad.ko.xz
kernel-modules-extra-6.19.9-200.fc43.x86_64
$ rpm -qa |grep kernel-modules | grep 19.9
kernel-modules-core-6.19.9-200.fc43.x86_64
kernel-modules-6.19.9-200.fc43.x86_64
kernel-modules-extra-6.19.9-200.fc43.x86_64

I do not seem to need kernel-modules-extra-matched. Am I missing something useful?

*matched is a empty meta rpm which pulls in the real thing for each installed kernel? same for kernel-devel

installing kernel-devel or kernel-modules-extra for an older kernel won’t upgrade both packages for a new kernel during dnf upgrade. the *-matched meta packages do.

The upgrades work fine without -matched BTW

$ rpm -qa |grep kernel-modules-extra
kernel-modules-extra-6.18.13-200.fc43.x86_64
kernel-modules-extra-6.18.16-200.fc43.x86_64
kernel-modules-extra-6.19.7-200.fc43.x86_64
kernel-modules-extra-6.19.8-200.fc43.x86_64
kernel-modules-extra-6.19.9-200.fc43.x86_64

yes if the latest installed kernel had those. I think it won’t be upgraded if those rpms were installed i.e for the previous kernel only.

1 Like

Hi everyone,

I wanted to give an update regarding my issue. The problem is temporarily resolved: my Xbox controller is now working correctly when connected via USB.

However, Bluetooth is still not functioning, so the issue is only partially fixed for now. I’ll continue testing and will update again if I find a permanent solution.

Thanks to everyone who helped and gave suggestions!

Could you share how you got it working please for other people that read this thread?

1 Like

Unfortunately, you still have not specified what isn’t working?
However, I assume this is not about the bluetooth connection or pairing but rather about the button or d-pad mapping?

That’s a know issue with steam/proton. Mapping should work when using native linux apps/games. Maybe try Hardware Tester in firefox.
It’s a change to the xpad driver introduced in kernel 6.17. I think the situation may improve quickly with the release of Ubuntu 26.04 and steam users migrating to the more modern linux world.

Hi,

Thanks for the clarification.

The Bluetooth connection itself is not working properly on my system. The controller works correctly when connected via USB, but over Bluetooth it either does not connect reliably or is not detected correctly by Steam.

When using USB, buttons and mapping work as expected.

So the issue is specifically related to Bluetooth support, not button or d-pad mapping.

Thanks for the information about the kernel 6.17 xpad changes and SDL3 fixes — I will keep an eye on upcoming updates.

Could you share the output of inxi -Eaz please?

You could start a btmon session sudo btmon in a terminal and see the events.

1 Like

Here is the output of inxi -Eaz:

Bluetooth:
Device-1: Realtek Bluetooth Radio driver: btusb v: 0.8 type: USB rev: 1.0
speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 3-3:3 chip-ID: 0bda:b86a
Report: btmgmt ID: hci0 state: up bt-v: 5.3
discoverable: yes pairing: yes

Bluetooth works for USB controller usage, but Bluetooth connection for the Xbox controller is still not functioning.
I will provide btmon logs next.