protonscr

Xbox controller works in Big Picture but not in-game using Proton version > 9.0-4

protonopen Regression
ValveSoftware/Proton#8917 · opened 2025-07-19 by gdaroch · updated 2026-01-29 · 20 comments · github
Ggdaroch 2025-07-19 github

Hi, I can't get the Xbox series controller to work with proton version 10.0-1 beta, Experimental or Hotfix, it only works with version 9.0-4. This only happens within games, Big Picture and my OS correctly detect the controller, both with Xpad and a USB cable, and with Xone with the Microsoft dongle.

I tested this with 3 games with the same result. Hades (DirectX), Silent Hill 2 Remake and Expedition 33.

Operating System: Manjaro Linux
KDE Plasma Version: 6.3.6
KDE Frameworks Version: 6.16.0
Qt Version: 6.9.1
Kernel Version: 6.12.38-1-MANJARO (64-bit)
Graphics Platform: X11
Processors: 16 × AMD Ryzen 7 5700X3D 8-Core Processor
Memory: 31,3 GiB of RAM
Graphics Processor: NVIDIA GeForce RTX 5070 Ti
Manufacturer: Micro-Star International Co., Ltd.
Product Name: MS-7C94
System Version: 1.0

Kkisak-valve maintainer 2025-07-19 github

Hello @gdaroch, please add PROTON_LOG=1 %command% to a couple affected game's launch options, reproduce the regression, and attach the generated $HOME/steam-$APPID.log to this issue report as a file. (Proton logs compress well if needed.)

CCandyXandy 2025-07-27 github

Leaving my own set of logs using proton 10 with my controller not working in Final Fantasy VII Rebirth.

steam-2909400-NoSteamInput.log

steam-2909400-WithSteamInput.log

Controller inputs work on proton 9.

?ghost 2025-07-31 github

Having some issues getting controller to work on Combat Master.

The game somehow fails to pick up my connected controller regardless of what connection mode is used.

Used Proton 9, Experimental and 10 Beta as well as having both Steam Input enabled and disabled, but sadly still gives issues.

steam-2281730.log

?ghost 2025-07-31 github

Edit: Unsure what I did, but upon switching to Proton 10-2 beta and disabling Steam Input, Combat Master suddenly picks up controller inputs.

Uhhh, okay.....

?ghost 2025-08-01 github

Ok, if a Valve employee could see this.

Combat Master needed to be run on Proton 10-2 twice.

Once through Steam>Settings>Compatibility>Proton 10 Beta 2
Twice via Right Click Game>Properties>Compatibility>Enable "Force the use of Proton version">Select "Proton 10.0-2 Beta"

Its a strange workaround just to fix controller issues.

CChZerk 2025-08-01 github

Same issue and its been a couple of month at least. Tested in multiple machines running endeavouros and multiple controllers.

Proton 10 and up - Nothing is detected. Not using xinput, not dinput, not wired, not dongle, not bluetooth.
Proton 9 and under - Controllers work as intended.

proton9.log
proton10.log

Tthecookie94 2025-09-30 github

Can confirm, native controller input doesn't work on Proton 10 and up on all games I've tried (be it isaac rebirth, beamng, silksong etc). Steam Input works, but comes with it's own issues.
Using an 8bitdo Ultimate 2C (wireless via the 2.4GHz dongle), for reference.

CChZerk 2025-09-30 github

Can confirm, native controller input doesn't work on Proton 10 and up on all games I've tried (be it isaac rebirth, beamng, silksong etc). Steam Input works, but comes with it's own issues. Using an 8bitdo Ultimate 2C (wireless via the 2.4GHz dongle), for reference.

Hi @thecookie94
You can set PROTON_PREFER_SDL=1 %command% on your games launch options with steam input disabled to get it working. Its the workaround I am currently using and it is working for proton 10+ including GE versions.
The only drawback is you need to add this on every game you want to use a controller with.

Tthecookie94 2025-09-30 github

Can confirm, native controller input doesn't work on Proton 10 and up on all games I've tried (be it isaac rebirth, beamng, silksong etc). Steam Input works, but comes with it's own issues. Using an 8bitdo Ultimate 2C (wireless via the 2.4GHz dongle), for reference.

Hi @thecookie94 You can set PROTON_PREFER_SDL=1 %command% on your games launch options with steam input disabled to get it working. Its the workaround I am currently using and it is working for proton 10+ including GE versions. The only drawback is you need to add this on every game you want to use a controller with.

Hi @ChZerk!

Thank you for your tip, that gets it working on beta 10.0-2!
BUT doesn't resolve the issue on proton experimental.
Attached are 3 logs, proton 9.0-4 without PROTON_PREFER_SDL=1 for reference (working), proton 10.0-2 beta with PROTON_PREFER_SDL=1 (working) and proton experimental with PROTON_PREFER_SDL=1 (not working).

Hope we're gonna see some progress on this issue soon

steam-250900-rebirth-without-prefersdl-working-proton-9.0-4.log
steam-250900-rebirth-with-prefersdl-not-working-proton-experimental.log
steam-250900-rebirth-with-prefersdl-working-proton-10.0-2b.log

?ghost 2025-10-25 github

So......

I am unable to confirm whether I am dealing with a controller firmware bug, or a Steam Input bug......

But, when my controller is connected via USB, Steam picks it up as the controller's brand name, hence making Steam Input and the game's native controller support unusable, but if I hold the (using a GameSir Nova Lite controller) X button and then the Chicken Button, the controller switches to a Generic Xbox controller layout and then I am able to play a game using controller layouts with Steam Input disabled.

Again, I am unable to confirm which bug, Firmware or Steam Input, I am dealing with.

?ghost 2025-10-26 github

I somehow suspect that Steam Input, while steam-devices is correctly installed, is having difficulties translating the controller inputs without on-controller mode switching....

Tthecookie94 2025-10-26 github

@MyNamesTee have you tried the whole PROTON_PREFER_SDL=1 thing with steam input disabled?

?ghost 2025-10-27 github

@MyNamesTee have you tried the whole PROTON_PREFER_SDL=1 thing with steam input disabled?

Just tried it now, no dice sadly. Same thing with Steam Input enabled. The game (Combat Master in this case) sees my controller as connected (connected via Wireless Dongle) but inputs are not doing anything.

Image
?ghost 2025-10-27 github

Attempting the native package right now....

Please standby

?ghost 2025-10-27 github

Native package works, had to reset the Steam Input layout to this one.....

Testing the unofficial Flatpak version right now, please standby....

Image
?ghost 2025-10-27 github

Ok, turns out, trying to make your own Steam Input layout leads to controller inputs breaking, not working and wont allow your controller to properly communicate with the game.

Issue solved.

Ggdaroch 2025-12-12 github

Thanks for the feedback and suggestions.

Forcing SDL resolved the issue on my end. Using the following launch options,
the Xbox Wireless Controller works correctly in Proton 10 and Proton Experimental
(over Bluetooth):

PROTON_PREFER_SDL=1 SDL_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT=0x045e/0x0b13 %command%

Note: VID/PID values will vary depending on the controller model and connection
method. These are specific to my setup. (VID/PID can be obtained using evtest)

Nnyabinary 2026-01-10 github

Can confirm this happening on Isaac on my Steam Deck with Proton Experimental.

Ttornadus 2026-01-29 github

I tried to debug this to the best of my ability and made some discoveries. I made a little test program that just enumerates connected controllers via SDL2 to do so. You'd expect the SDL_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT=0x045e/0x0b13 %command% workaround would make Proton detect the correct controller, but it actually seems to be what allows any controller to be detected at all. Some notable behavior is that with Steam Input enabled, the virtual controller goes entirely undetected unless the workaround is applied, despite having a completely different device ID. I believe Steam Input is also supposed to hide the hardware controller to prevent double inputs, so that might also be a bug.

No Workaround Workaround

For completeness' sake, I also tested the behavior running as a native Linux non-steam app. Everything worked as expected.

Linux Native