Fedora unable to recognize Xbox Controller connected through Bluetooth

New linux guy here again looking for help getting an Xbox One Elite Controller Series 2 working with my Fedora 40 setup. I started with the instructions for XONE.

I was able to successfully get the controller paired with Fedora and have it show within the menu as well as settings.

Screenshot from 2024-09-02 20-21-29

Adapter shows up in the USB Bus listing:

Controller shows up in the Bluetooth device list:

Screenshot from 2024-09-02 20-24-55

Bluetooth appears to be running:

Only issue is nothing recognizes it as an input device.

When I launch Steam and look at controller settings, nothing is recognized:

When I load AntiMicroX it too doesn’t see any input devices:

When I run evtest though, the device does show up (#29):

When I move the controller it logs it properly.

Troubleshooting I’ve done:

I uninstalled XONE solution and used the Sentry alternative. I had the same results, controller paired successfully but not registering as a usable input.

https://copr.fedorainfracloud.org/coprs/sentry/xone/

I tried another option to alter the bluetooth input config but didn’t help.

https://www.reddit.com/r/linux_gaming/comments/tdh3gq/controller_connected_but_not_detected/

Last ditch effort to install joystick support drivers which also didn’t help.

Coincidentally I’ve tried plugging the controller in directly to my device and it doesn’t register either. I am going to reboot into Windows and see if there is any firmware that’s required. Any other help, tips, suggestions are appreciated.

System Details Report


Report details

  • Date generated: 2024-09-02 20:38:51

Hardware Information:

  • Hardware Model: ASUSTeK COMPUTER INC. TUF GAMING X570-PLUS WI-FI
  • Memory: 32.0 GiB
  • Processor: AMD Ryzen™ 7 5700G with Radeon™ Graphics × 16
  • Graphics: AMD Radeon™ RX 6800 XT
  • Disk Capacity: 5.3 TB

Software Information:

  • Firmware Version: 5003
  • OS Name: Fedora Linux 40 (Workstation Edition)
  • OS Build: (null)
  • OS Type: 64-bit
  • GNOME Version: 46
  • Windowing System: Wayland
  • Kernel Version: Linux 6.10.6-200.fc40.x86_64

I was able to find some information that may have identified the culprit.

https://bbs.archlinux.org/viewtopic.php?id=281009

This forum thread discusses a similar issue and has to do with the input events not having symbolic links created for them in the by-id folder. When I did some digging in my system, I see the event 29 and the js0 in the dev/input folder:

When I went to view the by-id folder, as expected the Xbox controller is not listed.

Can anyone tell me how to create a symbolic link for the device input into the by-id?

You’ll likely want to make sure it works over a USB cable first.


I have a Series X controller (d-pad single-piece), and with it plugged in over USB-C on Fedora 40 it just-works on Hardware Tester (gamepad test website)

I haven’t tried BT yet (a bit annoying to enable from BIOS).

I haven’t heard of outdated controllers not registering on Linux, but one idea could be to make sure the controller’s firmware is up-to-date from Windows (Xbox Accessories app) or a Xbox (guessing it’d be automatic). I vaguely recall there being something about XB1 controllers pairing to phones/BT needing to be updated to a certain firmware for it to work properly.

I was able to work with the XONE/XPADNEO team and they were able to get me sorted out.

ISSUE: Secure Boot

I had secure boot enabled on my device (even though I swore I disabled it). Once I disabled it in the BIOS, everything was working again. They also provided some additional information about adding my device to secure boot if needed. See below: