Xbox One Elite Controller not recognized

Hello Garuda users.

I am a total newbie to Linux, please keep that in mind. I'm plugging the controller directly into a USB port on the back of my motherboard.
My controller used to work without issues (in Elden Ring) a month or so ago.
According to the Arch Wiki it should be natively supported, which it doesn't anymore. In Windows 10 it is recognized like usual and all buttons are working there, so I'm assuming the Micro-USB cable and controller work technically.

I have tried enabling and starting the xboxdrv.service but I get the following error:
"Failed to enable unit: Unit file does not exist."

When I check lsusb it does appear to be recognized:

Bus 005 Device 003: ID 045e:02e3 Microsoft Corp. Xbox One Elite Controller

Neither Steam nor the Game Controller in System Settings recognize it.

I hope anyone can help me out with this issue, I really want to ditch windows finally.

Kernel: 6.4.7-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 13.1.1
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
root=UUID=f8614fe3-0fce-4fb5-9365-182f4055f0c3 rw rootflags=subvol=@
quiet quiet rd.udev.log_priority=3 vt.global_cursor_default=0
resume=UUID=d8e950b4-97eb-44d0-90a0-d70a380335fb loglevel=3 ibt=off
Desktop: KDE Plasma v: 5.27.6 tk: Qt v: 5.15.10 wm: kwin_wayland vt: 1
dm: SDDM Distro: Garuda Linux base: Arch Linux
Type: Desktop Mobo: ASUSTeK model: ROG STRIX X570-I GAMING v: Rev X.0x
serial: <superuser required> UEFI: American Megatrends v: 4602
date: 02/23/2023
Device-1: hidpp_battery_0 model: Logitech MX Keys Wireless Keyboard
serial: <filter> charge: 10% (should be ignored) rechargeable: yes
status: discharging
Device-2: hidpp_battery_1 model: Logitech MX Master 3 for Mac
serial: <filter> charge: 100% (should be ignored) rechargeable: yes
status: discharging
Info: model: AMD Ryzen 7 5800X3D bits: 64 type: MT MCP arch: Zen 3+ gen: 4
level: v3 note: check built: 2022 process: TSMC n6 (7nm) family: 0x19 (25)
model-id: 0x21 (33) stepping: 2 microcode: 0xA20120A
Topology: cpus: 1x cores: 8 tpc: 2 threads: 16 smt: enabled cache:
L1: 512 KiB desc: d-8x32 KiB; i-8x32 KiB L2: 4 MiB desc: 8x512 KiB
L3: 96 MiB desc: 1x96 MiB
Speed (MHz): avg: 3639 high: 4276 min/max: 2200/4549 boost: enabled
scaling: driver: acpi-cpufreq governor: performance cores: 1: 4173 2: 4276
3: 3400 4: 3400 5: 3356 6: 4174 7: 3400 8: 3400 9: 3582 10: 3600 11: 3400
12: 3565 13: 3530 14: 4037 15: 3533 16: 3400 bogomips: 108804
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Vulnerabilities: <filter>
Device-1: AMD Navi 21 [Radeon RX 6900 XT] vendor: Tul / PowerColor
driver: amdgpu v: kernel arch: RDNA-2 code: Navi-2x process: TSMC n7 (7nm)
built: 2020-22 pcie: gen: 4 speed: 16 GT/s lanes: 16 ports: active: DP-3
off: HDMI-A-1 empty: DP-1,DP-2 bus-ID: 0c:00.0 chip-ID: 1002:73af
class-ID: 0300
Display: wayland server: v: with: Xwayland v: 23.1.2
compositor: kwin_wayland driver: X: loaded: amdgpu
unloaded: modesetting,radeon alternate: fbdev,vesa dri: radeonsi
gpu: amdgpu display-ID: 0
Monitor-1: DP-3 res: 2560x1440 size: N/A modes: N/A
API: OpenGL v: 4.6 Mesa 23.1.4 renderer: AMD Radeon RX 6900 XT (navi21
LLVM 15.0.7 DRM 3.52 6.4.7-zen1-1-zen) direct-render: Yes
Device-1: AMD Navi 21/23 HDMI/DP Audio driver: snd_hda_intel v: kernel pcie:
gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 0c:00.1 chip-ID: 1002:ab28
class-ID: 0403
Device-2: AMD Starship/Matisse HD Audio vendor: ASUSTeK
driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16
bus-ID: 0e:00.4 chip-ID: 1022:1487 class-ID: 0403
API: ALSA v: k6.4.7-zen1-1-zen status: kernel-api with: aoss
type: oss-emulator tools: alsactl,alsamixer,amixer
Server-1: PipeWire v: 0.3.76 status: active with: 1: pipewire-pulse
status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
Device-1: Intel Wi-Fi 6 AX200 driver: iwlwifi v: kernel pcie: gen: 2
speed: 5 GT/s lanes: 1 bus-ID: 05:00.0 chip-ID: 8086:2723 class-ID: 0280
IF: wlp5s0 state: down mac: <filter>
Device-2: Intel I211 Gigabit Network vendor: ASUSTeK driver: igb v: kernel
pcie: gen: 1 speed: 2.5 GT/s lanes: 1 port: f000 bus-ID: 06:00.0
chip-ID: 8086:1539 class-ID: 0200
IF: enp6s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
IF-ID-1: tun0 state: unknown speed: 10000 Mbps duplex: full mac: N/A
Device-1: Intel AX200 Bluetooth driver: btusb v: 0.8 type: USB rev: 2.0
speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 3-6:4 chip-ID: 8087:0029
class-ID: e001
Report: bt-adapter ID: hci0 rfk-id: 2 state: down
bt-service: enabled,running rfk-block: hardware: no software: yes
address: <filter>
Local Storage: total: 2.69 TiB used: 752.27 GiB (27.3%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Kingston model: SFYRS1000G
size: 931.51 GiB block-size: physical: 512 B logical: 512 B speed: 63.2 Gb/s
lanes: 4 tech: SSD serial: <filter> fw-rev: EIFK31.6 temp: 24.9 C
scheme: GPT
ID-2: /dev/nvme1n1 maj-min: 259:1 vendor: Crucial model: CT1000P1SSD8
size: 931.51 GiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s
lanes: 4 tech: SSD serial: <filter> fw-rev: P3CR013 temp: 40.9 C
scheme: GPT
ID-3: /dev/sda maj-min: 8:0 vendor: Sabrent model: SABRENT
size: 894.25 GiB block-size: physical: 512 B logical: 512 B type: USB
rev: 3.1 spd: 5 Gb/s lanes: 1 mode: 3.2 gen-1x1 tech: N/A serial: <filter>
fw-rev: 2210 scheme: GPT
ID-1: / raw-size: 896.84 GiB size: 896.84 GiB (100.00%)
used: 752.25 GiB (83.9%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:3
ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
used: 25.9 MiB (8.7%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:2
ID-3: /home raw-size: 896.84 GiB size: 896.84 GiB (100.00%)
used: 752.25 GiB (83.9%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:3
ID-4: /var/log raw-size: 896.84 GiB size: 896.84 GiB (100.00%)
used: 752.25 GiB (83.9%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:3
ID-5: /var/tmp raw-size: 896.84 GiB size: 896.84 GiB (100.00%)
used: 752.25 GiB (83.9%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:3
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
ID-1: swap-1 type: partition size: 34.38 GiB used: 0 KiB (0.0%)
priority: -2 dev: /dev/nvme0n1p3 maj-min: 259:4
ID-2: swap-2 type: zram size: 31.25 GiB used: 0 KiB (0.0%) priority: 100
dev: /dev/zram0
System Temperatures: cpu: 43.4 C mobo: N/A gpu: amdgpu temp: 47.0 C
mem: 46.0 C
Fan Speeds (RPM): N/A gpu: amdgpu fan: 0
Processes: 376 Uptime: 11m wakeups: 12 Memory: total: 32 GiB
available: 31.25 GiB used: 3.86 GiB (12.4%) Init: systemd v: 253
default: graphical tool: systemctl Compilers: gcc: 13.1.1 clang: 15.0.7
Packages: pm: pacman pkgs: 1869 libs: 522 tools: octopi,paru Shell: fish
v: 3.6.1 default: Bash v: 5.1.16 running-in: konsole inxi: 3.3.28
Garuda (2.6.16-1):
System install date:     2023-06-30
Last full system update: 2023-07-30
Is partially upgraded:   No
Relevant software:       snapper NetworkManager dracut
Windows dual boot:       Probably (Run as root to verify)
Failed units:

Try xone-dkms. (available in Garuda Gamer in the Gamer tab. Its near the bottom of the list, so you might have to scroll down to see it)
Make sure to restart after you install it.


I'm confused how it got solved, but I noticed that xboxdrv, xpadneo-dkms and xone-dkms were all installed. As a first step, I uninstalled all three of them and restarted.
And now it just works.
Thank you for the suggestion!

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.