protonscr

[BUG] Steam Input overrides/ignores native SDL3 controller functionality when Steam is running.

steamopen General controller / Steam Inputnon-Steam application
ValveSoftware/steam-for-linux#13217 · opened 2026-05-16 by dbarreropl · updated 2026-10-19 · 10 comments · github
Ddbarreropl 2026-05-16 github

With the recent inclusion of the new Steam Controller into the SDL3 library, we are facing an issue where Steam Input completely overrides and blocks native SDL3 features (like advanced gyro and layout handling) when launching a Non-Steam Game.

The Steam Controller is forced to "Enabled, always required" for Steam Input. When the app is launched, the controller appears with its correct hardware name inside the app, but there is no direct access to any native features beyond the typical default Xbox-style layout. It appears that native SDL3 communication is being completely blocked/ignored by Steam Input.

Please allow users to fully "Disable Steam Input" or enable a "Raw HID/SDL3 Pass-through" mode for Valve controllers in the properties of Non-Steam Games. This would allow modern apps to leverage the native SDL3 support you recently implemented without Steam Input forcing an Xbox layout over it.

Thank you!

Fflo-lec 2026-05-30 github

Up!
I'd like to be able to launch some non-steam games from Steam, but use the native SDL from the app launched
It is especially useful for games from emulators.
You're really open-source friendly, pretty sure it's doable

CCosmoButt 2026-09-17 github

Still suffering from this issue... Got a fancy Steam Controller with gyro and all sorts of bells, yet cannot use motion controls in emulators like Cemu... Disappointing :/

Cconcept8192 2026-09-18 github

Still suffering from this issue... Got a fancy Steam Controller with gyro and all sorts of bells, yet cannot use motion controls in emulators like Cemu... Disappointing :/

all you can do is be really REALLY patient dude 😔

Ppaperweightorder 2026-09-24 github

this is such an annoying issue and i can't believe it's not fixed yet

Ppaperweightorder 2026-09-24 github

are there any present workarounds? i'm trying to play celeste natively, but the steam overlay is not working and as far as i know i can't force sdl on the controller like i could on proton.

TThe-Briel-Deal 2026-10-04 github

For those affected by this i've found a workaround while we wait for steam to give us a proper way to disable steaminput for steam controllers/steamdeck controls.

Steam uses the SDL_GAMECONTROLLER_IGNORE_DEVICES environment variable to tell SDL to ignore certain controllers so that they don't receive double input from steaminput and the actual controller. You can use SDL_GAMECONTROLLER_IGNORE_DEVICES="" %command% in a games launch options to prevent sdl from ignoring any devices, or you could probably use the SDL_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT env var (i haven't tested this one myself) to just disable it for your steam controllers VID/PID.
https://wiki.libsdl.org/SDL3/SDL_HINT_GAMECONTROLLER_IGNORE_DEVICES
https://wiki.libsdl.org/SDL3/SDL_HINT_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT

Cconcept8192 2026-10-04 github

Replying to https://github.com/ValveSoftware/steam-for-linux/issues/13217#issuecomment-5985144584

This doesn't work for me, at least not on any games I play. Dolphin and Cemu still can't use gyro input. I'm on Windows though so idk

TThe-Briel-Deal 2026-10-04 github

Replying to https://github.com/ValveSoftware/steam-for-linux/issues/13217#issuecomment-5985257531

Do dolphin and cemu work with your steam controller when you don't launch them through steam? If not then they probably aren't built using a recent enough version of SDL3 which supports the steam controller without steaminput. It was only just added a little after the controller came out.

Also, idk if you can set env vars on windows like that, you might have to make a powershell script or something where you use the $Env:SDL_GAMECONTROLLER_IGNORE_DEVICES="" syntax. I'm on linux so the launch options thing I mentioned is using the syntax of a posix like shell to set the env var for a process

Cconcept8192 2026-10-05 github

Replying to https://github.com/ValveSoftware/steam-for-linux/issues/13217#issuecomment-5985275661

dolphin works with my steam controller when i don't launch it through steam but cemu doesn't, and i thought you meant launch options like the field in steam properties

Ppetersvp 2026-10-19 github

Even in Windows, SDL3 should need to have a toggle inside steamworks to opt out of steam controller and use games native steam controller support.

Windows is currently such an input hell and many small devs don't even care... I don't want it like this. Steam controller Lizard mode should have firmware level switch to emulate xinput, dinput and beeps to know which mode it is until claimed by HID request to switch out of Lizard Mode. Please consider.

SDL3 can then provide support, and steam should have a way to let third party game use the controller. And an user facing option to completely ignore and not hijack the Steam Controller like it does for all other controller types.

Currently, the Linux driver surpasses Windows situation. The hardware Lizard mode needs improvement, either through firmware or on a driver level. Possible, I'm pretty sure it's possible...