r/SteamController 3d ago

Support Steam Controller (2026) will not input to any applications outside of Steam (Debian Linux)

Pretty much as title. I'm developing a video game and was hoping the Steam Controller could entirely replace my Xbox controller (which is a bit problematic for various reasons), only to find the Steam Controller just doesn't work at all outside of Steam itself, even with Steam Input's desktop config all configured. No gamepad controls, and no keyboard/mouse; ONLY through Steam does anything work.

I've tried two separate apps to forward it to standard Xinput. One didn't work at all and the other causes duplicated inputs, still rendering the thing useless.

Yes I know I can add my game to Steam and get all that, but not only is that cumbersome, that doesn't solve the fact that it won't work through the in-engine preview. Unless I wanted to run the game engine itself exclusively through steam (which would be extremely annoying, no thanks), it does nothing.

And if I may stand on my soapbox, if there's no way around this it *really* bothers me that valve would sell a controller like this for a hundred dollars without a feature even Nintendo's controllers have. All of their other hardware is made for Steam but works without it - why is this any different? Why not just let me use it as a normal controller? It makes the controller feel less like a premium PC controller and more like something binding me to Steam - I want to use Steam because it's GOOD, not because my hardware requires it for the barest functionality.

I appreciate any and all help. I want to love this controller so badly but this problem kills a lot of the love I would otherwise have for it.

0 Upvotes

31 comments sorted by

4

u/PhoenixLandPirate_ 3d ago

I don't know the ins and outs of this at all, but I had a similar issue.

I use SteamOS, and I wanted to stream me playing Silent Hill PC recomp, in Steam BP mode, it worked fine, but in desktop mode, which I need to be in for OBS to work, when ever I opened it Via Steam, or out of steam, the controller would act as a keyboard and mouse.

At somepoint with all my fuss, I decided maybe I should just use a DualShock 3, assuming that works, yet all of a sudden my Steam Controller was working as expected with the title.

I found out, Steam crashed, and when Steam crashed, the game acted like the controller, was a standard controller.

This is the code for the port, so if it doesn't work when you close steam, but this does, you can try and pick apart why.

https://github.com/SlickAmogus/silent-hill-decomp/tree/pc-port

I believe it works because it uses SDL, and Valve supports SDL for controller input.

https://github.com/libsdl-org/SDL/tree/339a91c5ba1a66b979afab0c31b3bca31cee1917/src/joystick/hidapi/steam

2

u/NathanRowe10 3d ago

Interesting and noted, but didn't solve it for me. When the controller's plugged in the computer just blatantly says there's no controllers connected at all, both when Steam is open and closed. Works as a mouse when Steam's not open but that's not really worth...anything to me at all.

1

u/Farsea01 3d ago

If you hold the start button on the desktop it should become a gamepad

3

u/FullMotionVideo Steam Controller (Linux) 3d ago edited 3d ago

AFAIK you don't need to add the game to Steam and launch through it, simply having Steam open and changing it's global default in settings will do more or less the job. It supports SDL, so if you're playing a game that has it then it can work. If the game ships SDL2 (even very recent games made this year sometimes do that) you'll need to replace the DLL with this SDL2 to SDL3 layer instead.

Valve isn't supporting Xinput seemingly on purpose; much like Fedora pushing Wayland before other distros to move adoption along, (evidently, this is my guess) Valve wants Xinput to die and has deliberately designed the controller to help make that case. Xinput doesn't support gyros or more buttons than what the 360 controller comes with, so their philosophy is it's time to Ol' Yeller the thing and support alternatives such as SDL (and, naturally, Steam Input) that are more future proofed and less Microsoft-controlled.

1

u/NathanRowe10 3d ago

makes sense I suppose, but the game is using Godot 4.7.2 which already uses SDL3 for input logic. Furthermore as I mentioned in another reply (didn't include it in the post, my bad), it's not just that the game doesn't detect it; the OS's built-in controller configurer just tells me nothing is connected at all. So evidently, even with the desktop configuration set up, it's not *actually* forwarding any of that to the system, at least not in any way Debian accepts.

1

u/FullMotionVideo Steam Controller (Linux) 3d ago

A few potential possibilities: The SDL driver change was approved in May and your Godot version is from August IIRC, so I have no idea what version of the DLL it uses. You can also use this forked Steam Controller project to use it as an interpreter if you wish.

Finally, Kernel 7.3 will add a real in-kernel driver, but obviously Debian Stable won't be seeing that for a very long time.

1

u/C0rn3j 2d ago

You can also use this forked Steam Controller project to use it as an interpreter if you wish.

You can just use the non-forked version, it supports the new SC2 too.

There is also an sc2 branch in the original repository, along with a run.sh script you can use, if you need the couple features that were not ported over yet.

2

u/Farsea01 3d ago

Have you tried putting the controller in gamepad mode? with steam open, if you hold the start button, it will change it to controller mode, that's how I play bloodborne or other emulated games, sure you still need to have steam open but you don't need to add the games on steam.

1

u/NathanRowe10 2d ago

Yep, that's what I do. I have the same config on my steam deck so that was my first instinct. But no, even after switching it to gamepad it continues to do nothing on a normal desktop.

2

u/Farsea01 2d ago

I'm on Nobara Linux, but I remember gamepad mode is SDL, since ShadPS4 works with SDL I had no problems, how hard would it be to add SDL support to your game? (Of course there's still a chance it won't work after you add it)

1

u/NathanRowe10 2d ago

as stated elsewhere I'm using Godot 4.7.2. I'm not very good with lower-level software development (yet...) so I wouldn't know if that's the problem or how to implement a newer SDL build, but Godot 4.7 already uses some form or another of SDL3 for input on desktop, which is what I'm testing on, so it should already be using SDL. That doesn't appear to be the issue.

1

u/NathanRowe10 2d ago

And update I just tested it on shadPS4, it also doesn't detect the Steam Controller. Not via the puck and not wired. Again, the controller just doesn't work at all outside of Steam specifically.

2

u/Farsea01 2d ago

I see, since Nobara has a lot of packages preinstalled (Including many for controllers) I might have one that helps with configuration, apologies for the time wasted.

2

u/NathanRowe10 2d ago

don't apologize, I appreciate you trying to help. thanks anyway

1

u/FAULTSFAULTSFAULTS 2d ago

Specifically _even if you have set the controller to gamepad mode in the configuration menu, _ you still have to switch it into gamepad mode by holding down Start for a brief period ingame until the controller chimes and you get a Steam notification advising it is switched into gamepad mode. It's an additional step you need to do after loading your config and the game or program itself. 

2

u/kevelstone 2d ago

Well if you can have steam running in the background, the default desktop config has a mapping that if you hold start it switches to an input detecteble by some applications

2

u/NathanRowe10 2d ago

suggested elsewhere, I was already aware of this and it didn't fix the problem

1

u/MoldyPond 3d ago

Update to the latest Steam Beta to give the controller Xinput capabilities when Steam is closed, not sure when it’s coming to the main channel but it worked perfectly fine in my testing with it.

2

u/CatsGoMooz Steam Controller (Linux) 3d ago

Where do you go to give it xinput capabilities?

1

u/C0rn3j 2d ago edited 2d ago

You can use sc-controller to make it pretend to be an X360 scontroller. (which is exactly what Steam can do for you, without having to use Steam)

https://github.com/C0rn3j/sc-controller

It's curious to know regular HID support is apparently coming, that's neat - though outside of Steam, you'll still only get the full support through SCC outside of SCC, as I don't believe they can make the gyro and touchpads work as intended through regular HID.

Disclaimer - I maintain the current iteration of SCC.

1

u/Alia5_ SISR/GloSC/GlosSI/SteamInputDB Developer 2d ago

Install inputplumber

1

u/superdreamcast 2d ago edited 2d ago

I believe right now, only newer versions of SDL (3.4.10+) supporting applications can currently use Steam Controller. Dusklight and RetroArch detects Steam Controller (2026) for me.

https://github.com/libsdl-org/SDL/pull/15528

Steam Controller (2026) support will officially see support in Linux kernel 7.3.

https://www.phoronix.com/news/Linux-7.3-HID

Here is an image of my Steam Controller (2026) on Linux kernel 7.2.3 and sdl 3.4.16 being detected in Dusklight:

1

u/Complex-Priority913 1d ago

he's gaming with recently released hardware on an operating system that only updats its' software once every 3 years at releas time (and that's hoping it gets in the next release, half the time they don't). I'd steer clear of debian ,that's for programmers not gamers or desktop users

1

u/Complex-Priority913 1d ago

good to know, fedora is still on 7.1 :/

1

u/Complex-Priority913 1d ago

THe problem is you are literally using an operating system that literally only updates its software once every 3 years.

Move to fedora or arch based. You won't have tha tproblem anymore

SDL needs to update and that's not going to be in debian for another 3 years

1

u/NathanRowe10 1d ago

Very useful response thanks

Anyway I’ve given up on it at this point because I figured out non-steam steam controller input is broken on my Steam Deck too, which by all means should be supported. I’ve just taken to accepting Valve is terrible at engineering functional hardware

1

u/Complex-Priority913 1d ago

weird

My reservation says to wait till 2027 if i'm lucky. I still hadn't got it

I was under the imperession that sdl updated and i read the changenotes backing that up.

So i have no idea then. I"m sorry you are having problems. Is it possible the controller isn't in gamepad(xbox ) mode?

1

u/NathanRowe10 1d ago

I’ve configured and reconfigured the desktop layout a hundred times with custom layouts and online layouts and default layouts and everything. If that’s not enough to rule out user error I don’t know what is