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

New Install, attempt to run steamtinkerlaunch settings gives error #837

Closed
harpetersen opened this issue Jun 16, 2023 · 7 comments
Closed
Labels
bug Something isn't working

Comments

@harpetersen
Copy link

harpetersen commented Jun 16, 2023

System Information

  • SteamTinkerLaunch version: v14.0.20230612-2
  • Distribution: Pop_OS! 22.04
  • Installation Method: pacstall

Issue Description

Fresh install of steamtinkerlaunch via pacstall

Run steamtinkerlaunch settings

Error returned: /usr/bin/steamtinkerlaunch: line 5878: : command not found

Logs

Fri Jun 16 02:39:09 AM PDT 2023 INFO - initAID - Set AID to PLACEHOLDERAID '31337'
Fri Jun 16 02:39:09 AM PDT 2023 INFO - loadLangFile - Language from command line is 'english'
Fri Jun 16 02:39:09 AM PDT 2023 INFO - loadLangFile - SYSTEMSTLCFGDIR is '/usr/share/steamtinkerlaunch'
Fri Jun 16 02:39:09 AM PDT 2023 INFO - loadLangFile - Command line language 'english' is no file - trying to find its absolute path
Fri Jun 16 02:39:09 AM PDT 2023 INFO - loadLangFile - Loading found system wide /usr/share/steamtinkerlaunch/lang//english.txt
Fri Jun 16 02:39:09 AM PDT 2023 INFO - getCurrentCommandline - No Proton in command line arguments 'settings'
Fri Jun 16 02:39:09 AM PDT 2023 INFO - saveOrgVars - Storing some original variables to restore them later
Fri Jun 16 02:39:09 AM PDT 2023 INFO - emptyVars - Emptied some original variables as they slowdown several system calls when started from steam
Fri Jun 16 02:39:09 AM PDT 2023 INFO - emptyVars - Set $PATH to '/home/USER/miniconda3/bin:/home/USER/.cargo/bin:/home/USER/.local/bin:/home/USER/.local/bin:/home/USER/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:'
Fri Jun 16 02:39:09 AM PDT 2023 START - ######### Initializing Game Launch 31337 using SteamTinkerLaunch v14.0.20230612-2 #########
Fri Jun 16 02:39:09 AM PDT 2023 INFO - main - Starting with a clean log
Fri Jun 16 02:39:09 AM PDT 2023 INFO - main - Start creating default configs
Fri Jun 16 02:39:09 AM PDT 2023 INFO - createDefaultCfgs - START
Fri Jun 16 02:39:09 AM PDT 2023 INFO - loadLanguage - First load the default language 'english' to make sure all variables are filled
Fri Jun 16 02:39:09 AM PDT 2023 INFO - loadLangFile - Language from command line is 'english'
Fri Jun 16 02:39:09 AM PDT 2023 INFO - loadLangFile - GLOBALSTLLANGDIR is '/usr/share/steamtinkerlaunch/lang'
Fri Jun 16 02:39:09 AM PDT 2023 INFO - loadLangFile - Command line language 'english' is no file - trying to find its absolute path
Fri Jun 16 02:39:09 AM PDT 2023 INFO - loadLangFile - Loading found system wide /usr/share/steamtinkerlaunch/lang/english.txt
Fri Jun 16 02:39:09 AM PDT 2023 INFO - loadLanguage - Loading STLLANG from '/home/USER/.config/steamtinkerlaunch/global.conf'
Fri Jun 16 02:39:09 AM PDT 2023 INFO - loadLanguage - STLLANG from '/home/USER/.config/steamtinkerlaunch/global.conf' is 'english'
Fri Jun 16 02:39:09 AM PDT 2023 INFO - createDefaultCfgs - setSteamPaths:
Fri Jun 16 02:39:09 AM PDT 2023 INFO - setSteamPaths - Reading Steam Path variables from '/dev/shm/steamtinkerlaunch/steampaths.txt'
Fri Jun 16 02:39:09 AM PDT 2023 INFO - getGameOS - Starting game OS detection
Fri Jun 16 02:39:09 AM PDT 2023 INFO - getGameOS - STEAM_COMPAT_DATA_PATH is not defined, so this is either a Linux Game or no game was started at all
Fri Jun 16 02:39:09 AM PDT 2023 INFO - listAllSettingsEntries - '/dev/shm/steamtinkerlaunch/setentries.txt' already exists - nothing to do
Fri Jun 16 02:39:09 AM PDT 2023 INFO - createDefaultCfgs - STOP
Fri Jun 16 02:39:09 AM PDT 2023 SKIP - listSteamLibraries - not recreating already available '/dev/shm/steamtinkerlaunch/SteamLibraries.txt'
Fri Jun 16 02:39:09 AM PDT 2023 INFO - setSteamLibraryPaths - STEAM_COMPAT_LIBRARY_PATHS set to '/home/USER/.local/share/Steam/steamapps:/media/USER/DataDrive/SteamLibrary/steamapps:/media/USER/DataDrive/Steam/steamapps'
Fri Jun 16 02:39:09 AM PDT 2023 INFO - setSteamLibraryPaths - STEAM_COMPAT_MOUNTS set to '/home/USER/.local/share/Steam/steamapps/common/Steamworks Shared:/home/USER/.local/share/Steam/steamapps/common/SteamLinuxRuntime_soldier:/media/USER/DataDrive/Steam/steamapps/common/SteamLinuxRuntime_soldier:/media/USER/DataDrive/Steam/steamapps/common/Steamworks Shared:/media/USER/DataDrive/Steam/steamapps/common/SteamLinuxRuntime_sniper'
Fri Jun 16 02:39:09 AM PDT 2023 INFO - setSteamLibraryPaths - STEAM_COMPAT_TOOL_PATHS set to '/home/USER/.local/share/Steam/steamapps/common/Steamworks Shared:/home/USER/.local/share/Steam/steamapps/common/SteamLinuxRuntime_soldier:/media/USER/DataDrive/Steam/steamapps/common/SteamLinuxRuntime_soldier:/media/USER/DataDrive/Steam/steamapps/common/Steamworks Shared:/media/USER/DataDrive/Steam/steamapps/common/SteamLinuxRuntime_sniper'
Fri Jun 16 02:39:09 AM PDT 2023 INFO - main - Checking internal dependencies:
Fri Jun 16 02:39:09 AM PDT 2023 INFO - setAwkBin - Found 'gawk' as an 'awk' variant. It should work without any issues, because 'gawk' was tested completely
Fri Jun 16 02:39:09 AM PDT 2023 INFO - checkIntDeps - Result of version check for yad binary '/usr/local/bin/yad' is '13.0'
Fri Jun 16 02:39:09 AM PDT 2023 INFO - main - Initializing first Proton:
Fri Jun 16 02:39:09 AM PDT 2023 INFO - initOldProtonArr - Creating an initial array with available Proton versions using the file '/dev/shm/steamtinkerlaunch/ProtonCSV.txt' which was created during a previous run
Fri Jun 16 02:39:09 AM PDT 2023 INFO - initFirstProton - Initializing Proton
Fri Jun 16 02:39:09 AM PDT 2023 INFO - initFirstProton - Initial Proton version 'FIRSTUSEPROTON' from '/home/USER/.config/steamtinkerlaunch/default_template.conf' is 'proton-6.3-8f'
Fri Jun 16 02:39:09 AM PDT 2023 INFO - main - Initializing default window resolution
Fri Jun 16 02:39:09 AM PDT 2023 INFO - setInitWinXY - Using '1440x810' from config '/dev/shm/steamtinkerlaunch/defres.txt'
Fri Jun 16 02:39:09 AM PDT 2023 INFO - main - Welcome to SteamTinkerLaunch
Fri Jun 16 02:39:09 AM PDT 2023 INFO - removeEmptyFiles - Removing empty files from '/home/USER/.config/steamtinkerlaunch/games/appinfo'
Fri Jun 16 02:39:09 AM PDT 2023 INFO - removeEmptyFiles - Removing empty files from '/home/USER/.config/steamtinkerlaunch/games/header'
Fri Jun 16 02:39:09 AM PDT 2023 INFO - main - Checking command line: incoming arguments 'settings'

@harpetersen harpetersen added the bug Something isn't working label Jun 16, 2023
@sonic2kk
Copy link
Owner

sonic2kk commented Jun 16, 2023

Line 5878 refers to a Yad command. It would be helpful if you could attach a log to confirm (the issue template asked you to provide one) but it sounds like Pacstall did not install Yad for you.

Check if you have Yad on your system and feel free to check if the SteamTinkerLaunch log tells you that Yad is missing. If so, you'll need to take this up with the Pacstall package maintainer.

Yad is the GUI toolkit used by SteamTinkerLaunch (not developed by me, it's an upstream tool), and may be available for installation from Pacstall but there may be other missing dependencies. Check to make sure the relevant Hard Dependecies and any Optional Dependencies that you might require are met on your system as well (see installation wiki).

By the sounds of it though this seems like a packaging issue.

@harpetersen
Copy link
Author

Yad is installed, just checked.

And updated error with logs (sorry about that)

@sonic2kk
Copy link
Owner

Apart from the log being much shorter than expected (a fresh run for me is almost twice as long) I don't see anything immediately obvious as to what could be the problem. It might be worth checking the line STL complains about in /usr/bin/steamtinkerlaunch (it's a shell script, not a binary or anything) to see if it matches the one I linked to earlier. I imagine it should but I just want to rule out anything going wrong here.

The impression I'm getting is that STL for some reason has $YAD set to "". Even though in your output I can see that SteamTinkerLaunch is finding it on your system.

I can't recreate this issue on my Arch PC. I tried shellcheck to make extra sure something wasn't broken in the last commit and everything was fine. I also checked to make sure I was using the same Yad version and I am, we're both using the latest.

It would be interesting to see if you can run yad from your terminal. It seems yad --version is working fine as STL can pull the version from that command, and the Yad on your path at /usr/local/bin/yad exists. I assume command -x yad points to that path.

It is possible, though unlikely, that $YAD is somehow undefined when the script gets to the line mentioned. I'm not sure why that would be, I haven't encountered this before.

@sonic2kk
Copy link
Owner

sonic2kk commented Jun 16, 2023

Just occured to me that as well, Yad should be defined in ~/.config/steamtinkerlaunch/global.conf, might be worth checking to see if it's set correctly there, in case STL can see it but is trying to load an invalid Yad from the global config after-the-fact (never seen this before, don't even know if it's possible in the logic).

EDIT: Indeed, the YAD variable is set in global.conf. On my system this is /usr/bin/yad, but /usr/local/bin/yad` is also sane (particularly on Debian-based distros), so we should check to make sure the binary is stored correctly.

I do have an inclin that this more of a packaging/distro issue than an STL issue, but we will investigate!

@harpetersen
Copy link
Author

@sonic2kk That did it. Yad was blank in the conf.

@sonic2kk
Copy link
Owner

sonic2kk commented Jun 16, 2023

Wonder how it got that way. Sounds like a stricter check will be needed. I'll push a commit and test myself, then close this issue if I can resolve it.

My idea is that if Yad is found and the version is reported, and if it's blank in the config file, it can be written out.

@sonic2kk
Copy link
Owner

sonic2kk commented Jun 16, 2023

Should be fixed in git with 2a4db27. Tested with Yad in the global config and there was no regression in behaviour, and I tested with Yad removed from the global config and it set Yad to the correct binary.

This will only happen if:

  1. The Yad version is up-to-date
  2. $YAD is a file (we get it from command -x yad, and we assume the value returned from this is the file on path)
  3. YAD="" is in the config file

A stricter check here could be a fourth step where we check if the value of YAD="/path/to/yad" (if a value exists) is a valid -file, and if not but $YAD is a valid file, then we could update it. But eh, that seems very excessive and the path to the Yad binary is very unlikely to change imo.


That commit should hopefully not cause any regressions. I have no release planned for the foreseeable so hopefully git will git a good amount of testing to ensure this does not break various setups (ideally not).

Pacstall should update pretty soon if not immediately, so you could test this by removing the value for YAD= from your config file, updating SteamTinkerLaunch, and seeing if it can set Yad appropriately. There is also a log message for this right after the Yad version is printed.

And fwiw when testing I did notice that when YAD="" was in the global config, I got the same error you noted, so it was indeed a bug on the STL side. Not sure how it got into a state like this, but this should prevent it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants