protonscr

Xbox controller only detected if connected before Steam is launched

steamclosed General controller / Steam InputDistro Family: NixOS
ValveSoftware/steam-for-linux#7729 · opened 2021-03-31 by lhindir · updated 2025-12-28 · 3 comments · github
1 matching comments, n / p to jump
Llhindir 2021-03-31 github

Your system information

  • Steam client version (build number or date): latest as of 2021-03-30 (March 25 part 2)
  • Distribution (e.g. Ubuntu): NixOS (Gnome 3.38 Wayland)
  • Opted into Steam client beta?: Yes
  • Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

Xbox controllers are not recognized by Steam unless they are present before Steam is started. If an Xbox controller disconnects, Steam must be fully restarted before it will be recognized by Steam or games again. I'm on Gnome Wayland and use an Xbox One controller connected to a Microsoft dongle via xow. Steam Controllers connected via the dongle and a PS4 controller connected via Bluetooth are hotplugging fine.

Steps for reproducing this issue:

  1. Connect Xbox One controller
  2. Launch Steam
  3. Power cycle Xbox One controller
  4. ????
  5. Profit!
Ssbruder 2022-09-07 github

This got resolved in NixOS by https://github.com/NixOS/nixpkgs/pull/189961.

For everyone not using NixOS, but still running steam inside a container environment, it can be fixed by setting the environment variable SDL_JOYSTICK_DISABLE_UDEV=1, which forces SDL to use inotify instead of udev (which is unreliable inside containers) for discovering joysticks.

Because this is not an error on Steam’s side, I think this issue can be closed, @kisak-valve .

This also applies to the related issue #7746.

Kkisak-valve maintainer 2022-10-08 github

Closing per the last comment.

LLawstorant 2025-12-28 github

Just for posterity, I recently got the same issue in my Laptop running Arch Linux. Weirdly enough, my PC running the same sytem is fine. Adding the same env variable fixed the issue.

Launch options