Closed J-Lowrance closed 8 months ago
I understand you tried switching, but just to note, your SteamTinkerLaunch version is out-of-date, please update to use the latest version from master. There is a steamtinkerlaunch-git
AUR package, or you can install (and uninstall) manually using the Makefile. You should never use a version of SteamTinkerLaunch not from the latest master.
As for why this is happening, I'm not sure. When you say "clean uninstall", does this include removing ~/.config/steamtinkerlaunch
and /dev/shm/steamtinkerlaunch
? Noting that removing your ~/.config/steamtinkerlaunch
will remove all configuration.
From you log, I can see the following, which is very strange (closed after 1 second):
Mon Mar 18 07:46:00 PM CDT 2024 INFO - MainMenu - Preparing to load Main Menu
Mon Mar 18 07:46:01 PM CDT 2024 INFO - updateWinRes - The Window 'SteamTinkerLaunch-OpenSettings' was closed - the resolution didn't change - nothing to do
Did you perhaps skip the Wait Requester multiple times? Check /dev/shm/steamtinkerlaunch
and see if you have any files like swr.txt
, uwr.txt
, EWR.txt
? You might want to try running steamtinkerlaunch waitrequester e
and re-running your game.
You can also check your game config and see what value WAITEDITOR
has, perhaps this got set incorrectly to 0
.
This is some kind of user-configuration issue and not a bug I would say, but let's try figure it out :-)
Ah, sorry, I think I misunderstood. It's the Game Menu that will not open. That is, when you go to the Main Menu and click "Game Menu". Not sure why this would be happening, especially for every game. It of course works fine over here.
Nothing else strange in your log that I can see for now...
I understand you tried switching, but just to note, your SteamTinkerLaunch version is out-of-date, please update to use the latest version from master. There is a steamtinkerlaunch-git AUR package, or you can install (and uninstall) manually using the Makefile. You should never use a version of SteamTinkerLaunch not from the latest master.
Ok, I looked into this a little bit more, and now I'm just more confused. I installed steamtinkerlaunch-git from the AUR, and it's listed as version 11.11, but installs as version 12.12 according to my package manager, and when I run steamtinkerlaunch --version I get 14.0.2, this is also the version that is showing in the log now, the log I included was before I switched versions. So not exactly sure what's going on with the version numbers, but it seems I'm up to date now, and the problem still persists.
As for why this is happening, I'm not sure. When you say "clean uninstall", does this include removing ~/.config/steamtinkerlaunch and /dev/shm/steamtinkerlaunch? Noting that removing your ~/.config/steamtinkerlaunch will remove all configuration.
When I said clean uninstall I meant I removed /dev/shm/steamtinkerlaunch, and removed the compatibility association. I missed ~/.config/steamtinkerlaunch though, I will try removing that as well.
Did you perhaps skip the Wait Requester multiple times? Check /dev/shm/steamtinkerlaunch and see if you have any files like swr.txt, uwr.txt, EWR.txt? You might want to try running steamtinkerlaunch waitrequester e and re-running your game.
Not sure what this means since I haven't messed with any of this at all, not on purpose at least. Since I deleted that folder in my "clean uninstall" I imagine this isn't the issue.
Ok, I looked into this a little bit more, and now I'm just more confused. I installed steamtinkerlaunch-git from the AUR, and it's listed as version 11.11, but installs as version 12.12 according to my package manager, and when I run steamtinkerlaunch --version I get 14.0.2, this is also the version that is showing in the log now, the log I included was before I switched versions. So not exactly sure what's going on with the version numbers, but it seems I'm up to date now, and the problem still persists.
Uh, I think we got our wires crossed somewhere.
v14.0.20240319-1
.I missed ~/.config/steamtinkerlaunch though, I will try removing that as well.
I hope you got the part I mentioned saying that *this will remove everything related to SteamTinkerLaunch. Feel free to make a backup instead :-)
Not sure what this means since I haven't messed with any of this at all, not on purpose at least. Since I deleted that folder in my "clean uninstall" I imagine this isn't the issue.
Yeah, probably all good then.
I do actually have DOOM 2016 so I tested it out and it's working fine over here. Very strange issue...
I wasn't familiar with the idea of the package of the software having its own version vs the software itself, good to know I guess.
Removing my configs didn't have any effect unfortunately, the game menu still will not open steamtinkerlaunch.log
And this happens for every game?
What happens if, from the commandline, you run steamtinkerlaunch settings
and try to go to the Game Menu? You may get spammed with a lot of grep warnings, but maybe it'll provide some output. I'm particularly interested in maybe some locale-related errors.
If you have any games with special characters in their names (such as with the trademark symbol, or a copyright/registered trademark symbol), you could try launching those with STL and seeing if they either fail to go to the menu altogether, or fail to get to the Main Menu. That would narrow down if this is an issue with system locale (https://github.com/sonic2kk/steamtinkerlaunch/wiki/Troubleshooting#steamtinkerlaunch-starts-my-game-does-not-show-the-wait-requester). My thinking is that there may be something on the Game Menu that cannot be rendered with an invalid locale, and this something would only appear on the Game Menu. If this is a locale issue then games with those special characters in the title would not show any menu, because those locale issues would surface earlier. Hope that explanation makes sesne.
Now we might be getting somewhere, clicking game menu from command line STL makes a big ugly seg fault out.txt
As for special characters, I've run before, and tried again just now, Street Figher(TM) 6 loads just fine, but my game menu issue is still here of course
Oh dear, now that is something I have not seen before!
This sounds like an issue with Yad (the UI toolkit SteamTinkerLaunch uses). The output you're seeing is the command SteamTinkerLaunch runs to generate the UI (https://github.com/sonic2kk/steamtinkerlaunch/blob/a7e06e320cf5d1c5d79ffabb0299c0104a34860a/steamtinkerlaunch#L5594-L5945).
It seems to me like Yad is failing to load this menu for some reason. This would explain why it happens for every game, and only on the Game Menu...
... Or so it seems! What happens if you run that command again, but try the Default Menu and Global Menu (using the "Default" and "Global" buttons respectively at the bottom of the Main Menu)? These pull from essentially the same list of entries, but STL filters what to display on which menu (through some dark magic Frostworx cooked up many moons ago :smile:) - In fact, the Default menu is basically the same as the Game Menu if memory serves, it's just for setting default values for each game.
Default and Global also segfault with very similar looking logs out.txt
I'm not sure how this happened, but could this be the source of my issues?
lol nvm, I haven't seen this listed like this before, and this is just the extra package recognizing that I have yad in the form of endeavouros/yad isn't it :clown_face:
I haven't seen this listed like this before, and this is just the extra package recognizing that I have yad in the form of endeavouros/yad isn't it
I was actually going to ask that, but I don't think so? Unless the endeavourOS source is a mirror. Then again I'm not sure why it's a different colour. The sizes are different though, between endeavouros/yad
and extra/yad
, so I would imagine they are different packages.
What happens if you run -Qi yad
(I haven't used Paru but I think it can do this since this syntax should be inherited from Pacman)? I'm curious to see what it depends on and if you can remove one or both... I'm not sure how the endeavouros Yad is different but I personally use the one from extra/yad
(running vanilla Arch over here).
Huh, interesting, it seems yad
may be used by endeavourOS itself for some system tools.
If you have both pacakges installed, I wonder which install location each one uses. Essentially:
extra/yad
?endeavouros/yad
?Since they are both installed, I assume they have separate paths (otherwise your package manager probably would've gotten very angry).
In the case of how this happened, if endeavourOS is using Yad for some system programs, then your extra/yad probably came from installing the SteamTinkerLaunch AUR package(s).
My gut says that if endeavourOS is packaging Yad themselves, they're probably patching it in some way to fix some incompatibility. So if you can find which path each binary is using, you can change the path SteamTinkerLaunch loads yad from by modifying ~/.config/steamtinkerlaunch/global.conf
and changing the YAD=
path to point to a different Yad binary.
extra/yad
is installed to /usr/bin/yad
, and SteamTinkerLaunch has YAD="/usr/bin/yad"
, then change the path to point to wherever the endeavouros/yad
is installed to (maybe /usr/local/bin/yad
or possibly even ~/.local/bin/yad
).This could indeed be an issue with Yad...
It looks like a while ago, endeavourOS's welcome application suffered Yad segfaults along the lines of what we're seeing here: https://forum.endeavouros.com/t/eos-welcome-seg-faults/1993
It could be, then, that it's actually the endeavourOS Yad causing the problems. I'm not sure why endeavourOS are packaging it themselves. Out of interest tomorrow I could set up a VM with endeavour and see if I can reproduce the segfault.
Name : yad Version : 13.0-2.1 Description : A fork of zenity - display graphical dialogs from shell scripts or command line Architecture : x86_64 URL : https://github.com/v1cont/yad Licenses : GPL3 Groups : None Provides : yad Depends On : gtk3 webkit2gtk-4.1 gtksourceview3 gspell Optional Deps : None Required By : eos-bash-shared steamtinkerlaunch-git Optional For : protontricks Conflicts With : yad yad-git Replaces : yad-eos Installed Size : 671.26 KiB Packager : EndeavourOS info@endeavouros.com Build Date : Wed Sep 20 02:46:04 2023 Install Date : Mon Mar 18 20:56:48 2024 Install Reason : Explicitly installed Install Script : No Validated By : Signature
I just did the explicit install a little bit ago to see which one it would install by default, but it seems like it is using the eos packaged yad.
I just tried switching specifically to the arch provided yad, and I'm getting the same segfault it seems.
Name : yad Version : 13.0-2 Description : A fork of zenity - display graphical dialogs from shell scripts or command line Architecture : x86_64 URL : https://github.com/v1cont/yad Licenses : GPL3 Groups : None Provides : None Depends On : gtk3 webkit2gtk-4.1 gtksourceview3 gspell Optional Deps : None Required By : eos-bash-shared steamtinkerlaunch-git Optional For : protontricks Conflicts With : None Replaces : None Installed Size : 675.58 KiB Packager : Christian Hesse eworm@archlinux.org Build Date : Wed Sep 20 02:28:29 2023 Install Date : Mon Mar 18 21:04:55 2024 Install Reason : Explicitly installed Install Script : No Validated By : Signature out.txt
It seems that only one is installed at a time, my first thought about the extra package acknowledging the EOS one may have been correct
whereis yad
yad: /usr/bin/yad /usr/share/man/man1/yad.1.gz
Thanks for confirming! It does seem then that this issue is related to Yad, and it is specific to the various options menus.
As a (possibly) temporary workaround, you could try running steamtinkerlaunch yad ai
which will download a pre-packaged (but very old) Yad AppImage from here and set the YAD
global variable path automagically (iirc anyway, been a long time since I tested to see if it still sets the YAD
var): https://github.com/sonic2kk/steamtinkerlaunch-tweaks/releases/tag/Yad-8418e37-x86_64.AppImage - The repo was recently transferred to me, I didn't package this release, the previous maintainer did.
This AppImage is used on SteamOS as well since it doesn't come with Yad.
If you'd rather not run the command, you can download the AppImage manually and then point the YAD=""
global config variable to that AppImage manually.
This AppImage is pretty old, using Yad 10.90, but there are plans to update it - see #1060.
If it works it may be because of the older Yad version or because of the AppImage. But if it doesn't fix it, then we can narrow this issue down to something specific about whatever is in your menu(s) that I can't reproduce. If the problem still persists and if you didn't remove ~/.config/steamtinkerlaunch
but only the game configs (which is fine btw) you can try removing default.conf
and global.conf
and seeing if that works. Per-game configs will pull from the Default config and if this wasn't cleared, perhaps whatever is wrong on the Game Menu causing the segfault is being pulled from the Default menu (although the Global menu is still a bit of a mystery, unless it's one of the shared elements between all three menus!)
Ok, I'm still getting a segfault even with the appimage, so I'm going to assume that there is something else wrong with my system. I'm going to do some digging and see if I can come up with something hopefully, and I will post here again if I find anything.
Thank you for your time and help, and for jumping on this so quickly.
Hmm, it's very strange that something is going wrong, even with the AppImage.
I think the log said you weren't running a Wayland session, but if that was wrong, one thing that might be worth trying is, in the global config, set YADFORCEXWAYLAND="1"
. Just in case this is a Yad+Wayland issue.
Just in case I'm sending you down the wrong path, when launching STL with the AppImage, check the logs and see if the Yad version is a bit.. old. Basically, a version not 13.0
and that the yad binary path is something like /home/username/.config/steamtinkerlaunch/downloads/yad
(or if you downloaded it manually, a different path). You can find the relevant log lines by searching for checkIntDeps
in the log and looking for lines like the following:
Mon Mar 18 20:31:33 CDT 2024 INFO - checkIntDeps - Result of version check for yad binary '/usr/bin/yad' is '13.0'
Mon Mar 18 20:31:33 CDT 2024 INFO - checkIntDeps - Yad is set correctly in the Global Config, nothing to do.
Thank you for your time and help, and for jumping on this so quickly.
Not a problem, you provided all of the information to help. I'm just sorry I couldn't figure out the issue.
I'm not trying to shift the blame by pinning it on Yad, but I don't think Yad should segfault even if we're giving it bad data somehow from the UI. The fact that this happened even with v12.12 was particularly strange.
it might be worth trying some of the Yad Examples (basically save them as scripts and run them) and see if any of those cause a segfault. Since they would be creating a lot of UI elements that would be used on the Game/Global/Default Menus, if these examples segfault, then that would just add more weight that it's Yad.
On the STL side: One thing that did come into my head is that the menus that do work that we know of are "simple": Just labels and buttons. So I wonder if there's a specific UI element causing the default. Perhaps you could try opening, say, the "Download Custom Proton" menu. This is also a simple UI, but it has a dropdown.
Both of these will help us work out if:
When using my system yad, it says 13.0, when using the appimg, it says 10.90
When using my system yad, it says 13.0, when using the appimg, it says 10.90
Awesome! I just wanted to make sure you were using the right version before delving too deep down rabbit holes that might not help. So indeed even with a much older Yad version, something is causing a segfault.
For my own curiosity I will hopefully get some time to set up an endeavourOS VM and test out SteamTinkerLaunch / Yad and see if I can reproduuce any weirdness (to avoid installing Steam on the VM I may have to do some shenanigans heh).
All of the yad examples worked, the weather one I'm assuming works, you need to get an API to use it, but that was the only reason it wouldn't run I would think since all the others worked fine.
For my own curiosity I will hopefully get some time to set up an endeavourOS VM and test out SteamTinkerLaunch / Yad and see if I can reproduuce any weirdness (to avoid installing Steam on the VM I may have to do some shenanigans heh).
The weirdest part about all of this is that I was tinkering with Tekken 8 and TekkenOverlay about a month ago and the game menu worked fine, but in between some of my attempts it just stopped opening. I went into the config files to change the things I needed to but it was by no means convenient especially since it uses a hotfix proton version with a long serial number, I had a hard time tracking down the exact version that Tekken was using. I only started trying to use this again since I wanted to try flawless widescreen in Doom.
In case it helps, here the menus that work and don't work, I think the menus that close the main menu end up crashing the whole program, but if it opens on top of the main menu, then instead of crashing the whole thing it just doesn't load, and the main menu remains.
Working:
Not working:
Thanks for the list, this is helpful. It appears any menu that is not a simple "button and label" combination is causing a segfault. I really appreciate that you went through every single menu.
I'm spinning up an endeavourOS VM and I'm going to see if I can re-create a segfault with SteamTinkerLaunch, and if I can, I'll see if I can cause a segfault outside of SteamTinkerLaunch. In a quick test in the live session, general Yad commands worked, so I'll see what's up with STL.
Set up an endeavourOS VM, installed SteamTinkerLaunch (but not Steam so it's a bit jank, and with the skip dependency check enabled to avoid bailing out with missing Steam).
Not encountering any issues over here with Yad, but this is using the "placeholder" AppID. Out of interest you could also try this and see if steamtinkerlaunch settings 31337
causes a segfault. If it does, then I'm really not sure, it sounds like it could be a system-specific issue...
It appears to be some specific element common to these menus causing Yad to segfault, I don't think there's any "data" common to them all, which is what makes me suspect it's one of the UI elements.
This is a really slim chance this could be related to GTK theming, but I installed a couple custom ones on the endeavourOS VM and it worked fine, so I'm not sure that's actually the problem. Even if you're using KDE Plasma, Yad uses GTK, so the theming comes from your GTK theme (usually defaults to Breeze).
Other than that, maybe re-installing Yad might work? paru -S yad
will probably allow you to just resync and reinstall. That's really grasping at straws, though.
I am hoping to update the Yad AppImage in the near future (#1060). Once updated I'll let you know and I'd be interested to hear if it also segfaults for you. I have a feeling it will but you never know...
There is a Yad 13.0 AppImage built by me which is available at: https://github.com/sonic2kk/steamtinkerlaunch-tweaks/releases/tag/Yad-fbfb0fa-x86_64.AppImage
If you'd like you could test this updated AppImage and see if it works. You're also free to build it yourself (although you'll have to use a branch from the easy-builder repo, see https://github.com/kadogo/easy-builder/issues/17).
If the system Yad 13.0 fails for you though, I'm not sure the AppImage would have much more success, especially because the much older AppImage version also fails. But if it doesn't work we can at least rule that out :-)
Closing from lack of response. There may be a way to trace the segfault using gdb
, but likely it would have to be reported upstream to yad at v1cont/yad. I'm not too experienced but I believe the steps are roughly as follows:
/var/lib/systemd/coredump
, and then the name should be something like core.yad.<some number>.<some hash>.<more numbers>.<a longer number>.zst
. You may have several, so it may help to reproduce the crash and then look for the most recently created file. You could copy this to an easier path to work with that you can write to, like /tmp
.zst
archive at the chosen path.gdb
installed.gdb $(which yad) /path/to/extracted/coredump
gdb
will ask to enable debuginfod
for this session, you should be able to just choose n
.(gdb)
. You can type start
to begin execution. If it asks you to create breakpoints or anything, just select n
.This issue does appear to only happen with SteamTinkerLaunch but there are reports of Yad segfaulting in other situations on endeavourOS. So I'm opting to close this as I can't re-create it.
Good luck!
System Information
Issue Description
When trying to open GAME MENU from the STL main menu, the main menu will disappear, and after a little bit, the popup saying "starting x with proton y" appears as if I just clicked start game. This happens with every game, and I have also tried switching between the regular and git versions available on the AUR.
I have also tried doing a clean uninstall -> reinstall, but still the same results.
Not sure how relevant it is, but I think it stopped working while I was trying to run TekkenOverlay alongside Tekken 8, and I was having a lot of issues with the injection and the game crashing, in between all of these attempts, somewhere the game menu would no longer open.
Logs
steamtinkerlaunch.log