protonscr

Switch Pro Controller recognised but not working

steamclosed Big PictureDistro Family: ArchGeneral controller / Steam Input
ValveSoftware/steam-for-linux#5678 · opened 2018-08-25 by dindon-sournois · updated 2020-12-05 · 14 comments · github
Ddindon-sournois 2018-08-25 github

Your system information

  • Steam client version (build number or date): 1535062307
  • Distribution (e.g. Ubuntu): Archlinux
  • Opted into Steam client beta?: [Yes/No] Yes
  • Have you checked for system updates?: [Yes/No] Yes

Please describe your issue in as much detail as possible:

When I plug-in the controller via USB, it seems to be detected as shown in the log output. However, it does not work in Steam Big Picture mode or in any game.

Some additional information :

  • I'm using the distro-provided steam package.
  • There is no steam-devices package but I found /usr/lib/udev/rules.d/70-steam-controller.rules which contains an udev rule for the Switch Pro Controller.
  • Dual Shock 4 controller and Steam controller work.
  • The Switch Pro Controller inputs are not detected by the jstest-gtk tool

Steps for reproducing this issue:

  1. start steam-runtime
  2. plug-in Switch Pro Controller via USB
  3. try to use the controller in Steam Big Picture mode
Yyaomtc 2018-08-30 github

I'm also unable to get the Switch Pro Controller working. I don't have any Bluetooth capability on this computer, so I've had to try using USB, but no matter what I do, Steam won't recognize it. I've tried two different udev rules, I've tried installing steam-devices, I've tried disconnecting it from the Switch to avoid accidentally turning the Switch on, I've tried different USB ports... nothing works.

  • Steam client version (build number or date): August 29 2018, package version 1535576546
  • Distribution (e.g. Ubuntu): Ubuntu 18.04.1 (64 bit)
  • Opted into Steam client beta?: [Yes/No] Yes
  • Have you checked for system updates?: [Yes/No] Yes
Yyaomtc 2018-08-31 github

@dindon-sournois, where did you get the log from?

Ddindon-sournois 2018-09-01 github

@yaomtc You can get them by starting steam in a terminal or in the file /tmp/dumps/$USER_stdout.txt

Yyaomtc 2018-09-01 github
Local Device Found
  type: 057e 2009
  path: 0003:0010:00
  serial_number:  - 0
  Manufacturer: 
  Product:      
  Release:      200
  Interface:    0

Unable to open local device: 0003:0010:00

steam-procontroller-output.txt

60-steam-input.rules.txt

Yyaomtc 2018-09-30 github

It now works for me in Ubuntu. Not Solus, though... will have to figure out why.

Yyaomtc 2018-10-07 github

Having fixed the rules in Solus it now works there too!

Ddindon-sournois 2018-10-07 github

@yaomtc Could you detail what you did or dump your rules file?

Yyaomtc 2018-10-08 github

I made sure there were no duplicate rules anywhere (like the old 99-steam-controller) and that /lib/udev/rules.d/60-steam-input.rules contained the following:

# Nintendo Switch Pro Controller over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="2009", MODE="0666"

# Nintendo Switch Pro Controller over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*057E:2009*", MODE="0666"

Since you're on Arch rather than Ubuntu the file location may differ. (Like on Solus, it's /usr/lib64/, with a symlink pointing to it at /usr/lib/)

If that fails, you may want to uninstall Steam and do a clean install, otherwise take a look in Arch's bug tracker and post there if necessary.

Jjpe90 2018-11-03 github

I'm experiencing the same issue @yaomtc previously described where Steam won't recognize my switch controller over USB.

  • Steam client version (build number or date): November 2, 2018, package version 1541202990
  • Distribution (e.g. Ubuntu): Ubuntu 18.04.1 (64 bit)
  • Opted into Steam client beta?: [Yes/No] Yes
  • Have you checked for system updates?: [Yes/No] Yes

I installed steam, installed steam-devices, updated the rules file to include the USB and bluetooth lines for the switch pro controller. I've also tried uninstalling and re-installing steam via apt. Steam error logs produce the following:

Local Device Found
  type: 057e 2009
  path: 0003:0005:00
  serial_number:  - 0
  Manufacturer: 
  Product:      
  Release:      200
  Interface:    0

Unable to open local device: 0003:0005:00

while the output of lsusb shows:

Bus 003 Device 005: ID 057e:2009 Nintendo Co., Ltd

I own a steam controller and a PS4 controller which are detected by steam without issue. The switch controller is recognized by steam on another system running kubuntu 18.10.

99-steam-controller-perms.rules.txt
lsusb_output.log
steam_error_output.log

EDIT: This issue was resolved by adding a separate rule to /lib/udev/rules.d containing the following line:

ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="057e", ATTR{idProduct}=="2009", MODE="666"

Ddarkpumpkins 2019-05-11 github

Here the NS pro controller is detected in steam but not into the games. I'm using ubuntu 19.10 ( the problem already was present into 18.10 ), I updated my rules for adding Nintendo Switch pro controller but nothing to do, dead cells or rogue legacy both native games do not see the controller ...

Kkisak-valve maintainer 2020-12-04 github

Hello @dindon-sournois, @darkpumpkins, are either of you still experiencing this issue on an up to date system?

Ddindon-sournois 2020-12-05 github

Hi @kisak-valve, it seems to be working on up to date system.

Ddarkpumpkins 2020-12-05 github

Sorry for the wait.
I tried some native :

  • Dead cells
  • Rogue Legacy
  • Salt and sanctuary

and some with steam play proton :

  • Dark sous III
  • Killer Instinct
  • Street fighter V
  • Metal gear Solid the phantom pain

The only where my Nintendo Switch pro controller isn't detected is Dead Cells ... the gamepad seems to be detected as a keyboard :/
I think that is a game specific behaviour so the situation is a pretty good.

My config is :
Ubuntu 20.10
Asus X570 TUF gaming motherboard
AMD ryzen 7 3700X
16 Go DDR4 @ 3600Mhz
Steam beta version of the 05/12/2020

Kkisak-valve maintainer 2020-12-05 github

Thanks for retesting, closing.

Nothing extracted yet.