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.12k stars 71 forks source link

SteamTinkerLaunch constantly searching for updates. #635

Closed SentaiBrad closed 1 year ago

SentaiBrad commented 1 year ago

So, to be fair, I don't know if this is a bug, but, when running SteamTinkerLaunch on my Deck in desktop mode (getting MO2 setup), every button I press is making STL search for an update.

image

When I'm done with my action it tells me that the update was successful. It did this both in Discover and through ProtonUp-Qt.

image

System Information

Logs

steamtinkerlaunch.log steamtinkerlaunch-iscriptevaluator-22380.log

sonic2kk commented 1 year ago

EDIT: You mentioned Discover. As noted on the Discover description, this is only for Flatpak Steam. Just noticed this when reading your issue again. I will not be providing support for users who use Flatpak STL on Deck, even if you manually installed Flatpak Steam, it is up to you to use the supported version of SteamTinkerLaunch on your platform.

This is a known issue, and I'm not totally sure why STL does this. I think it runs when Steam opens at several points. I haven't had much time to investigate. To my understanding, SteamTinkerLaunch always ran in the background like this when opening Steam, but the addition of the notifier just made it clearer.

If you didn't know already, SteamTinkerLaunch always updates to the latest Git on Steam Deck. This part is intended behaviour, but the notifier spam is not.

It annoys me on Steam Deck too, and if you'd like to work around it for now, you can turn the notifier off in settings.

I'm hoping eventually to add a setting to toggle automatic updates on Steam Deck, and to choose whether to update from stable or git. But no ETA on that kind of feature yet :-)

Thanks for reporting! The notifier spam is a bug and STL running so many times is also a bug, but just to be clear that updating each time STL runs is intended behaviour - It just shouldn't be running so much :-)

sonic2kk commented 1 year ago

I have a WIP fix for this locally, I need to test it to make sure it hasn't accidentally broken anything first though. It's also kind of "hacky" - It basically checks to see if STL is being run through Steam and if it is, don't do any updates.

It's "hacky" because it doesn't really address the root issue - That STL is being called twice when running. Maybe this isn't a big deal and is a Steam quirk, though :sweat_smile:

This problem will also become less of a "problem" once the planned automatic update toggling is introduced.

sonic2kk commented 1 year ago

@SentaiBrad Did some testing on my Deck and this seems to work. Please test :-)

Forgot to bump the version. Won't bother until there has been more testing done.

frostworx commented 1 year ago

steam often triggers several update mechanisms for multiple games when it is started. I guess the main reason is shader caching. Those commands are automatically triggering steamtinkerlaunch and steamtinkerlaunch tries to execute instead of discarding them. See for example the recent %verb% issue here (the shader cache calls are no %verb% but some d3dXXX executables - can't remember the exact names, but they are logged as ll by steamtinkerlaunch, just search STLSHM) edit: so no, it is no bug, but you might want to disable the notifier for those commands

sonic2kk commented 1 year ago

Awesome, thank you for the details! I guess I'll look for when those verbs are called and explicitly disable the notifier (maybe STLQUIET=1 would be enough for when STL is triggered by those commands).

SentaiBrad commented 1 year ago

EDIT: You mentioned Discover. As noted on the Discover description, this is only for Flatpak Steam. Just noticed this when reading your issue again. I will not be providing support for users who use Flatpak STL on Deck, even if you manually installed Flatpak Steam, it is up to you to use the supported version of SteamTinkerLaunch on your platform.

I am currently running STL through ProtonUp-Qt, but it is on my deck, with the default install of Steam for GameMode. I have used Linux off and on throughout the last 10 years, and my Laptop is set up on Linux, but it's only since I got my deck a few months ago that I've really jumped into Linux.

I have been reading through the Wiki the last few days, trying to wrap my head around it. I am also going to install this on my Manjaro Laptop, but I don't use that as much as my Deck. Valve just made it too easy to want to use xD.

If you didn't know already, SteamTinkerLaunch always updates to the latest Git on Steam Deck. This part is intended behaviour, but the notifier spam is not.

It annoys me on Steam Deck too, and if you'd like to work around it for now, you can turn the notifier off in settings.

I had figured the update check was normal, but the constant notification bump wasn't. :D

I'm hoping eventually to add a setting to toggle automatic updates on Steam Deck, and to choose whether to update from stable or git. But no ETA on that kind of feature yet :-)

Thanks for reporting! The notifier spam is a bug and STL running so many times is also a bug, but just to be clear that updating each time STL runs is intended behaviour - It just shouldn't be running so much :-)

I greatly appreciate the work you've done here, and elsewhere. I've seen your name a ton in the last few weeks. It certainly does not go unnoticed.

@SentaiBrad Did some testing on my Deck and this seems to work. Please test :-)

Forgot to bump the version. Won't bother until there has been more testing done.

I re-downloaded it from ProtonUp. First, I tried to update in place without uninstalling, but I got stuck at 99%. Then I uninstalled STL from PU-Qt, kept my configs, and installed it again and I am stuck at 99%. I've been trying to not command read-only off and use things outside of Flatpak's and AppImages for the Deck since I had to reformat my Deck the other night. I've been attempting to do as much as possible in the limited container I can. So I can build from Git manually if needed, but that was my reasoning for trying not to.

I remember Discover having a beta tab for me that I got added before my wipe. I wonder if a build could go through (if set to do so automatically) that keeps Discover Beta on a daily git?

SentaiBrad commented 1 year ago

@SentaiBrad Did some testing on my Deck and this seems to work. Please test :-)

Forgot to bump the version. Won't bother until there has been more testing done.

Ok, I had said in my previous post it was getting stuck at 99%. Well, closing ProtonUp-Qt after waiting for a minute at 99%, and loading it back up shows that STL is on the list again. Loaded it up from a game in Steam and it's launching just fine, no update spamming so far.

Also, the SteamDeck is a capable handheld, but anything I can do or think of to make it run as smoothly as possible I want to try and explore. For example, in MO2, all those Call Error Messages in the log are harmless technically, but after a few minutes of running MO2 and those stacking up, it starts to run very slowly on the Deck.

sonic2kk commented 1 year ago

I remember Discover having a beta tab for me that I got added before my wipe. I wonder if a build could go through (if set to do so automatically) that keeps Discover Beta on a daily git?

There might be a misunderstanding, so let me clarify: I know that right now you are using ProtonUp-Qt but, you should not ever use Discover to install SteamTinkerLaunch on Steam Deck. This is only for use with Flatpak Steam, which the Steam Deck does not use. The installation through Discover installs SteamTinkerLaunch Flatpak, and as is clearly stated on the Discover page, it is only for use with Flatpak Steam.

image

You should not, ever use Discover to install SteamTinkerLaunch on Steam Deck.

Installing SteamTinkerLaunch either through ProtonUp-Qt or by installing it manually will automatically download the latest git only on Steam Deck. This is in an attempt to provide the latest bug fixes.

On a Linux desktop, typically SteamTinkerLaunch is installed through a package manager and on Steam Deck this would require disabling the read-only filesystem. However on Steam Deck, all you have to do to install SteamTinkerLaunch is download a release/clone down the repo, and double click the script/do ./steamtinkerlaunch from the folder where the script is located. There is no need to go through any extra hoops to use the latest git version, there is certainly no reason to use Discover, and there is no need for Flatpak/AppImages for STL on Steam Deck because the script will manage installing locally.

ProtonUp-Qt just downloads the script and runs it, and does a couple of extra steps for a more "complete" and "user friendly" installation. If I remember correctly it just attempts to automatically set the language, and it also adds SteamTinkerLaunch to your PATH so you can simply run steamtinkerlaunch from any directory within a terminal. It also allows for cleaner uninstallation. I wrote a good chunk of the SteamTinkerLaunch installer for ProtonUp-Qt (with a lot of patient guidance from the maintainer DavidoTek, who also helped out a bunch with the ProtonUp-Qt-flatpak-specific stuff), if you know a bit of Python you can check it out here: https://github.com/DavidoTek/ProtonUp-Qt/blob/main/pupgui2/resources/ctmods/ctmod_steamtinkerlaunch.py

Though ProtonUp-Qt gives an option for stable and git releases of SteamTinkerLaunch, on Steam Deck we always currently update to the latest git if there is an internet connection. Installing SteamTinkerLaunch on Steam Deck will always use the latest git, and it does not require disabling the read-only filesystem, and it should ideally never be installed through Discover unless for some reason someone is using Flatpak Steam on their Deck (which they shouldn't).

I hope that clarifies how to use SteamTinkerLaunch on Steam Deck. You are not the only user to make the mistake of trying to install through Discover, so in future please take care to carefully read the descriptions of all projects available on Discover and any associated documentation, and ensure that they are compatible with Steam Deck.

I greatly appreciate the work you've done here, and elsewhere. I've seen your name a ton in the last few weeks. It certainly does not go unnoticed.

Why thank you! I have recently taken over as maintainer of SteamTinkerLaunch, so you'll probably be seeing a lot more of me :-)

have been reading through the Wiki the last few days, trying to wrap my head around it. I am also going to install this on my Manjaro Laptop, but I don't use that as much as my Deck

Though you can use the AUR on Manjaro, I would avoid it as a general rule of thumb and would instead recommend using ProtonUp-Qt again to install SteamTinkerLaunch on desktop. It won't automatically update, even if you use steamtinkerlaunch-git, but updating is as straightforward as just installing again from ProtonUp-Qt - You don't even need to uninstall (and it's much easier if you don't), it will just overwrite your existing installation. It'll also install SteamTinkerLaunch to the same location as on Steam Deck, $HOME/stl/prefix.


Ok, I had said in my previous post it was getting stuck at 99%. Well, closing ProtonUp-Qt after waiting for a minute at 99%, and loading it back up shows that STL is on the list again. Loaded it up from a game in Steam and it's launching just fine, no update spamming so far.

Awesome, glad to hear it! I am not sure why ProtonUp-Qt is hanging, but there is discussion and a WIP PR open to make improvements to SteamTinkerLaunch support. On top of this, SteamTinkerLaunch will automatically update on Steam Deck to the latest git, so you don't need to do anything more in ProtonUp-Qt. Just run SteamTinkerLaunch from the command line or launch a game with it and it'll automatically update.

Perhaps something was changed in the latest ProtonUp-Qt git, you could try running it from source and seeing if you have better luck, but now that you have it installed everything should be fine and you shouldn't need to use ProtonUp-Qt to do some more testing.

In future, I'm hoping to introduce a toggle for automatic updates to SteamTinkerLaunch on Steam Deck, allowing the user to turn off the automatic Git updates, and also giving an option to automatically update to the latest stable releases instead of the latest Git. I'm not sure when I'll get the time to work on this and it might not happen in the next release, but just a heads up that this functionality is planned to change but has no ETA.

Also, the SteamDeck is a capable handheld, but anything I can do or think of to make it run as smoothly as possible I want to try and explore. For example, in MO2, all those Call Error Messages in the log are harmless technically, but after a few minutes of running MO2 and those stacking up, it starts to run very slowly on the Deck.

Hmm, I haven't really tried MO2 on Steam Deck, but those warnings are just a product of running through Wine. I'm not sure why it would cause slowdowns though, on my desktop and laptop it has never caused slowdowns (my laptop is just a slightly less powerful Steam Deck, AMD all the way). Sadly there's nothing really on the STL side that we can do, sorry about that.


Okay, so the tl;dr here is that you shouldn't use Discover to install SteamTinkerLaunch on Steam Deck, and that you don't need to install SteamTinkerLaunch as root on Steam Deck. It'll automatically install itself locally on Deck, and ProtonUp-Qt just automates this for you and does some extra setup with language files and adding SteamTinkerLaunch to your PATH.

Please keep testing and report back if you encounter anything you think is wrong! I'll leave this open for a bit longer but if come to the conclusion that this is fixed, we can close this issue :-)

SentaiBrad commented 1 year ago

For me at least, it is fixed. No more spamming. I'll have to wait to see if the next update prompts a normal "Found, Installing, Done" set of notifications, and doesn't keep doing it on every button press.

You should not, ever use Discover to install SteamTinkerLaunch on Steam Deck.

Installing SteamTinkerLaunch either through ProtonUp-Qt or by installing it manually will automatically download the latest git only on Steam Deck. This is in an attempt to provide the latest bug fixes.

On a Linux desktop, typically SteamTinkerLaunch is installed through a package manager and on Steam Deck this would require disabling the read-only filesystem. However on Steam Deck, all you have to do to install SteamTinkerLaunch is download a release/clone down the repo, and double click the script/do ./steamtinkerlaunch from the folder where the script is located. There is no need to go through any extra hoops to use the latest git version, there is certainly no reason to use Discover, and there is no need for Flatpak/AppImages for STL on Steam Deck because the script will manage installing locally.

Yea, I have general Linux experience, but the Deck being read-only and having limited access like this is new to me. For whatever reason, in my head, I thought that most things being installed were Flatpaks, even through ProtonUp-Qt. I know you can install non-Flatpaks and AppImages, sometimes needing a Docker Container, and other times not, but my brain didn't fully understand that the ProtonQt-Up script was just dealing with things properly in the userland area only and making it work without the need for a Flatpak or AppImage. Your explanation definitely cleared that up. The $PATH description in your TL;DR helped a ton too. Maybe add that to the Install Instructions?

Also, would removing it from Discover and leaving it in ProtonUp-Qt be better in the long-term? Distros that are read-only like this exist but are not standard, and I imagine this is the first time for a lot of people using Linux.

Also, the SteamDeck is a capable handheld, but anything I can do or think of to make it run as smoothly as possible I want to try and explore. For example, in MO2, all those Call Error Messages in the log are harmless technically, but after a few minutes of running MO2 and those stacking up, it starts to run very slowly on the Deck.

Hmm, I haven't really tried MO2 on Steam Deck, but those warnings are just a product of running through Wine. I'm not sure why it would cause slowdowns though, on my desktop and laptop it has never caused slowdowns (my laptop is just a slightly less powerful Steam Deck, AMD all the way). Sadly there's nothing really on the STL side that we can do, sorry about that.

At first, MO2 runs snappy (at least, as snappy as it can in a Wine container), with or without mods added. But, as I browse around the UI and those errors pile up in the log, MO2 certainly starts to lag a hell of a lot more and just generally become unresponsive at times. I 100% understand that this isn't something STL can deal with. Just mentioning that if there are ways around something like that or a different perspective that I can offer then I would.

New Vegas plays as fine as a game that old can in Vanilla on the Deck. With the BASIC xNVSE, Engine, and a few QoL features you can get, it runs even better. But once you start adding entire overhauls like TTW, and my active plugin list is 153 mods (254 max for Bethesda games), even in a cave, I was getting frame pacing issues that I don't get on my Windows machine. Granted, Windows =/= Linux, so I would be curious to see how it handles on my laptop (10700k w/ a 2070Q).

I was reading on the wiki that you all are working on a No-GUI version launch for MO2, I am excited for that.

Okay, so the tl;dr here is that you shouldn't use Discover to install SteamTinkerLaunch on Steam Deck, and that you don't need to install SteamTinkerLaunch as root on Steam Deck. It'll automatically install itself locally on Deck, and ProtonUp-Qt just automates this for you and does some extra setup with language files and adding SteamTinkerLaunch to your PATH.

Please keep testing and report back if you encounter anything you think is wrong! I'll leave this open for a bit longer but if come to the conclusion that this is fixed, we can close this issue :-)

I very very much appreciate you taking the time to write all of this.

sonic2kk commented 1 year ago

For whatever reason, in my head, I thought that most things being installed were Flatpaks, even through ProtonUp-Qt. I know you can install non-Flatpaks and AppImages, sometimes needing a Docker Container, and other times not, but my brain didn't fully understand that the ProtonQt-Up script was just dealing with things properly in the userland area only and making it work without the need for a Flatpak or AppImage

Ahhh alright, well I'm glad I was able to clear that up. Flatpaks are just one method of application distribution on Linux, one that Discover supports and the Steam Deck happens to ship with KDE Plasma which uses Discover. And since the Steam Deck's broader filesystem is readonly, it just so happens that Flatpaks are the only thing that Discover supports on Steam Deck.

The $PATH description in your TL;DR helped a ton too. Maybe add that to the Install Instructions?

It's listed on the ProtonUp-Qt wiki page, but I'll add an explicit note about it on the ProtonUp-Qt and Steam Deck installation wiki pages too! Good idea.

Also, would removing it from Discover and leaving it in ProtonUp-Qt be better in the long-term? Distros that are read-only like this exist but are not standard, and I imagine this is the first time for a lot of people using Linux.

If you mean uninstalling, then yes you should uninstall from Discover. It is not doing anything except taking up disk space, as it only integrates with Flatpak Steam.

If you mean removing the listing from Discover, then no for a couple of reasons:

  1. Discover pulls its listings from applications available on Flathub, a repository for hosting and distributing Flatpaks. SteamTinkerLaunch and by extension all Flatpak developers, do not explicitly list their applications on Discover. When Flathub is enabled as an application source in Discover, which when enabled on the system Discover will enable also, Discover will act as a frontend to let you install applications available on Flathub.
    • For some reasons, Flathub doesn't list addons/tools such as SteamTinkerLaunch or Flatpak GE-Proton on its site. So we cannot really remove SteamTinkerLaunch from Discover
  2. Having the Discover listing makes it much easier for Flatpak Steam users to use Flatpak STL, as it means they do not have to use the command line

SteamTinkerLaunch is not really aimed at those who are using Linux for the first time. It is a tool aimed at experienced Linux users who know what they are doing, but provides graphical configuration for settings they would otherwise have to set manually. First-time Linux users should read the wiki and learn more about their operating system in general before diving into tinkering on Steam Deck in general, but especially with SteamTinkerLaunch. And to be quite honest, I would say the same to Windows users - Learn about your OS before you delve into tinkering, or you're going to get burned.

At first, MO2 runs snappy (at least, as snappy as it can in a Wine container), with or without mods added. But, as I browse around the UI and those errors pile up in the log, MO2 certainly starts to lag a hell of a lot more and just generally become unresponsive at times

There have been a couple of reports of this on desktop, too. But on Desktop, with my New Vegas setup with ~50 mods and an Oblivion instance modded with around the same, I haven't experienced any slowdowns.

As for your mods having problems, it could just be that the Deck can't run those at a stable framerate. I'm not sure that MO2 itself is causing the problem here. You could try clocking your GPU up in the Game Mode settings, or running at 720p or lower (instead of 800p). There is not much really that I can advise on how to boost performance on Deck, but Bethesda games are very unoptimised and run poorly even on Windows so you might just be out of luck on that side I'm afraid. This issue is not really related to SteamTinkerLaunch so I can only give limited support.

so I would be curious to see how it handles on my laptop (10700k w/ a 2070Q).

It would be interesting but please be aware that Nvidia hardware is poorly supported on Linux by Nvidia both in terms of their own drivers and unsupported by tools such as Proton and Wine, and virtually entirely unsupported (and fiercely detested) by the Linux community. Running MO2 on your laptop could end up being even slower or having other problems.

I was reading on the wiki that you all are working on a No-GUI version launch for MO2, I am excited for that.

There hasn't been any movement on this in a while I'm afraid, and unless there is a MO2 flag for this, it would probably end up just starting MO2 minimised and not resolving the performance issue here I'm afraid :frowning_face: A PR for it would be more than welcome though! SteamTinkerLaunch is always looking for more contributors :smile:


No problem with the writing, I try to help out as best as I can :-)

EDIT: Ah forgot to mention the start of your reply, yes I think it's a good idea to see if it updates correctly on game launches. Not sure when the next update will be, it's really just when I get a feature implemented and push it up. Probably sometime within the next week I would say though :-)

sonic2kk commented 1 year ago

For me at least, it is fixed. No more spamming. I'll have to wait to see if the next update prompts a normal "Found, Installing, Done" set of notifications, and doesn't keep doing it on every button press.

Did STL update properly to 20221024 for you with the notifier? :-)

SentaiBrad commented 1 year ago

For me at least, it is fixed. No more spamming. I'll have to wait to see if the next update prompts a normal "Found, Installing, Done" set of notifications, and doesn't keep doing it on every button press.

Did STL update properly to 20221024 for you with the notifier? :-)

I've been using STL for the last hour, with zero notifications. In my configs, I see v11.12.20221021 still.

Edit: double checked and Notifier is still enabled.

sonic2kk commented 1 year ago

20221021 is very old... Is it not 20221021-2 at the very least?

I'll have to test this on my Steam Deck later (on lunch atm, will try to get some time today or tomorrow to look into why it isn't updating / to see if it's updating on my Deck, I thought it was during testing but I will see...)

sonic2kk commented 1 year ago

Trying to run a pull manually from Desktop Mode, it seems like for some reason there's an error trying to pull down about divergent branches. Trying to pull with --no-rebase says there's a conflict. Maybe I stupidly force pushed but I don't remember doing that.

Either way, once its fixed I'll give you a ping and it should be able to auto-update again. If you don't mind, hang tight on keeping your older version for now. I'll try to get a fix for this out after work. It might end up that I just force pushed by accident and so there's a conflict, because there really shouldn't ever be a conflict like this when pulling down from master...

Still finding my feet a little bit with maintaining a project with actual users, I seriously do apologise for this... It's absolutely my bad and I'll try to do better in future. This isn't the first time I've made a mistake like this but I am hoping it will be the last, at least for a while.

I'll probably test this by manually reinstalling STL on my Deck, then pushing a code change (probably some extra logging) and then seeing if STL automatically updates after that. If it does, I'll put this issue down to me messing something up with the git history.

If I am successful in that test, I'll add an extra catch to just wipe and clone the SteamTinkerLaunch prefix to resolve these kinds of errors in future - Of course, no one will be able to automatically update to have this fix, so users will have to manually reinstall.

When the next major release is rolled, I'll add a note specifying that you should manually reinstall to this version.

SentaiBrad commented 1 year ago

Trying to run a pull manually from Desktop Mode, it seems like for some reason there's an error trying to pull down about divergent branches. Trying to pull with --no-rebase says there's a conflict. Maybe I stupidly force pushed but I don't remember doing that.

Either way, once its fixed I'll give you a ping and it should be able to auto-update again. If you don't mind, hang tight on keeping your older version for now. I'll try to get a fix for this out after work. It might end up that I just force pushed by accident and so there's a conflict, because there really shouldn't ever be a conflict like this when pulling down from master...

Still finding my feet a little bit with maintaining a project with actual users, I seriously do apologise for this... It's absolutely my bad and I'll try to do better in future. This isn't the first time I've made a mistake like this but I am hoping it will be the last, at least for a while.

I'll probably test this by manually reinstalling STL on my Deck, then pushing a code change (probably some extra logging) and then seeing if STL automatically updates after that. If it does, I'll put this issue down to me messing something up with the git history.

If I am successful in that test, I'll add an extra catch to just wipe and clone the SteamTinkerLaunch prefix to resolve these kinds of errors in future - Of course, no one will be able to automatically update to have this fix, so users will have to manually reinstall.

When the next major release is rolled, I'll add a note specifying that you should manually reinstall to this version.

You've 100% earned enough good will with me for putting up with my BS. Even still, no worries. You're doing this for free. I appreciate the work regardless.

frostworx commented 1 year ago

glad to see new helpful people are rising, @SentaiBrad 👍

SentaiBrad commented 1 year ago

20221021 is very old... Is it not 20221021-2 at the very least?

I'll have to test this on my Steam Deck later (on lunch atm, will try to get some time today or tomorrow to look into why it isn't updating / to see if it's updating on my Deck, I thought it was during testing but I will see...)

Yes, it is "-2"

glad to see new helpful people are rising, @SentaiBrad 👍

I appreciate the thumbs up :D. When I was at LaunchBox, or my Software QA job for a bit, I always had a knack of finding the random broken stuff xD

sonic2kk commented 1 year ago

Okay so I did some more digging and it definitely seems like something messed up on my end. This shouldn't be a bug introduced by the recent STL changes, it's really just that Git can't pull down the changes because it can't resolve some conflicts. This isn't a bug with STL's code as far as I am aware.

So my plan right now is to add a catch for this. If it runs into any issues cloning down the git repo, it'll move the existing prefix and clone the repo again. If it fails even after doing that, we'll abort and restore the original files. We'll also do a check if GitHub is down and let the user know that GitHub is down so we can't update. By restoring the original files it also means we won't bork an existing STL install.

Should be ready soon-ish. Of course, you won't have these changes, but you should be able to download the STL script again and overwrite the one in $HOME/stl/prefix to test, once this is ready.

Fingers crossed this has some success :-)

SentaiBrad commented 1 year ago

Okay so I did some more digging and it definitely seems like something messed up on my end. This shouldn't be a bug introduced by the recent STL changes, it's really just that Git can't pull down the changes because it can't resolve some conflicts. This isn't a bug with STL's code as far as I am aware.

So my plan right now is to add a catch for this. If it runs into any issues cloning down the git repo, it'll move the existing prefix and clone the repo again. If it fails even after doing that, we'll abort and restore the original files. We'll also do a check if GitHub is down and let the user know that GitHub is down so we can't update. By restoring the original files it also means we won't bork an existing STL install.

Should be ready soon-ish. Of course, you won't have these changes, but you should be able to download the STL script again and overwrite the one in $HOME/stl/prefix to test, once this is ready.

Fingers crossed this has some success :-)

Alright. When It's ready I will update manually from ProtonUp-Qt

sonic2kk commented 1 year ago

Actually, I'm not sure why this didn't occur to me earlier, but you should be able to remove SteamTinkerLaunch via ProtonUp-Qt and then reinstall it. That will fix the problem since it'll do a clean reinstall (I don't remember if a manual update wipes an existing STL install, it might but it's safer to just remove it with ProtonUp-Qt for testing purpose here). Then whenever I push out these next changes to deal with a failed git pull, you should get automatically updated the next time you launch a game with SteamTinkerLaunch.

If you would like, you can remove STL with ProtonUp-Qt now, and then later today you should get a version bump. I'll ping you when the changes are out. The current version is v11.12.20221024, later on today it'll probably have -1, -2 or it'll be bumped by a day depending on when the changes are out.

So once you can successfully update to future changes I push out with the notifier telling you that you got a bump, and assuming the initial notifier spam issue remains resolved, we can close this issue :-)

SentaiBrad commented 1 year ago

Actually, I'm not sure why this didn't occur to me earlier, but you should be able to remove SteamTinkerLaunch via ProtonUp-Qt and then reinstall it. That will fix the problem since it'll do a clean reinstall (I don't remember if a manual update wipes an existing STL install, it might but it's safer to just remove it with ProtonUp-Qt for testing purpose here). Then whenever I push out these next changes to deal with a failed git pull, you should get automatically updated the next time you launch a game with SteamTinkerLaunch.

If you would like, you can remove STL with ProtonUp-Qt now, and then later today you should get a version bump. I'll ping you when the changes are out. The current version is v11.12.20221024, later on today it'll probably have -1, -2 or it'll be bumped by a day depending on when the changes are out.

So once you can successfully update to future changes I push out with the notifier telling you that you got a bump, and assuming the initial notifier spam issue remains resolved, we can close this issue :-)

When I got stuck at 99%, I did an in-place upgrade and an uninstall then a re-install. Same behavior. Otherwise, I will wait, and maybe actually play a game :D

SentaiBrad commented 1 year ago

Side question, but don't want to make a thread JUST for this, and GitHub doesn't let me private message, anyone. Does this community have a Discord / LibreChat channel, or use a larger communities Discord server?

sonic2kk commented 1 year ago

There used to be a subreddit for STL but since I don't use Reddit and the community there was reportedly uninterested in helping and only in asking questions, it was recently closed.

There is currently no chat of any kind for SteamTinkerLaunch. If one was ever to be made, it would be community-driven and community-maintained, as I personally prefer to keep 99% of my interactions surrounding development restricted to GitHub. It helps me draw that line so I don't end up letting working on STL become like a "job" and keeps a separation :-)

sonic2kk commented 1 year ago

Hey @SentaiBrad, an update was just pushed to SteamTinkerLaunch. Next time you launch a game or run from the command line, it should update. The version should be v11.12.20221024-1. Try it out and let me know if you have any success :-)

It seemed to work on my Deck fwiw

If it does work and you get onto the latest version, feel free to test and make sure the notifier spam is still cleared up (it should be in my brief tests). If it's all looking good, feel free to close and also leave some feedback on the scrollbar issue left on #638

SentaiBrad commented 1 year ago

Here we go. Downloaded from Git, ran the script and

image

Launching through Steam (New Vegas) and I get the same result as the image. :D

Ok, so STL is checking in properly now; However, the original issue of checking an update on pressing most buttons still exists. As you had mentioned, I can disable the Notifier, but disabling it all together seems like a lot. All or nothing.

Edit: Edit to remove edit. I am super tired.

sonic2kk commented 1 year ago

Nice, STL is updating now :-) So the "side-problem" of the automatic updates not working should be fixed. Phew!

Now, onto the next item...

the original issue of checking an update on pressing most buttons still exists. As you had mentioned, I can disable the Notifier, but disabling it all together seems like a lot. All or nothing.

Ah, I see now. Strange, I never noticed this before. It doesn't happen when going to the Main Menu, it seems like this only happens when new dialogs are opened on top of Yad. For example when you go to the Game Menu, the STL Main Menu closes and the Game Menu opens. The same is true for the Global Menu. But for something like the GameScope menu which opens on top of the Main Menu, it seems like the notifier gets activated and steamdedeckt runs again.

I'll have to take a look into this.

sonic2kk commented 1 year ago

Pushed up what is hopefully a fix, basically it won't attempt to update if it thinks it's running a game from the installation prefix (should only be the case if STL is called from the main menu buttons), but it should still update if a game is run from Steam.

SentaiBrad commented 1 year ago

I let STL update by launching New Vegas as a double test, and that worked on both fronts. Updated properly, and I no longer see Notification spam! :D

sonic2kk commented 1 year ago

That is awesome news to cure the Monday blues :-) Thanks for reporting and all the patient testing. I'm gonna close this issue now but please re-open if you encounter any problems related to this (a 'better' fix relating to the verbs passed to STL may be implemented in the future, but not right now :neckbeard:)