sonic2kk / steamtinkerlaunch

Linux wrapper tool for use with the Steam client for custom launch options and 3rd party programs
GNU General Public License v3.0
2.16k stars 73 forks source link

Does not function, game hangs on launching and then closes #1147

Closed Shinikoja closed 3 months ago

Shinikoja commented 3 months ago

System Information

Issue Description

Pressing launch shows the game opening, and then instantly closes, does not produce any logs, reinstalled multiple times and cannot for the life of me figure it out, unless I'm just really stupid. All listed dependencies installed, possibly YAD issue? Currently 14.1 (GTK+ 3.24.38)

sonic2kk commented 3 months ago

Before reading on, you're using a very outdated version of SteamTinkerLaunch (about 16 months behind). Please do not use SteamTinkerLaunch releases and instead use SteamTinkerLaunch from master. You can install this from ProtonUp-Qt in Advanced Mode, as per the wiki page.


Yad works fine here but maybe there's a Yad issue on Debian? Have you only tried using SteamTinkerLaunch from Steam?

Try running SteamTinkerLaunch from the commandline and seeing if there's any notable output. You can try steamtinkerlaunch version and if that returns something and a log. If so, try doing something to create a Yad GUI, like steamtinkerlaunch settings or steamtinkerlaunch ansg. If those don't work, it could be some Yad issue. You could also minimally try running yad and seeing if that works.

You might also want to try running Steam from the commandline. One user reported an issue with one specific game in #357, and it seems like a Yad issue (returned code 255, I assume a segfault of some kind but unsure). SteamTinkerLaunch would work fine for that user with that game when running Steam from the commandline. All other games tested worked for that user with and without this workaround, it was one specific game that caused the issue. Have you tried SteamTinkerLaunch with any other games?

SteamTinkerLaunch is working fine over here on Arch Linux (14.1 (GTK+ 3.24.43)), installed from the Arch repos (package version 14.1-1).


If you are trying to use SteamTinkerLaunch as a launch option (which, as noted on the Readme and Steam Launch Option wiki page, is only for native games), when installed via ProtonUp-Qt you must pass the full path because Steam does not see user-added PATH variables, as documented on the ProtonUp-Qt wiki page and this is also mentioned on both the linked Readme section and Steam Launch Option wiki page.


Not sure if relevant, but it seems a while back there was an issue where Yad failed to compile on Debian 12 due to an outdated glibc version, unsure if this would affect running it though (I imagine not but linking anyway): https://github.com/v1cont/yad/issues/269

Shinikoja commented 3 months ago

Okay, I believe the issue was in fact Yad not working correctly, I installed pacstall and downloaded stl + yad from there and now it seems to be functioning correctly and the correct version of SteamTinkerLaunch, however it still doesn't seem to be opening with any games when set as a compatibility tool, it will show "running" for a couple seconds and then close. I have tried with steam from the commandline.

I can now also produce a log. The only issue I see in the log is steam library path being incorrect, but I'm not sure how to fix that manually

steamtinkerlaunch.log

sonic2kk commented 3 months ago

Yeah, it does sound like the initial issue was related to Yad. Might be worth reporting upstream if Yad standalone did not work. The Yad AppImage that you can install from SteamTinkerLaunch with steamtinkerlaunch yad ai is built against Ubuntu 22.04 and I am unsure if that is compatible with Debian 12 (https://github.com/sonic2kk/steamtinkerlaunch-tweaks/blob/1b90ca912a5c54f28cec34892ec7747d97d62aaf/.github/workflows/build-yad.yml). It is also still using Yad 13, I need to get around to bumping it.

Although note that the Yad AppImage is unofficially built and is not supported by Yad upstream. Issues should only be reported if standalone Yad fails to work outside of SteamTinkerLaunch. Just to prevent any noise upstream :-)


This issue now is probably because your Steam Library folder path contains Common with an uppercase C, which to my knowledge is not valid: /data/SteamLibrary/steamapps/Common/EARTH DEFENSE FORCE 6/LaunchGame.exe.

Your Steam root library folder path contains a lowercase common. If you try running a game from this library folder, does it work? Based on your log I assume it would, or it would at least get further than your current log indicates.

SteamTinkerLaunch does not attempt to start the game because it does not see a valid incoming start command, since the path does not include a known location like steamapps/common. Your log ends here:

Thu  1 Aug 13:15:02 BST 2024 INFO - main - Checking command line: incoming arguments 'waitforexitandrun /data/SteamLibrary/steamapps/Common/EARTH DEFENSE FORCE 6/LaunchGame.exe'
Thu  1 Aug 13:15:02 BST 2024 INFO - main - Checking command line: first argument 'waitforexitandrun'

The check for steamapps/common is here in the script: https://github.com/sonic2kk/steamtinkerlaunch/blob/8756dc855d063c7bfba348eb247aa81c8f61d687/steamtinkerlaunch#L27083

We can make this check case insensitive with a grep -qi instead of grep -q, but I don't know that this is valid, so I would be hesitant to make that change. I have never seen this happen and many applications I imagine expect a lowercase steamapps/common path. Some parts of ProtonUp-Qt, for example, probably don't work. From memory when working in that part of the codebase, I would imagine games in your steamapps/Common libraryfolder don't get displayed on the Games List (I tested making one of my libraryfolder paths steamapps/Common and the games in it weren't displayed in the Games List).

Note that symlinking will probably not work because Steam passes the resolved symlink path to compatibility tools, SteamTinkerLaunch never gets to see the symlinked path (see also #1132). So the only solution is to use a libraryfolder that doesn't have a capitalized Common name.


Out of interest, are any other folder names in your steamapps folder capitalized? Looking at the log, it looks like at least compatdata (where Steam stores Wineprefixes) is not capitalized.

Shinikoja commented 3 months ago

Oh my god, hero, it was in fact the capitalization, I have absolutely no idea why steam created it with a capital, I recently formatted the drive for steam games exclusively and it is the only part of the directory that was capitalized, very strange, thanks a lot though!

sonic2kk commented 3 months ago

No problem! I will close this issue now that this is resolved :-)

Out of interest, if you change the name of the directory to have a lowercase common, does Steam still recognise it?