-
Notifications
You must be signed in to change notification settings - Fork 72
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
Steam Linux Runtime re-check #324
Comments
Added above description more or less also to the Steam Linux Runtime wiki |
Warned enough. We'll see... |
so I think it would be better to continue the conversation here so continuing from https://www.reddit.com/r/SteamTinkerLaunch/comments/ulh355/steam_linux_runtime/ found some interesting tidbits Logs So running this game (trails of cold steel 3) with USESLR enabled in the steamtinkerlaunch settings but FORCESLR disabled Running the game with USESLR enabled and FORCESLR enabled WHILE gamemode and mangohud (as the binary) is enabled causes the game not to launch (Is this expected ? can something be done about it?) Running the game with USESLR and FORCESLR enabled with gamemode and mangohud disabled launches the game with SLR ( can verify as in the proton logs this is added on the top of the log where it mentions the kernel version and some other sys info ( this is how I noticed all this in the first place and started investigating
EDIT: the interesting thing is enabling gamemode or mangohud (tried both individually) while SLR is being used prevents the game from running (actually maybe this is due to it running in a container (which is what SLR is afaik) and it can't access those things?) running the game without steamtinkerlaunch in the launch options or compat tool does allow mangohud and gamemod to work alongside SLR though so maybe there something there? sorry if all this was already known and explained and I necrod this for nothing 😅 but at the very least maybe this can clear things up a bit and I could definitely see someone making an issue about mangohud or gamemode not working when steamtinkerlaunch is used as a launch command and they not knowing it's because of SLR so we can just add a warning to the wiki about that if nothing can be done |
Thanks for the report! only changed the title for now, will re-check soonish |
Just took a quick look. |
just started both a native and a windows game with steamtinkerlaunch as launch option. Both attempts did not have the SLR anymore in the command line, so apparently this was changed upstream (no idea when, as mentioned in above reddit thread I haven't checked that for a long timer) |
Just "removed all Steam-Linux-Runtime and Reaper related tweaks" (also from the whole wiki) |
I'm not sure about removing all the SLR and reaper stuff. On the one hand this commit does fix the issue of mangohud and gamemode not working when SLR is used but on the other hand now proton games (and some native games which might need SLR since they haven't been updated for newer linux systems though at that point it may be better to run it with proton) will not behave the same as when it is run without steamtinkerlaunch, so that could introduce the possibility of proton (or native) bugs that only happen when steamtinkerlaunch is used. on the other other hand 🤣 We found out that the SLR functions never really worked anyway unless you (may be incorrect but so far this is what testing shows) a. force enable it if you are using steamtinkerlaunch as a compat tool AND also disable gamemode and mangohud b. so to keep the functions we would need to either a. fix the issue with mangohud and gamemode not working with SLR (problem is like you said this can break at any time becuase of upstream and maybe even break other things) b. add notes to the wiki about this issue and add code to automaticly disable gamemode and mangohud when SLR is being used. c. I think in this case (though I have to try it adding mangohud and gamemode as launch commands in steam and disabling them in steamtinkerlaunch might work? (an argument could be made then that maybe this is what we should do sice gamemode already messed with some other functions like GDB and cheatengine and Imagine (haven't tried) now since we are using the mangohud binary it will also break those functions) so maybe we need to find out why that happens and fix it anyway or drop support for them (which would heavily cripple steamtinkerlaucnh as thes are (at least mangohud) very heavily used functions i belive) EDIT: This was all tested on 10.0 stable from the chaotic aur (was to lazy to build an older git version before the delete but shouldn't make much of a difference)
|
sorry, short reply. RL work starts soon. |
Removing the SLR options changed nothing (well except that you can't get slr working now when run as a compat tool since |
As already written |
I guess I simply removed it too quickly and added a little bug somewhere "only tested a bit". we'll see |
I think the discussion is a bit misleading and at least for me not easy to understand.
|
As i said on my above comment i was testing on 10.0 stable to make sure that adding mangohud and/or gamemode to the steam launch command allows SLR to work with either Running this way allows mangohud and/or gamemode to work with SLR Now back to the latest git if you run as a compat tool SLR is not used due to the lack of Now if we use steamtinkerlaunch as a launch command (again on latest git) SLR is used (I'm guessing because we're using proton as the compat tool and then running steamtinkerlaunch). Now the problem is if you enable mangohud and/or gamemode the game will not launch just like before on the 10.0 stable release. Once again applying the workaround i found of adding gamemode and/or mangohud as a steam launch command allows the game to launch with SLR (again confirmed by the top portion of the proton log) I didn't include logs since they don't show anything about SLR since all the SLR code was removed BTW this was all tested using proton 7.0-2 since that uses SLR (at least when it's used as the compat tool directly) GE for example does not use SLR |
just reverted the removal. edit: good to know GE doesn't use SLR, might be the reason why I never had any SLR problems. |
6.yes as i can confirm through my tests which i went into detail above if there is ever a situation we're SLR is going to be used (because it was forced through steamtinkerlaunch on older versions, or it was found because of One thing i haven't tested that i will when I get home is if SLR can be disabled by setting `USESLR' to 0 on the older version of steamtinkerlaunch (when ran as a launch command since it won't use SLR when ran as a compat tool unless you force it) |
assuming you started to write this before the revert above ("on older version") |
Yeah sorry I'm using GitHub mobile (omw to school) so i didn't see you posted before i finished typing |
np, just wanted to be sure. |
Np take your vacation you earned it😊 bring me back souvenirs 😋😅 In the meantime I'll look into this more on my end (doubt i will be able to come up with anything though) and yeah let's leave this open maybe someone can help (maybe we can post the issue on the Linux gaming development discord?) |
Thanks for understanding! :) |
Maybe interesting. With SLR re-added the good old |
Ohh forgot about that i remember you told me about the start debug function but i forgot about it. Yes it should be helpful in further debugging. And photographing butterflies? Nice i live in south Florida (U.S.A) so i like to go to the everglades and enjoy nature every now and then really relaxing and good for the soul😊 As for just posting there issue on discord you might be right i don't use social media much (werid since I am from the facebook generation well more myspace lol yeah getting old 😅) but yeah that might just come of as spammy and rude if i just go "hey guys can you just drop everything and come look at this supper specific issue i found on GitHub ( obviously exaggerated Abit) |
just played a bit with standalone steam launch options, and apparently the extra commands (here mangohud and gamemoderun) are prepended to the whole launch command, where currently in steamtinkerlaunch they are appended to the SLR/REAP commands. ps: never been in Florida (or U.S.A. generally), because we mostly avoid traveling via airplane generally, but I'm sure I'd love the |
SLR and REAP are prepended to the game command in the function |
nice!! it would be cool if this could also fix needing |
Haha, I think you're right. Haven't counted valid bug reports, but I'm pretty sure your on first 1st place easily 😀 |
Yeah true maybe then a cleaner thing to do is if vanilla proton is used (and it's greater than what ever version it was that introduced SLR in proton) and is launched as a compat tool and Else if steamtinkerlaunch is ran as a launch command we ignore all SLR stuff and let proton handle it. Then the EDIT: ideally if we can even figure out how SLR is called and use by vanilla proton when it's ran as a compat tool for a game we could even do the same thing making EDIT2: i think this would also work when a Linux native game is ran and a the user wants to use SLR. They would run steamtinkerlaunch as a launch command this all SLR options in steamtinkerlaunch will be ignored and SLR works The tricky part would be fixing the mangohud/gamemode bug. Maybe getting what ever the final launch command is (with SLR if it's used) and adding gamemode/mangohud to the front like you said? |
I'm not convinced that automagically enabling the FORCESLR hack without giving the user a choice is a good idea. |
well I'm not saying to remove the user being able to choose I'm saying maybe the I did mention removing all SLR options when its ran as a launch tool though which means the user wouldn't be able to disable it then. Maybe the 'USESLR' can work like this as a compat tool (Which is how it works now I think) if 'USESLR' = 1 and SLR is found in the launch commands use it just like that with no modifications (except maybe adding mangohud/gamemode to the beginning of the command if we use that idea) If EDIT: |
fyi: I'll rewrite the whole game launch command concatenation (split into generic subfunctions and merge at the end in the correct order) |
fyi: #465 |
Sorry i haven't replied. My 1080 fan shroud broke off (long story 😆) so i been without a computer for the past two days. Should be getting a 6700xt i found at MSRP this weekend though so I'll test then |
sorry to hear. on the other side I'm sure you'll love your replacement gpu :) |
closing in favor of #465 |
This info sticky might not be 100% correct and possibly will be edited
Any hints are welcome!
Based on #323 I found out that
stl
uses an old "v1"toolmanifest.vdf
when used as Steam Compatibility Tool.With this old
toolmanifest.vdf
the Steam Linux Runtime is not even started andstl
works until game requirements/dependencies are covered with globally installed packages (I'm looking at you,gstreamer
).When using
stl
as Steam Launch Option, the Steam Linux Runtime is loaded directly on game launch (comes from game launch parameters in this case), which in turn also triggers the currently in-Steam-selected Proton (beforestl
is even touched).Then the game starts regularly (likely it is not even using SLR here, but SLR just closed after its Proton launch attempt exited and
stl
starts the game afterwards - just guessing)With an updated v2
toolmanifest.vdf
(back in Steam Compatibility Tool mode), SLR starts as well, but any system access to system files is rejected from the SLR container, sostl
can't be used (not only/usr/share/stl/
is inaccessible, but also all (optional) 3rd party tools).Files in
$HOME
are accessible in theory, but copying (or symlinking if even possible) all/usr/share/stl/
and 3rd party tools f.e. to~/.config/stl/global/
is no sane option, because it can be restricted anytime as well.Both the v1
toolmanifest.vdf
and the Steam Launch Option can be closed down upstream any time (assuming this is a goal when using a container),which (probably) would kill Steam Tinker Launch (and of course every other tool which works similar) forever.
I hope this won't happen, but IMHO it is not that unlikely.
The text was updated successfully, but these errors were encountered: