-
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
Native games not launching unless custom command is selected #998
Comments
You're using a very old out of date version of SteamTinkerLaunch. Have you tried with SteamTinkerLaunch-git? Please do not use the latest stable release of SteamTinkerLaunch, it is never supported. I only troublehsoot issues with the latest master version, especially when it is listed that SteamTinkerLaunch 12.12 came out months ago. As of a few days ago, native games worked perfectly fine for me (tested The Talos Principle). Please try a modern version of SteamTinkerLaunch and see if that works.
There is an option for this already, "Pass programs to third party programs" or something. Use that for GameScope etc. I should also point out that the command provided by Steam, the Still, it's not ideal to use the game executable as a custom command, even if the problem you're facing is just a configuration issue. Native games are working in my tests, I'm not sure why they aren't for you. |
Tested the following native games and had no issues with SteamTinkerLaunch v14.0.20231212-1:
Your launch command looks like it's missing the native Linux Steam Linux Runtime, but if it can't find it for a regular launch, it also won't find it for custom commands, so that's probably not the issue. My launch command without the SLR looked the sames as yours and outside of To the Moon and Finding Paradise (which require the SLR, either with STL or as a forced compatibility tool), all of these games worked. Outside of that, your launch command looks correct. I don't own Goat Simulator, and the developers are shady so I will not be purchasing it to test, but since you mentioned this happens with every native game you've tested, I don't think it's game-specific. I recommend using STL-git and trying again, because I'm not having any issues. |
Tried a few more native games just to make sure I didn't happen to get lucky. I just tested these games to make sure they launch and get to the menu. Further compatibility shouldn't be affected, just being transparent about how and what I tested:
I tried a native Linux Non-Steam Game installed as a Flatpak and did not have any success using STL, but it also did not work as a custom command either, so I think this is a different problem unrelated to this. In total this is 20 games tested, covering a variety of engines (GameMaker, FNA, custom engines mainly based on SDL2, Unity, GldSrc, RPGMaker). Only one did not work as mentioned above, and it is a bit of an edge-case. Therefore I'm fairly confident that this is not as clear-cut as native games not working, given that a significant amount are working on my end. There is likely more to it. I believe Goat Simulator and The Talos Principle both use Unreal Engine, so I don't think this is an engine issue. I'm unsure of what other games you tested and the engines they use but I think perhaps the engine isn't the issue. I would suggest updating to a supported release of STL and trying that. There is nothing telling in your log that I can see. Fwiw, I'm also using Arch Linux. |
Okay I've tried with the git version ( I've also tried on my desktop PC and it behaves the same way, I've also noticed that if I enable mangohud, I get this error in the game launch log
The mangohud library exist in Any idea? On both my laptop and desktop I'm running Gnome on Wayland, I will do further testing with maybe KDE |
Does this only happen if you use MangoHud? That wasn't made clear in your OP if that was the case, it's implied that only the game was used. The log also doesn't seem to use any other custom programs. Though even so, I did happen to use MangoHud with The Talos Principle and had no problems (it's Vulkan and worked ootb). Didn't test other games with anything other than the vanilla game. I have no idea why it wouldn't be working, it's working for me on KDE Plasma Wayland, but desktop environment shouldn't matter. Does it work if you install the Steam Linux Runtime 1.0 Scout? It's possible, though not likely, that the launch options without the SLR aren't being built properly when the SLR is not found. Though I did test this before and for over a year no issues were reported so I assume this is working fine, but I can test with the SLR uninstalled and see if native games fail (though it should be no different than if the SLR was disabled, and that works because I tested it with The Talos Principle to test if it needed it).
These errors appear a lot in Proton logs and are generally safe to ignore, but if MangoHUD is not working, you may need to configure it differently, such as by using the "MangoHud --dlsym" checkbox (#771) or the MangoHud Preload option, two settings known to be required for MangoHud to work with some native games and/or some OpenGL games. This is irrespective of SteamTinkerLaunch, and is general MangoHud usage, as documented on the MangoHud wiki (remember, STL does not develop MangoHud or install it or any other tools for you, it's a frontend for enabling and passing the configuration options). Also, I double-checked, and the option for using MangoHud and associated programs with custom commands is called "Pass external programs to custom commands." (#732) There are likely to be issues in doing this with the game executable (such as game crashes, DRM issues down the road, etc) but it may be a workaround if you are absolutely out of luck for using MangoHud and GameScope and other options with custom programs. It seems this option was available in v12.12 as well, but I recall some changes to include other programs that were merged after v12.12 was released, though I cannot find those PRs right now. |
It seems the Steam Linux Runtime files suffer from the same bug as the malware anti-cheat runtimes and cannot be properly uninstalled, so I cannot "properly" test right now if missing the SLR 1.0 actually causes STL to fail. However I'll try tweak the code to force this code path and see what happens. |
The issue is present whether or not I use mangohud. I've just tried installing SLR scout and finally everything is working! I had SLR 2.0 and 3.0 but not 1.0. |
I also just tested and it seems that forcing the SLR 1.0 to be not found causes the code to break. I guess a fix is needed somewhere to properly handle the missing SLR. I'm going to do more testing and see if this breaks with Proton games too. I will leave this open until I find out more, but glad it works! It is usually a good idea to use the Steam Linux Runtime anyway, as it ensures maximum compatibility in the vast majority of cases (whether you're using STL or not). |
The crash with the missing SLR is exclusive to native Linux games.
Not sure why that is but that seems to be the cause of this issue then. I'm assuming right now something blank is being inserted into the game start command and is creating an invalid launch command that doesn't run properly. |
Until now I was using various proton games via STL without SLR 1.0 installed, I had no issue, only for native games |
SLR 1.0 is only for native games. |
Found the bad code, makes sense why this was breaking with the SLR missing. This will be fixed when #999 is merged (forcing STL to assume the SLR is not installed causes a crash on I am going to do more testing to ensure there are no regressions here, and then merge once I am confident that this won't break anything. |
System Information
Issue Description
Native games won't start, I've tried deleting the
.config/steamtinkerlaunch
directory in order to be sure to use a clean setup, seems like steamtinkerlaunch is unable to execute the %command% provided by steam.This happens with every native game I've tried to use, in this example I'm trying goat simulator.
If I enable the custom command option, with the game executable as custom command, if finally starts running, but as a separate process without the steamtinkerlaunch configs parameters (mangohud, gamescope etc).
Logs
steamtinkerlaunch.log
GoatSimulator.log
The text was updated successfully, but these errors were encountered: