protonscr

Gamepads don't work in proton games after the last Steam client update.

steamclosed Distro Family: DebianGeneral controller / Steam InputProton
ValveSoftware/steam-for-linux#7764 · opened 2021-04-22 by Igortorrente · updated 2023-06-30 · 13 comments · github
2 matching comments, n / p to jump
IIgortorrente 2021-04-22 github

System information

  • Steam build date: Apr 12 2021, at 18:51:43
  • Steam package version: 1618256785
  • Distribution: Debian 10
  • Opted into Steam client beta?: No
  • Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

I have a PS4 and a PS2 to USB dongle, and both were working on proton games like Journey, Ori and Blind Forest, and Cuphead, but since the last steam update, the controllers don't work anymore in those games.
These still work in the big picture and left 4 dead 2(native port) though.

Steps for reproducing this issue:

  1. Connect the controller to PC
  2. Start steam in the big picture mode
  3. Start a game that uses proton
  4. The game will not recognize any joystick
CCat-Lady 2021-04-25 github
IIgortorrente 2021-04-25 github

I don't know if it makes any difference, but I'm using a different proton version in each of the games that I mentioned(Because each game needs a different version to work properly).

In CupHead I'm using the latest proton version, while journey and ori and blind forest I'm using proton 5.0-10.

Kkkartaltepe 2021-05-01 github

I think I am also experiencing this on Archlinux. For me it seems to have occurred some time after 04/16 (the last day I remember successfully playing). Controller configuration everywhere outside of games works ("Desktop configuration", Big picture mode, etc). But in games no input is recognized.

Steam build date: Apr 12 2021, at 18:51:43
Steam package version: 1618256785
Distribution: Arch Linux
Opted into Steam client beta?: No
Have you checked for system updates?: Yes
Kkkartaltepe 2021-05-01 github

Possibly related to:
ValveSoftware/Proton#4775

I attempted the workaround with setting HKEY_LOCAL_MACHINE -> System -> CurrentControlSet -> Services -> winebus DisableHidraw to 1(apparent typo in the linked issue of Software -> System which doesnt exist on my registry). However the only difference i could tell is that this prevented the virtual XBox 360 joystick from being created. No input was registered in the game (even after creating a SDL_GAMECONTROLLERCONFIG environment variable and passing through to the game, though historically I have never done this).

CCat-Lady 2021-05-02 github

You might want to try messing with few other registry keys related to the controllers - things form the very bottom of this page:
https://wiki.winehq.org/Useful_Registry_Keys

Enable SDL, DisableInput and MapControllers might be of special interest. It is a bit tedious, but testing them in various - often counter-intuitive - combinations might prove effective (For example, in my case, DisableInput seems to work exactly in reverse of the description, having it a 1 ENABLES input, and at 0 makes game stop registering it at all).

IIgortorrente 2021-05-02 github

@Cat-Lady Can you send here a tutorial link about how to change the registry keys?

Thanks

Kkkartaltepe 2021-05-02 github

You might want to try messing with few other registry keys related to the controllers - things form the very bottom of this page:
https://wiki.winehq.org/Useful_Registry_Keys

Enable SDL, DisableInput and MapControllers might be of special interest. It is a bit tedious, but testing them in various - often counter-intuitive - combinations might prove effective (For example, in my case, DisableInput seems to work exactly in reverse of the description, having it a 1 ENABLES input, and at 0 makes game stop registering it at all).

I did play with those and they made no difference in my case.

--- edit
Finding some controller enabled games to test with pure wine, they work at least to the point of recognizing input but the mapping is wrong in a clean prefix. Which is more than I can say for the steam prefix. SDL_GAMECONTROLLERCONFIG seems to have no appreciable affect on mapping either (at least as generated by gamepad-tool).

--- edit 2
None of the Useful Registry Keys appear to change joystick handling in any noticable way (testing helltaker windows version default bindings, wine without using steam).

--- edit 3
In the end I found that helltaker actually works with steam when you enable ps4 controller support in the Generally Controller support and in the game properties. However other games do not detect the input at all, Nier replicant but also ones without DRM such as Enter the Gungeon dont work at all. (Enter the Gungeon kind of sort of works outside steam)

--- edit 4
Enter the gungeon actually works flawlessly with controller outside of steam as well once you remove all those registry edits. It's only under steam that the controller cannot be recognized.

Kkkartaltepe 2021-06-08 github

fwiw this appears fixed for me on 1622844577 (built Jun 4) and proton experimental as well as proton 6.3-4.

On the beta client, proton 6.3-4 continues to work but proton experimental incorrectly maps buttons.

IIgortorrente 2021-06-09 github

fwiw this appears fixed for me on 1622844577 (built Jun 4) and proton experimental as well as proton 6.3-4.

On the beta client, proton 6.3-4 continues to work but proton experimental incorrectly maps buttons.

Great to hear it, I will wait the release to confirm it myself.

Thanks for the information!

Kkkartaltepe 2021-06-09 github

I mean it is working on the stable client with proton experimental. It just appears to be re-broken if you use beta with experimental proton.

IIgortorrente 2021-06-09 github

Ohh,

The games doesn't work if I use anything newer than 5.0-10 :/.

But, thanks anyway

IIgortorrente 2022-02-06 github

Magically it's working again.

GGNUGradyn 2023-06-30 github

I'm havng this issue with wiimotes on steam deck. Steam input works, but if you disable steam input, the controller is not available to any applications running in proton. This prevents use of wiimotes in cemu on proton for example

Proton versions

Launch options

Upstream links