protonscr

XGP WIRED controller recognized but buttons don't work

steamopen Distro Family: UbuntuGeneral controller / Steam Input
ValveSoftware/steam-for-linux#7895 · opened 2021-07-01 by yoelk · updated 2021-07-02 · 5 comments · github
2 matching comments, n / p to jump
Yyoelk 2021-07-01 github

System description

  • Steam client version (build number or date): Jun 8 2021, at 22:23:41. API v020
  • Distribution (e.g. Ubuntu): Ubuntu 20.04, 64bit
  • Opted into Steam client beta?: No
  • Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

I bought a USB gamepad, that identifies in Steam as an Xbox 360 controller. It vibrates when I press "Identify" and is also recognized in a game (SEGA Mega Drive & Genesis Classics.
But pressing the gamepad's buttons seems to do nothing. For example, if I try to change the controller buttons layout and assign a new button, Steam doesn't recognize any button being pressed. This happens both in normal and "Big picture" mode.
Also in games, there is no response for buttons being pressed.

Is there a way to debug this?

Kkisak-valve maintainer 2021-07-01 github

Hello @yoelk, just as a basic check, are you using the Valve-provided Steam package or the distro-modified Steam package? If you're using the latter, then double check that you have the steam-devices package with something like apt policy steam-devices. Note that the Valve-provided Steam package bundles the udev rules in steam-devices and is not needed from the separate package.

Yyoelk 2021-07-01 github

Hi @kisak-valve, thanks for such a quick response!
Here is the output of apt policy steam-devices:

team-devices:
  Installed: 1:1.0.0.61-2ubuntu3
  Candidate: 1:1.0.0.61-2ubuntu3
  Version table:
 *** 1:1.0.0.61-2ubuntu3 500
        500 http://hu.archive.ubuntu.com/ubuntu focal/multiverse amd64 Packages
        500 http://hu.archive.ubuntu.com/ubuntu focal/multiverse i386 Packages
        100 /var/lib/dpkg/status

I'm not sure how to answer your question though, so I hope the output does.
I think I've installed steam via: sudo apt install steam
When I repeat this command, this is what I get:

➜  ~ sudo apt install steam
Reading package lists... Done
Building dependency tree       
Reading state information... Done
steam:i386 is already the newest version (1:1.0.0.61-2ubuntu3).
0 upgraded, 0 newly installed, 0 to remove and 36 not upgraded.
Yyoelk 2021-07-01 github

By the way, if it's any help, the controller is the "XGP WIRED" from the company "Spirit of Gamer".
Connects via USB.

Kkisak-valve maintainer 2021-07-01 github

Thanks for checking. That rules out the most common case. Odds are that upstream SDL hasn't been taught about your controller.

I recommend giving https://www.reddit.com/r/linux_gaming/comments/9cf6ip/guide_how_to_make_all_of_your_controllers_work_at/ a read. In particular, the section with SDL2 Gamepad Tool and SDL2 ControllerMap and see if running Steam with SDL_GAMECONTROLLERCONFIG set to a mapping that you've figured out for your controller. Also, you might need to add a udev rule similar to the controllers listed in https://github.com/ValveSoftware/steam-devices/blob/master/60-steam-input.rules.

Yyoelk 2021-07-02 github

Hi again @kisak-valve, and thanks for the follow up.
I've installed jstest and jstest-gtk, and in both of them, buttons don't seem to have an effect.
This persists, also after running the script that updates $SDL_GAMECONTROLLERCONFIG.

I've looked into the udev rules list, but didn't know what I could do with it. didn't find my controller's name there (if that was what I'm supposed to do).

Launch options