Xbox Elite Controller S2 on Steam help

I’m pulling my hair out at this point. I’ve got probably 7+ hours into trying to get this working and I’m at the end of my wits. I’ve tried literally every fathomable combination of controller options I can find. I’ve tried downloading custom configs, I’ve tried manually resetting the keybinding, I’ve tried removing EVERYTHING and starting over. . . I have no idea what else to do or where to look at this point.

Xbox Elite Controller S2 - it’s super nice heavy, and I figured it was the perfect addition to my new computer.

I’m using the STEAM FLATPAK

I chose this because the AUR package didn’t seem to build and I’ve read a lot of people have better experiences on the flatpak anyway. It’s updated, and other than the controller everything works awesome!

I have tried on both GTA V(online and story mode) and Fallout NV. It’s true in both games so I’m sure it’s a setting somewhere.

The problem:

So I connect the controller via bluetooth - Everything apears to work fine. All the buttons work on the controller EXCEPT the select button - which is oddly enough in GTAO - the interaction menu. Pressing M on the keyboard still makes it work, so it’s definitely a controller issue.

If I then plug the controller in via the usb-c cable it works 100% perfectly - even if I’m already playing the game and change exactly zero other settings…

It works perfectly both wired and wireless in Windows. Again, in my head it’s some setting I’m still not getting right. There’s no firmware updates available,

** When I connect via the usbc cable - there’s a little white light between start/select button that now blinks (I believe it’s telling me it’s charging, but I don’t know if it means anything else)

I added game-device-udev as per recommendation from the: Linux gaming [Guide] but I’m pretty sure it has zero effect on flatpak.

All help would be greatly appreciated.

Apologies in advance that I don’t know the answer to your question but I have a couple of comments.

This is a really amazing controller. I love mine.

Steam is in repos. What were you trying to build from AUR?

Have you tried a different bluetooth adaptor? I had endless problems with mine until I switched adaptors.

Maybe it was the repo one then, I’m going to try that again momentarily.

This is a laptop - I don’t think I even own any other bluetooth adapters haha.

I was skeptical because it is absurdly expensive, but there was SOOOOOO many reviews where people said it’s the best controller ever, I couldn’t not get it. The hand feel is truly incredible. I’m blown away how much I like this thing. I love how heavy it is.

1 Like

Alright. Everything is uninstalled and removed the steam directory created by the flatpak. . . let’s try the repo version

So, I removed everything flatpak related and the .var/steam/xxxxxxxxxxxx dir it originally created.

I started over completely. I added repo steam, redownloaded all 105GB of GTA 5. . . identical outcome. I’m still downloading Fallout NV to see if it’s the same there.

Controller works perfectly connected via USBC.

The ONLY button on the control that does not work via bluetooth is the select button.

When installing steam I went with amdvlk - everything in that regard seems to work. Other than enabling steam play I have changed exactly zero other settings in steam so far.

This is a Lenovo Legion 5 All AMD. I have tried on both linux and linux-amd kernel. I have not bothered with lts since my wifi is too new for the lts kernel still (I assume since it’s never even shown up on the lts kernel).

Bluetooth info:

  Device-1: Realtek Bluetooth Radio type: USB driver: btusb v: 0.8
    bus-ID: 3-4:2 chip-ID: 0bda:4852 class-ID: e001 serial: <filter>
  Report: rfkill ID: hci0 rfk-id: 3 state: up address: see --recommends

Complete inxi:

[derek@Legion5 ~]$ inxi -Fza
  Kernel: 5.18.12-AMD arch: x86_64 bits: 64 compiler: gcc v: 12.1.0
    parameters: BOOT_IMAGE=/vmlinuz-linux-amd
    root=UUID=c81b16d4-c528-47df-8a7d-fc47d6d1fc33 rw loglevel=3 nowatchdog
  Desktop: GNOME v: 42.3.1 tk: GTK v: 3.24.34 wm: gnome-shell dm: GDM
    v: 42.0 Distro: Arch Linux
  Type: Laptop System: LENOVO product: 82NW v: Legion 5 15ACH6A
    serial: <superuser required> Chassis: type: 10 v: Legion 5 15ACH6A
    serial: <superuser required>
  Mobo: LENOVO model: LNVNB161216 v: SDK0T76461 WIN
    serial: <superuser required> UEFI: LENOVO v: G9CN28WW date: 01/19/2022
  ID-1: BAT0 charge: 35.5 Wh (59.0%) condition: 60.2/60.0 Wh (100.4%)
    volts: 15.9 min: 15.4 model: SMP L20M4PC0 type: Li-poly serial: <filter>
    status: N/A cycles: 16
  Device-1: hid-f4:6a:d7:49:2c:99-battery
    model: Xbox Elite Wireless Controller serial: N/A charge: N/A
    status: discharging
  Info: model: AMD Ryzen 7 5800H with Radeon Graphics bits: 64 type: MT MCP
    arch: Zen 3 gen: 4 built: 2021-22 process: TSMC n7 (7nm) family: 0x19 (25)
    model-id: 0x50 (80) stepping: 0 microcode: 0xA50000C
  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: 16 MiB desc: 1x16 MiB
  Speed (MHz): avg: 2304 high: 2794 min/max: 400/4463 boost: enabled
    scaling: driver: amd-pstate governor: schedutil cores: 1: 2234 2: 2235
    3: 2234 4: 2235 5: 2235 6: 2233 7: 2234 8: 2235 9: 2235 10: 2232 11: 2794
    12: 2793 13: 2233 14: 2236 15: 2234 16: 2234 bogomips: 102241
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: mmio_stale_data status: Not affected
  Type: spec_store_bypass
    mitigation: Speculative Store Bypass disabled via prctl
  Type: spectre_v1
    mitigation: usercopy/swapgs barriers and __user pointer sanitization
  Type: spectre_v2 mitigation: Retpolines, IBPB: conditional, IBRS_FW,
    STIBP: always-on, RSB filling
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
  Device-1: AMD Navi 23 [Radeon RX 6600/6600 XT/6600M] vendor: Lenovo
    driver: amdgpu v: kernel arch: RDNA 2 process: TSMC n7 (7nm) built: 2020-22
    pcie: gen: 4 speed: 16 GT/s lanes: 16 ports: active: none
    empty: DP-1, DP-2, HDMI-A-1, eDP-1 bus-ID: 03:00.0 chip-ID: 1002:73ff
    class-ID: 0300
  Device-2: AMD Cezanne vendor: Lenovo driver: amdgpu v: kernel
    arch: GCN 5.1 process: TSMC n7 (7nm) built: 2018-21 pcie: gen: 3
    speed: 8 GT/s lanes: 16 link-max: gen: 4 speed: 16 GT/s ports:
    active: eDP-2 empty: none bus-ID: 08:00.0 chip-ID: 1002:1638
    class-ID: 0300
  Display: wayland server: v: with: Xwayland v: 22.1.3
    compositor: gnome-shell driver: gpu: amdgpu display-ID: 0
  Monitor-1: eDP-2 model: BOE Display 0x0a81 built: 2021 res: 1920x1080
    dpi: 142 gamma: 1.2 size: 344x194mm (13.54x7.64") diag: 395mm (15.5")
    ratio: 16:9 modes: max: 1920x1080 min: 640x480
  OpenGL: renderer: AMD RENOIR (LLVM 14.0.6 DRM 3.46 5.18.12-AMD)
    v: 4.6 Mesa 22.1.3 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: 03:00.1 chip-ID: 1002:ab28
    class-ID: 0403
  Device-2: AMD ACP/ACP3X/ACP6x Audio Coprocessor vendor: Lenovo
    driver: N/A alternate: snd_pci_acp3x, snd_rn_pci_acp3x, snd_pci_acp5x,
    snd_pci_acp6x, snd_acp_pci
    pcie: gen: 3 speed: 8 GT/s lanes: 16 link-max: gen: 4 speed: 16 GT/s
    bus-ID: 08:00.5 chip-ID: 1022:15e2 class-ID: 0480
  Device-3: AMD Family 17h/19h HD Audio vendor: Lenovo
    driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16
    link-max: gen: 4 speed: 16 GT/s bus-ID: 08:00.6 chip-ID: 1022:15e3
    class-ID: 0403
  Sound Server-1: ALSA v: k5.18.12-AMD running: yes
  Sound Server-2: PulseAudio v: 16.1 running: no
  Sound Server-3: PipeWire v: 0.3.56 running: yes
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: Lenovo driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s
    lanes: 1 port: 3000 bus-ID: 05:00.0 chip-ID: 10ec:8168 class-ID: 0200
  IF: enp5s0 state: down mac: <filter>
  Device-2: Realtek RTL8852AE 802.11ax PCIe Wireless Network Adapter
    vendor: Lenovo driver: rtw89_8852ae v: kernel pcie: gen: 1 speed: 2.5 GT/s
    lanes: 1 port: 2000 bus-ID: 06:00.0 chip-ID: 10ec:8852 class-ID: 0280
  IF: wlp6s0 state: up mac: <filter>
  Device-1: Realtek Bluetooth Radio type: USB driver: btusb v: 0.8
    bus-ID: 3-4:2 chip-ID: 0bda:4852 class-ID: e001 serial: <filter>
  Report: rfkill ID: hci0 rfk-id: 3 state: up address: see --recommends
  Local Storage: total: 2.79 TiB used: 150.67 GiB (5.3%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/nvme0n1 maj-min: 259:3 vendor: Western Digital
    model: PC SN730 SDBPNTY-1T00-1101 size: 953.87 GiB block-size:
    physical: 512 B logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD
    serial: <filter> rev: 11190001 scheme: GPT
  ID-2: /dev/nvme1n1 maj-min: 259:0 vendor: Sabrent model: N/A
    size: 1.86 TiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s
    lanes: 4 type: SSD serial: <filter> rev: RKT303.3 scheme: GPT
  ID-1: / raw-size: 1.86 TiB size: 1.83 TiB (98.37%) used: 150.49 GiB (8.0%)
    fs: ext4 dev: /dev/nvme1n1p2 maj-min: 259:2
  ID-2: /boot raw-size: 300 MiB size: 299.8 MiB (99.94%)
    used: 182.2 MiB (60.8%) fs: vfat dev: /dev/nvme1n1p1 maj-min: 259:1
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default)
  ID-1: swap-1 type: zram size: 19.58 GiB used: 0 KiB (0.0%) priority: 100
    dev: /dev/zram0
  System Temperatures: cpu: N/A mobo: N/A
  Fan Speeds (RPM): N/A
  GPU: device: amdgpu temp: 47.0 C mem: 46.0 C fan: 0 watts: 15.00
    device: amdgpu temp: 44.0 C
  Processes: 347 Uptime: 14m wakeups: 21 Memory: 58.73 GiB
  used: 4.87 GiB (8.3%) Init: systemd v: 251 default: graphical
  tool: systemctl Compilers: gcc: 12.1.0 clang: 14.0.6 Packages: 1260
  pacman: 1254 lib: 319 flatpak: 6 Shell: Bash v: 5.1.16
  running-in: xfce4-terminal inxi: 3.3.19
[derek@Legion5 ~]$ 

I’m going to start digging more into Arch and realtek bluetooth.

@dalto - have you made any other settings adjustments for yours XES2?

I switched to the official xbox adaptor. I also have a dedicated PC* I only use for gaming


That PC may be running windows

Got it. I mean. I guess that’s an option. But I just hate the idea.

I found this in an Arch help thread I’m going to try momentarily.


1 Like

Did you have the udev rules setup for controllers with steam? The regular pkg includes it but if you dont have it then they wont work with the flatpak.

edit: nevermind you do

Did you also make sure to disable Ertm? I use to have issues with my XB1 Controller if i didnt do that before i switched to a dual sense controller.

You may also want to force the use of steam input in those games through right clicking on the game → properties → controller → set override to “enable steam input”

Also if you go to steam settings under “general controller settings”, do you have xbox configuration enabled?

I guess you did that in Steam options > Controller > General controller settings, did you try to remap the buttons with the USBC cable plugged in or when using Bluetooth?
I had a similar issue in a game where the button mapping was wrong, I remapped with the USBC cable and it was ok, but when I played via Bluetooth I had to remap again (as if it was a different controller)

Both. It was a disaster.

I did this. It also didn’t work. The reality is EVERYTHING was working - except for one of the buttons. So, globally, everything was working just fine.

I had tried every single combination you can come up with in general settings and on a per game basis as well.

Alrightttty here.

So xpadneo-dkms DID in fact fix my controller. I was able to log into GTAO and FA:NV and literally everything worked perfectly! Until it didn’t again. I was able to play for about 60-90 seconds in and whatever buttton I was pushing at that moment was stuck. So I ended up driving my car directly into the Alamo Sea.

I then removed xpadneo-dkms and reverted all settings back to original.

And then installed the git. yay -S xpadneo-dkms-git

and now my controller has been working flawlessly for almost 2 days!!

Except now it doesn’t worked when plugged in with the @(#&)($&)@ USB-C wire. .

So. . . I’d rather have a wireless controller than a wired controller. So it’s the better of the two options. The issue is not solved. But it’s mostly solved.

I did shoot a -2 on my first round of 2k21 PGA last night with the controller. It really is incredible.

EDIT: also wanted to note - this ONLY WORKS on the latest kernel. It DOES NOT WORK with linux-amd kernel I have been using.