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

Misc: Bump Yad AppImage to use new release #1077

Closed sonic2kk closed 4 months ago

sonic2kk commented 6 months ago

Implements #1060. Related #859.

Bump Yad AppImage to use new release over at: https://github.com/sonic2kk/steamtinkerlaunch-tweaks/releases/tag/Yad-fbfb0fa-x86_64.AppImage

We pin to the latest AppImage release on GitHub by assuming the release name and AppImage will have the same string. The new release should follow this convention. This means existing code and older releases will still use the old AppImage, but newer versions will download the new AppImage.

This new release updates the Yad version. As always on SteamOS, dependencies will have to be cleared to test this (the steamtinkerlaunch cleardeckdeps command).

This PR needs significant amounts of testing before it can be merged. Once merged, the AppImage release will no longer be marked as a draft.

sonic2kk commented 6 months ago

We can probably remove the duplicate YAIURL in setYadBin in this PR as well. There was a TODO left here about this since #1063, as it appears to be identical to the one found in uris.conf.

sonic2kk commented 6 months ago

The AppImage appears to work fine on my Linux PC. I don't have SteamTinkerLaunch on my Steam Deck, but I should be able to download and test the Yad AppImage standalone there sometime next week.

Ideally before this gets merged, someone will test it out on SteamOS.

Mte90 commented 6 months ago

I am trying on SteamOS but doesn't happen anything. In console I am getting nothing so I can't help..

immagine

sonic2kk commented 6 months ago

Are you sure the AppImage downloaded correctly? It doesn't look like it did based on your terminal output. Double-check that the filesize is ~80mb.

I was able to run it on my Steam Deck and it errored out around the glibc version. I'm guessing there's some glibc incompatibility between my Arch PC and the Steam Deck.


SteamOS glibc 2.38-3.2, that explains why it doesn't work as the AppImage on my PC was built against a newer glibc version.

Sigh, I'll probably have to get a Debian VM or something to build against, assuming it has an older glibc version. Alternatively, this could wait until SteamOS updates to a newer glibc version. Hopefully with the next snapshot update this happens.

Mte90 commented 6 months ago

You were right the file downloaded with curl was 0 bytes... I got the same error about glibc 2.38 and 2.34 not found.

Maybe we can compile it in a VM for Steamos or my idea of a CI will simplify this situation.

sonic2kk commented 6 months ago

Once again, I don't think CI is necessary. This also isn't an urgent change, Yad is not updated frequently.

If needs be we can manage building it on an Ubuntu VM once every two years :-)

sonic2kk commented 4 months ago

Updated AppImage, needs testing. @AtomHare feel free to check it out on SteamOS if you like :-)

AtomHare commented 4 months ago

I just tried it and it worked well ! Both in desktop and in gamemode !

However I uncountered an issue, I did a cleardeckdeps to download the latest Yad, however when "downloading" no progress bar appear and after looking in the deps folder the yad appimage was of 0 Bytes, thus steamtinkerlaunch didn't work as expected. After replacing manually the appimage everything works as expected though.

sonic2kk commented 4 months ago

Network errors can occur and cause this. I'm not sure we can do much about this without some logic to retry downloads, but failure to download/connect to the internet is quite common on SteamOS (iirc it has a lot to do with the Steam Client downloading in the background hogging the connection and causing timeouts).

Thanks for testing though! This can be merged then I think.

AtomHare commented 4 months ago

The download didn't fail because of a "steam deck unreliability", it's completely unrelated indeed, it looks like the crafted URL by STL is : YAIDL="$YAIURL/$YADSTLIMAGE/$YADSTLIMAGE" which worked before because the artifact was at https://github.com/sonic2kk/steamtinkerlaunch-tweaks/releases/download/Yad-8418e37-x86_64.AppImage/Yad-8418e37-x86_64.AppImage

but now it's at https://github.com/sonic2kk/steamtinkerlaunch-tweaks/releases/download/Yad-13.0/Yad-13.0-x86_64.AppImage renaming the release tag from Yad-13.0 to Yad-13.0-x86_64.AppImage should fix it ;)

I'm going to create a little PR for this !

sonic2kk commented 4 months ago

Good to know that this issue is separate, thanks for catching this!

Although it's still important to note (for the few Steam Deck users that actually do things properly and check previous issues and PRs) that dependency download failures are incredibly common on SteamOS for various projects, including SteamTinkerLaunch.

However this case is separate indeed, but, the download may still fail.


New release has been published here following sonic2kk/steamtinkerlaunch-tweaks#4: https://github.com/sonic2kk/steamtinkerlaunch-tweaks/releases/tag/Yad-13.0-x86_64.AppImage

AtomHare commented 4 months ago

Good to know that this issue is separate, thanks for catching this!

No issue at all, glad to help

Although it's still important to note (for the few Steam Deck users that actually do things properly and check previous issues and PRs) that dependency download failures are incredibly common on SteamOS for various projects, including SteamTinkerLaunch.

Honestly, I never got download issues with my Steam Deck, maybe it's more related to people having bad Wi-Fi connections at home

SilentException commented 4 months ago

Hi, I updated STL on my Steam Deck, updated ~/.config/steamtinkerlaunch/uris.conf and removed yad executable to force redownload of new version. Couldn't thing of another procedure. Then i ran steamtinkerlaunch in terminal and it proceeded to download yad but because this: https://github.com/sonic2kk/steamtinkerlaunch/pull/1077/files#diff-77c6d4bb1bf7c1988ff5a068c856b6c24e113663f2e61cb3a2c98723c0fafc04L18225 was removed, the download link wasn't populated (after debugging the YAIDL was "/Yad-13.0-x86_64.AppImage/Yad-13.0-x86_64.AppImage") and nothing was downloaded. I termporary reverted that one line and everything downloaded correctly.

sonic2kk commented 4 months ago

Huh, that's interesting. Thanks for pointing that out. I'll push a fix for that now. I guess it was needed after all, but I'm not sure why. I guess maybe the values in url.conf aren't read yet at this point when steamdedeckt is called.

sonic2kk commented 4 months ago

Should be fixed with 2d0b0ec.