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

Commands starting with "steamtinkerlaunch launcher" do nothing #422

Closed
wing798213 opened this issue Feb 26, 2022 · 41 comments
Closed

Commands starting with "steamtinkerlaunch launcher" do nothing #422

wing798213 opened this issue Feb 26, 2022 · 41 comments

Comments

@wing798213
Copy link

Hello.

CLI commands such as "steamtinkerlaunch launcher auto" or "steamtinkerlaunch launcher menu" do nothing. I've tried on several arch linux machines (with zen kernel and vanilla one) and with clean install on debian 11 virtual machine. Using "steamtinkerlaunch settings" or "steamtinkerlaunch gs <game_id>" opens GUI window properly. Also "steamtinkerlaunch list <owned|installed>" outputs correct ids list.

STL versions: 9.1.20220225 (debian), 9.0.1 (arch linux)
OSes: Linux debian 5.10.0-11-amd64 SMP Debian 5.10.92-1 (2022-01-18) x86_64 GNU/Linux, Linux winghost 5.16.11-arch1-1 SMP PREEMPT Thu, 24 Feb 2022 02:18:20 +0000 x86_64 GNU/Linux

Also tried to strace not working CLI auto command which gived me some ENOTTY, ESPIPE and EBADF errors while working with *.desktop files, so i think problem could be on my side, but i don't know what next step to do to solve said errors.

Arch logs: "steamtinkerlaunch launcher menu" (same after auto command), "steamtinkerlaunch launcher auto" also "steamtinkerlaunch launcher auto" strace log".

Debian logs: "steamtinkerlaunch launcher menu", "steamtinkerlaunch launcher auto" and "steamtinkerlaunch launcher auto" strace log.

@frostworx
Copy link
Collaborator

Hi there,
thanks for the comprehensive report!
tbh I'm surprised to see that anybody even uses the "launcher" option :)
I can't reproduce it here (yet), but it looks like something is wrong with your desktop files indeed.
I don't think this is a bigger problem (probably just some missing function somehere) and I'll add some more debug options soon

@wing798213
Copy link
Author

Thanks. Looking forward for it.

@frostworx
Copy link
Collaborator

Hi again!
I just re-tried with a complete clean ~/.config/steamtinkerlaunch and /dev/shm/steamtinkerlaunch directory, to check if the "auto" download still works, and it is working fine for me.
So I re-checked your steamtinkerlaunch launcher auto log again and noticed this line:
Сб 26 фев 2022 12:48:21 +04 SKIP - GLgui - No games found in '/dev/shm/steamtinkerlaunch/desktopfiles/installed' or directory itself not found

which is very likely the problem. Would you please check if the directory /dev/shm/steamtinkerlaunch/desktopfiles/installed
does even exist? It should contain symlinks to your auto created desktopfiles in
~/.config/steamtinkerlaunch/games/desktop/
(please also check if the latter dir exists and contains some desktop files)

@frostworx
Copy link
Collaborator

frostworx commented Feb 26, 2022

Would be great if you could also try
steamtinkerlaunch update gamedata
(ideally with clean config again)
and check the corresponding log.
It basically does the same what the "auto" part would do in the original command.

edit:
would be interesting as well if
steamtinkerlaunch list installed
returns some ids. It should show all the SteamAppIds of all your installed games.
If it doesn't, your installed games are not found for whatever reason, which would explain the core problem as well.

edit2: just added checks everywhere, where the autodetected list of games is used.

@wing798213
Copy link
Author

/dev/shm/steamtinkerlaunch/desktopfiles/installed
/.config/steamtinkerlaunch/games/desktop/

Both directories exist and empty.

steamtinkerlaunch update gamedata

Downloads headers of steam games and stores them correctly in ~/.config/steamtinkerlaunch/games/header/.

steamtinkerlaunch list installed

I've already tried this command and mentioned this at first message. It gives correct output at clean install as well.

Also strace log says:

newfstatat(AT_FDCWD</home/wing>, "/home/wing/.config/steamtinkerlaunch/games/desktop/362890.desktop", 0x7ffcb3fa9f10, 0) = -1 ENOENT

But previous command

newfstatat(AT_FDCWD</home/wing>, "/home/wing/.config/steamtinkerlaunch/games/header/362890.jpg", {st_mode=S_IFREG|0644, st_size=42041, ...}, 0) = 0

Works well.

Clean install successfully creates all (or most) directories both in .config and in /dev/shm with configs and stuff.

@wing798213
Copy link
Author

Forgot to mention that read and write rights at that *.desktop files directory given to current user. I didn't changed anything but first of all checked permissions.

@frostworx
Copy link
Collaborator

frostworx commented Feb 26, 2022

steamtinkerlaunch list installed

I've already tried this command and mentioned this at first message. It gives correct output at clean install as well.

whoops, sorry. apparently I haven't checked close enough (going offline soon)

After the header files were downloaded
steamtinkerlaunch cdi all should generate all corresponding desktop files in ~/.config/steamtinkerlaunch/games/desktop

Would be interesting if this works for you (or what the log says)

@wing798213
Copy link
Author

wing798213 commented Feb 26, 2022

steamtinkerlaunch cdi all

Works without any output. No *.desktop files generated.
Same strace output with ENOENT errors.

@frostworx
Copy link
Collaborator

log please

@wing798213
Copy link
Author

31337.log

frostworx pushed a commit that referenced this issue Feb 26, 2022
@frostworx
Copy link
Collaborator

Please re-test with current git master. Just added some more changes.
For unknown reason your installation tries to create a desktop file in desktopfiles instead of desktop
which should work of course as well, but only is used when the variable STLPLAY is not 1.
Need to find out why I introduced that variable if logs of your re-test don't help further.

@wing798213
Copy link
Author

wing798213 commented Feb 26, 2022

31337.log
31337 menu.log

~/.config/steamtinkerlaunch/games/desktop/

Contains no files.

frostworx pushed a commit that referenced this issue Feb 26, 2022
frostworx pushed a commit that referenced this issue Feb 26, 2022
@frostworx
Copy link
Collaborator

add more logging just right now - please check again.
as far as I can tell currently the only option which is left ist that getGameName function doesn't find the game names for your games.
if so this needs deeper debugging, but I'm afraid not today.

@wing798213
Copy link
Author

31337_r667_auto.log
31337_r667_menu.log
Look like it is the case.

@frostworx
Copy link
Collaborator

bingo! thanks for testing, very appreciated! I'll see what I can do

@wing798213
Copy link
Author

Thanks to you. You're making amazing software.

frostworx pushed a commit that referenced this issue Feb 26, 2022
@frostworx
Copy link
Collaborator

If you want, it was great if you would test if
steamtinkerlaunch createappinfo installed
generates binary files in ~/.config/steamtinkerlaunch/games/appinfo/
(might take some time, depending on how big your game collection is :)).

The generated files are extracted from the steam appinfo binary blob and
are optionally used for finding the game name in the function getGameName

If those files are generated correctly, I'd guess that steamtinkerlaunch cdi all should work correctly afterwards.

@wing798213
Copy link
Author

steamtinkerlaunch createappinfo installed

r668_createappinfo.log

Actually creates *.bin files.

steamtinkerlaunch cdi all

r668_cdi_all.log
Cycles 4 times over every *.bin file but with static id.

r668_menu.log
And sorry, but no luck.

@frostworx
Copy link
Collaborator

thanks for testing! giving up for today (really weird bug)

@wing798213
Copy link
Author

You are welcome.

frostworx pushed a commit that referenced this issue Feb 26, 2022
@frostworx
Copy link
Collaborator

just added some more log output which should catch any possible result in the getGameName function.
Would be great if you'd test again.

@wing798213
Copy link
Author

Sure.
r669_createappinfo.log
r669_cdi.log
r669_menu.log

~/.local/share/Steam/steamapps/appmanifest_257420.acf is on its place. Also it's probably strange that there are two same strings in one file path one by one.

@frostworx
Copy link
Collaborator

Yeah that is probably the main problem (maybe one of those weir Steam symlinks?)
Do you also get a duplicate with
steamtinkerlaunch list am | grep 257420
?
Sorting duplicates out of listAppManifests probably fixes this, but it would be still interesting why this happens.

@wing798213
Copy link
Author

Yeah, got duplicate.

@frostworx
Copy link
Collaborator

thx! just checked here as well and also have some duplicates (4/506)
mom, will check if sort -u in listAppManifests should be find and commit it if so

frostworx pushed a commit that referenced this issue Feb 26, 2022
@frostworx
Copy link
Collaborator

Just made a new commit, which should fix this properly. This could have caused several other problems as well, so thanks a lot for your patient testing! 👍

@wing798213
Copy link
Author

That's strange. Now one *.desktop file was created at ~/.config/steamtinkerlaunch/games/desktopfiles/ but without symlink to /dev/shm/steamtinkerlaunch/desktopfiles/installed/ directory. Also application names were detected correctly.

r670_createappinfo.log
r670_cdi.log
r670_menu.log

@frostworx
Copy link
Collaborator

Seems like you have a talent for ugly bugs :)
I already located the problem and just need to find out how to properly fix it.

@frostworx
Copy link
Collaborator

I hope this commit should fix that issue as well.

@wing798213
Copy link
Author

Now there are *.desktop files for all games but no links to /dev/shm/steamtinkerlaunch/desktopfiles/

r671_createappinfo.log
r671_cdi.log
r671_auto.log
r671_menu.log

Manual copy of *.desktop files allow normal launch of GUI of the main menu.

@frostworx
Copy link
Collaborator

I just tried to reproduce this with a clean /dev/shm/steamtinkerlaunch and ~/.config/steamtinkerlaunch/, but
steamtinkerlaunch launcher auto
just works fine without any other commands required.
Could you please re-test only
steamtinkerlaunch launcher auto
also with both directories cleaned?
(clean /dev/shm/steamtinkerlaunch could be already enough)

@wing798213
Copy link
Author

r671_auto_re.log

@frostworx
Copy link
Collaborator

oh, the problem seems to be simply that your sharedconfig.vdf doesn't contain your games (1 found).
Maybe they changed something again and moved it into some other file (did so as well with some other settings I just don't remember). My installation is pretty old and therefore might have both files.

@wing798213
Copy link
Author

Just copying those files is not as difficult. Maybe i should just write alias for launcher auto with copying files.

@wing798213
Copy link
Author

Also i'm using family sharing for two accounts. Both of them have several games so it's maybe not a case.

@frostworx
Copy link
Collaborator

frostworx commented Feb 27, 2022

It shouldn't be a big deal, now after the 2 other ugly bugs are fixed.
Can you confirm, that there is only 1 game in your sharedconfig.vdf?
This would (probably) mean, that you do not use tags in Steam.
For the launcher with all installed games available the file sharedconfig.vdf is not even required though, so I'll replace the source here and it should work.

edit: ah, the symlinks created in /dev/shm/steamtinkerlaunch/desktopfiles/installed/ are based on those desktop files which were found for the other steam tags found. as none is found on your systems, the installed dir is empty.
this needs to be changed in function createCategoryMenus

@frostworx
Copy link
Collaborator

above commit should fix this as well

@wing798213
Copy link
Author

Works like a charm.

@wing798213
Copy link
Author

wing798213 commented Feb 27, 2022

I have checked several found sharedconfig.vdf and don't actually know which of them were used. Some of them had many apps ids. Current account have no entries at all.

@frostworx
Copy link
Collaborator

Current account have no entries at all

ok, that explains the previously empty directory already.

@frostworx
Copy link
Collaborator

bumped changelog and closing here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants