Skip to content
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

Launch a custom command with GOG games doesn't work #1010

Closed
TedMosly opened this issue Jan 12, 2024 · 14 comments
Closed

Launch a custom command with GOG games doesn't work #1010

TedMosly opened this issue Jan 12, 2024 · 14 comments
Labels
bug Something isn't working Custom command Issues related to launching custom commands Steam Deck Issues related to using SteamTinkerLaunch on Steam Deck Third-Party Limitation Limitations and/or bugs caused by third-party software.

Comments

@TedMosly
Copy link

TedMosly commented Jan 12, 2024

System Information

  • SteamTinkerLaunch version: v14.0.20230112-1
  • Distribution: SteamOS
  • Installation Method: Package Manager,

Issue Description

When try to launch a custom command ( like a trainer or another .exe) with a GOG game, the game boot but the second .exe doesn't launch. ( tested with bioshock remastered collections ) . With steam version of the same game it work.

Logs

@TedMosly TedMosly added the bug Something isn't working label Jan 12, 2024
@TedMosly
Copy link
Author

@sonic2kk
Copy link
Owner

sonic2kk commented Jan 12, 2024

Related issue: #875

SteamOS has multiple issues with how processes are started in prefixes. It seems like using "Inject Custom Command" may work as it has been reported to fix the issue in the past (including in the above linked issue). That was a long time ago though, so your mileage may vary.

You may also want to tweak the inject wait timer option if you continue having issues, it could help.

There is also an interesting line in your log output:

Fri Jan 12 03:53:30 PM CET 2024 ERROR - startGame - Could not determine pid of '/home/deck/.local/share/Steam/steamapps/common/Proton 8.0/dist/bin/wineserver'

This is usually caused by stray Wine processes not being closed properly, and a reboot normally resolves it. You could try restarting your Steam Deck as well.

Unfortunately there is nothing I can do here really, the process launch commands are being built correctly, and I tested with a GOG game on my desktop PC and it works fine (Tokyo Xanadu eX+ as the Non-Steam GOG Game launched with STL, Sonic P-06 as the custom command). I didn't try a trainer, I do not use them. I didn't test on SteamOS as I do not condone tinkering on SteamOS.

As there is not much I can do I will close this issue, but I suppose this is just more fuel for dropping SteamOS support.

Good luck!


P.S. SteamOS support is likely to be discontinued soon due to high maintenance burden for a platform I no longer use SteamTinkerLaunch on, and zero community development interest. See #859.

@sonic2kk sonic2kk added Steam Deck Issues related to using SteamTinkerLaunch on Steam Deck Third-Party Limitation Limitations and/or bugs caused by third-party software. labels Jan 12, 2024
@sonic2kk
Copy link
Owner

On another note, install SteamTinkerLaunch via package manager is wrong on SteamOS. The wiki documents how to install it: Either download the script and double click it, or use ProtonUp-Qt. Disabling the read-only filesystem and installing from the AUR is wrong.

@TedMosly
Copy link
Author

I have already try to restart several times my steam deck and swap beetwen "inject command" and "fork command" without luck. It work only for official steam versions. This problem happen with Fling trainers for Bioshock HD and Bioshock Infinite, also Aurora trainer. I noticed that when quit the game the process still remain up and i need to force quit on Steam. btw all my other games run fine. Please don't interrupt the support for steam deck, it's my main gaming platform right now and STL is so useful for launch a trainers automatically with the game.

@sonic2kk
Copy link
Owner

sonic2kk commented Jan 12, 2024

I have already try to restart several times my steam deck and swap beetwen "inject command" and "fork command" without luck.

Have you tired configuring the wait time option for these? Also, does this issue happen in Desktop Mode?

Have you also confirmed that the trainer you're trying to use is compatible with Wine? Have you tested on a desktop Linux PC?

Please don't interrupt the support for steam deck

This is not negotiable. I have asked for months for help with SteamOS but no one has come forward, and I no longer use SteamTinkerLaunch on SteamOS. I got an OLED Deck and I will not be using SteamTinkerLaunch or other tinkering software on it. It would not be fair of me to advertise SteamOS support when I no longer test against it. Plus, the Steam Deck has attracted too many non-technical users to the project, making trying to troubleshoot issues on SteamOS an absolute nightmare. I dread seeing "SteamOS" in issues now. A lot of SteamOS users don't even use Linux full-time outside of their Steam Deck which makes troubleshooting issues when more tiresome.

SteamTinkerLaunch won't stop working on SteamOS per-se, the code won't get ripped out, but I won't advertise support or accept issues if no one comes forward before v14.0 releases. SteamTinkerLaunch v14.0 will have to deprecate SteamOS support if no one comes forward to help with maintaining it, because I'm sure as hell done dealing with developing for SteamOS.

@TedMosly
Copy link
Author

I have already try to restart several times my steam deck and swap beetwen "inject command" and "fork command" without luck.

Have you tired configuring the wait time option for these? Also, does this issue happen in Desktop Mode?

Have you also confirmed that the trainer you're trying to use is compatible with Wine? Have you tested on a desktop Linux PC?

Please don't interrupt the support for steam deck

This is not negotiable. I have asked for months for help with SteamOS but no one has come forward, and I no longer use SteamTinkerLaunch on SteamOS. I got an OLED Deck and I will not be using SteamTinkerLaunch or other tinkering software on it. It would not be fair of me to advertise SteamOS support when I no longer test against it. Plus, the Steam Deck has attracted too many non-technical users to the project, making trying to troubleshoot issues on SteamOS an absolute nightmare. I dread seeing "SteamOS" in issues now.

SteamTinkerLaunch won't stop working on SteamOS per-se, the code won't get ripped out, but I won't advertise support or accept issues if no one comes forward before v14.0 releases. SteamTinkerLaunch v14.0 will have to deprecate SteamOS support if no one comes forward to help with maintaining it, because I'm sure as hell done dealing with developing for SteamOS.

Yes in desktop mode. Also tried to increase the wait time. When launch only the trainer via Poroton ( adding the shortcut to steam ) it start fine.

@sonic2kk
Copy link
Owner

So the trainer is compatible, but using the custom command is not. There isn't much I can do about this I don't think, this seems to be specific to SteamOS and how the Steam Client handles processes there.

Assuming this software is legal, can you provide a link to it? I will try to test it on my desktop and see if it works. If it does, this is a Steam Client issue on SteamOS issue that STL can't fix.

@TedMosly
Copy link
Author

So the trainer is compatible, but using the custom command is not. There isn't much I can do about this I don't think, this seems to be specific to SteamOS and how the Steam Client handles processes there.

Assuming this software is legal, can you provide a link to it? I will try to test it on my desktop and see if it works. If it does, this is a Steam Client issue on SteamOS issue that STL can't fix.

https://archive.flingtrainer.com/files/BioShock%20Remastered%20v1.0-Update%202%20Plus%2014%20Trainer.rar

https://archive.flingtrainer.com/files/Bioshock%20Infinite%20v1.1.25.5165%20Plus%2015%20Trainer.rar

@sonic2kk
Copy link
Owner

sonic2kk commented Jan 12, 2024

Full disclosure, I don't own the BioShock games on GOG, so I tested with a GOG game I already have added to my Steam Library, the same one as earlier: Tokyo Xanadu eX+. However, for the purposes of this test, it should suffice, since we're just testing if Non-Steam Games and custom commands can launch together on the Linux Desktop under the same conditions that don't work on SteamOS.

I tested with Tokyo Xanadu eX+, a GOG Game added to Steam as a Non-Steam Game. From STL, I selected BioShock Remastered v1.0-Update 2 Plus 14 Trainer.exe as the custom program, enabled the "Use custom command" option and initially, enabled the "Fork custom command" option, making sure "Inject" is disabled here since "Inject" takes priority over "Fork".

For the 2nd test I selected Bioshock Infinite v1.1.25.5165 Plus 15 Trainer.exe, and it still worked as expected.

I looked at your log and it doesn't look like the "Fork" option is enabled as I don't see it mentioned in either log. The "inject" option will cancel out the "fork" option, however note that the Steam Client on SteamOS seems to be very picky about how processes are started, so trying "fork" as well may be worthwhile with "inject" disabled, and configuring the delay. This quirk is noted on the tooltip for the "Inject" checkbox, so you may already be aware of it.

The "Custom command" option is used to overwrite the start process, and "fork" is used to start both. However the behaviour on my PC doesn't match your issue description, so I suspect the behaviour is different on SteamOS:

  • Without the "Fork" option enabled, the custom command opens, and once I close it, the game opens. In other words, with just "Use custom command" enabled and the trainer selected, without fork, the trainer will open. Then, once I close it, the game opens.
  • With the "Fork" option enabled, the custom command and game are launched together. I do understand that in the past it was reported that this is not the case on SteamOS, though.

I also tested the "Wait custom command" option. Using the "Fork" option still to make sure both processes will be started, when setting a "Wait custom command" value of 10 (seconds), the trainer opens, and then roughly 10 seconds later, the game process opened.

Finally, I tested the "Inject" option, which does the inverse: It launches the game and then starts the custom command.

  • With no delay, the custom command (trainer) started quickly after the game.
  • With a delay, the custom command (trainer) started after the delay I set, I think it was 10 seconds again.

In other words, everything works as expected on the Linux Desktop, or at least on my Linux Desktop.


It seems this issue is specific to SteamOS after all, which is unfortunate and not something I can fix. Clearly Valve are doing something different with regards to process management on SteamOS. It may be possible for STL to work around it but it might be brittle. Someone with more understanding of what's actually going on here on SteamOS would need to either open an issue with a technical explanation that we can document, or even better if possible, submit a PR to fix it.

Just to confirm, you're definitely using SteamTinkerLaunch as a compatibility tool and not as a launch option, right?

@TedMosly
Copy link
Author

Thank for the clarification, yes i'm using STL like compatibility tool on steam
image

@sonic2kk
Copy link
Owner

Thanks for confirming that!

It would be a shame if you couldn't get this working. Others have been able to work around this issue with various different options, some users report that fork works, others say that inject works. Perhaps it varies from game to game, I am honestly not too sure.

This appears to be something specific to SteamOS for some unknown reason, but all I can confirm is that it works perfectly fine on my Linux Desktop. I don't know what else can be done, sorry about that... ☹️

@TedMosly
Copy link
Author

TedMosly commented Jan 12, 2024

When i quit the game, steam still have the process up and running but the trainer doesn't appear. I need to manually "force" the quitting. ( I tried both inject and fork option )

@sonic2kk
Copy link
Owner

sonic2kk commented Jan 12, 2024

steam still have the process up and running but the trainer doesn't appear. I need to manually "force" the quitting.

This is very common with third-party programs on SteamOS. Some Steam native games even do this, and Valve have a note for affect games under the Steam Deck Compatibility Information, something to the effect of "This game does not exit cleanly on Steam Deck".

(By the way, your Steam username is still visible on the toolbar I think. I removed the comment edit history for your privacy)

This part is definitely not something I can fix, this is not a SteamTinkerLaunch issue.

@sonic2kk
Copy link
Owner

I updated the "Custom Command" wiki page to note that Fork and Inject can be problematic on SteamOS, but work fine on the Linux Desktop. It also notes that configuring the custom command wait time and inject option wait time may help, but it is not guaranteed. Hopefully it adds some clarity for users running into this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working Custom command Issues related to launching custom commands Steam Deck Issues related to using SteamTinkerLaunch on Steam Deck Third-Party Limitation Limitations and/or bugs caused by third-party software.
Projects
None yet
Development

No branches or pull requests

2 participants