-
Notifications
You must be signed in to change notification settings - Fork 86
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Brütal Legend ( 225260 ), controller stopped working after SLR enablement on beta client ( more details in the issue, a bit complicated ) #697
Comments
I'm sorry, I don't think I understand this sentence. What's the truth table for the situations in which the gamepad does and doesn't work?
You can tell whether the game is running in the The
The container runtime looks like this:
Or you can tell the difference by looking at the game's environment variables, |
I notice from https://steamdb.info/depot/225274/ that this particular game contains a bundled copy of SDL, which is presumably quite old. It's probably older than the work I did in SDL to make gamepad discovery container-friendly. After clarifying which situations work and which situations don't, please try moving |
Situation: Beta client with that game in native form-> Controller doesn't work Stable client with that game in native form but Steam Linux Runtime 1.0 forced via compat options-> Controller does work I can try that renaming thing after i get home but tbh i'm not sure why would that change anything when situation is like described above. Beta client itself forces 1.0 to every native game by default, no? If yes; then why forcing 1.0 on Stable Client has working controller while beta client doesnt't have that. Side note: That game is in dire need of SLR 1.0 because otherwise audio doesnt work. |
As you say, this is weird. I would have expected that these two scenarios should behave the same (and I think that's also your line of thinking): either the controller should work in both cases (which is what we all want to happen), or the controller should fail to work in both cases (which obviously would still be a bug, but it would be an understandable bug). It is strange that you observe different behaviour in these two cases.
Sort of. It's best not to say "1.0" without further qualifiers, because every older native game is (at least in theory) designed to run under Steam Runtime 1.0 - but there are two different ways that can happen (the But, if you were forcing use of |
It would give us a useful data point, and it might give you (and other players) a workaround. I don't understand how the situation you've reported can have happened, but knowing whether this workaround works or not would help to bring us a little bit closer to understanding it. |
Doing this makes controller work in both:
There is a behaviour change with this: Controller didn't vibrate before, now it does. But issue of controller not working gets resolved by that renaming workaround. |
Thanks. Based on that, it seems that as I suspected, the root cause here is that this particular game bundles an old copy of SDL2 that did not support enumerating game controllers in a way that works inside containers (older than 2.0.14, which fixed libsdl-org/SDL#3868). You can work around this by arranging for that copy of SDL2 to not be used. What I don't yet understand is why, in the stable client, forcing use of Steam Linux Runtime 1.0 via compatibility options worked - that "shouldn't have worked" (without the workaround of moving the outdated SDL2 out of the way), for the same reason that it doesn't work in the beta. |
It is weird to me as well, but behaviour differences with Beta client vs Stable client with 1.0 runtime is not specific to this game either. There is another weird behaviour that i didn't report ( because in its essence it is a Mesa bug ) but occurance of the Mesa bug on beta client vs stable client is different too. https://gitlab.freedesktop.org/mesa/mesa/-/issues/10018 On Stable client with 1.0 forced, it goes a bit past of initial company logos and crashes. On beta client with 1.0 forced/not forced, it crashes at the first frame. Repro rate is 100 percent on my end. Basically beta client makes the issue visible in the form like how it was originally reported, stable client with 1.0 makes the issue visible in a different way that doesnt classify as fully how it was originally reported. Not sure if one should create an issue for that too as in the end it won't make the game work regardless. Do note that game has a drirc conf entry as well, so maybe beta client somehow does neglect that entry. |
There is a new experimental feature in yesterday's beta of As an alternative to moving the outdated SDL2 out of the way, in the new beta you can set an affected game's Launch Options to:
which will instruct the container runtime to override the version of SDL2 that is used. (Internally, this uses the As with any similar workaround or tweak, if you report bugs in a game where this workaround is active, please mention that the workaround is there so that developers can take it into account, and be prepared to re-test without it. Note that even though the compatibility tool indicated in the UI is To opt-in to a compatibility tool beta, follow instructions similar to https://help.steampowered.com/en/faqs/view/5A86-0DF4-C59E-8C4A, but instead of locating Counter-Strike 2 and changing its Properties, you would do the same for SLR 2.0. |
Yeah, thanks for mentioning it, but I'm going to say this sub-thread is out-of-scope. If the game isn't working either way, then I don't think there is anything that we can do about this from the Steam Runtime side: we're taking your graphics drivers from the host system, so the best we can hope for is "graphics drivers work just as well as they did on the host system". We can't achieve miracles! If you reach a situation where there is a configuration without using the SLR container that works, and a second configuration that uses the SLR container and doesn't work, then I think that is the time to look at opening a separate issue for it.
My first guess would be that these could be triggered by updates in one of the non-open-source parts of Steam, like perhaps the You could test this theory by setting Launch Options to
We do try to symlink your I believe Mesa also has an environment variable that you can set to make it log more information about its use of If you can find evidence that your |
Your system information
steamapps/common/SteamLinuxRuntime/VERSIONS.txt
?:steamapps/common/SteamLinuxRuntime_soldier/VERSIONS.txt
?:steamapps/common/SteamLinuxRuntime_sniper/VERSIONS.txt
?:Please describe your issue in as much detail as possible:
On Steam Beta client controller doesn't work with this app while on Steam stable client it does, with SLR 1.0 forced just like how Steam Beta client now does that by default.
Tested if this affects Proton titles but no, controller works with them. So possibly somehow that SLR enablement in beta client goes wrong.
STEAM_LINUX_RUNTIME_LOG=1 steam
log retrieved:slr-app225260-t20241018T222524.log
Steps for reproducing this issue:
The text was updated successfully, but these errors were encountered: