ProtonUpdater icon indicating copy to clipboard operation
ProtonUpdater copied to clipboard

add a section to download latest TKG-Proton-Build to PGEfast.sh

Open ghost opened this issue 5 years ago • 7 comments

Hey there, I really like the script you created and thought it may be a nice idea to not only install Proton-GE but also install the proton-build from Tk-Glitch (see here: https://github.com/Tk-Glitch/PKGBUILDS/releases/) with that script. They tend to be even more update and also adds some more stuff (as far as I know some special patches)

So I basically just got ahead and added it to the updatePGEfast.sh (since this was easier to edit) and all the stuff needed to download and install the latest release of Proton-TKG. It is not ready for merging just yet but should be at least a good proof of concept. I added and changed a lot variables for this to work correctly.

Some things I still need some help with since I am not that pro with bash:

~~- Right now the script will check for updates of GE and after that for TKG. If none of the both is installed, both will be correctly installed. If GE is installed in its most recent version the script will exit and TKG will not be installed even if it is not the most recent version (is not being checked if script ends before it)~~

  • The script may contain some things that are not needed since they are doubled

If you have something else you want to have added please let me know

ghost avatar Mar 11 '20 18:03 ghost

Hey Stefan!

Thank you for your contribution! This was actually the very next thing I was (and still am) planning on implementing into the script! I tried making a simple poc before, but I was running Linux Mint back then and didn't have the right version of glibc to properly test or run it, so I kind of forgot about that one.

Recently I switched to Arch, so from that standpoint I will be able to test and implement this feature. Sorry for the late response. Despite the crisis, I'm in the middle of my graduation-project and I will be for a few more weeks. After that I'll have the time to properly implement this feature.

Taking a quick look at your changes at the script, this will certainly help me with this, so again thank you for that! Does your script properly work on your system (except for the issues you already mentioned)?

flubberding avatar Apr 01 '20 10:04 flubberding

Hey there flubberding,

Nice to hear back from you! I really like the scripts you made. Great for even further automating my update script on arch (btw, I use Arch :P)

The TK-Glitch Proton-version portion of the script should still be distro agnostic as far as I understand it is also a zip package that is extracted in the respective folder. Though it seems the directory-structure changes A bit from say debian to arch. See the release notes here: https://github.com/Frogging-Family/wine-tkg-git/releases/tag/5.5.r2.g7fe7d87f.hotfix

It would though be easy to make the script work on debian and ubuntu aswell since that should be just a file-path-change really for proton.

As far as I understood it Tk-Glitches Wine-Build wine-tkg-git is Arch specific. Proton should be somewhat agnostic also the proton-build does need steam to run so it should be able to run on other distros aswell.

What did you actually plan to incorparate into the script. Maybe I can lend you a hand with it as well.

Well the issues I mentioned still persist since I am not much of a bash-person especially when it comes down to conditional loops and such. Still learning on that one. Still I am willing to help you out on the script as much as I can. I will give you a more detailed answer once I get home though. Writing from mobile right now.

ghost avatar Apr 01 '20 11:04 ghost

Thank you! That's some information I had missed out on the last time I checked. I also now see that Debian based distro's need a list of dependencies. I was only still figuring out how the TKG Builds work and how to use them properly and played a bit with the default builds, but I didn't do much more than that. As I understand now, a big part of the idea behind the tkg builds is that you can customize it the way you want, with for example a config like this one.

If/when TKG is implemented, it will probably be a opt-in option be default (because of it being a bit more complicated and system-specific), but first I need to figure out the best way to implement it.

It doesn't matter that you don't have much experience with bash, any help is very much appreciated and we learn by trying! These scripts are my first bash scripts too (except for some very simple ones) :)

flubberding avatar Apr 01 '20 16:04 flubberding

I didnt use custom builds for the script too. Tk-Glitch does offer a precompiled version of his protonbuild for download. This is what is incorparated in the script right now. I dont know if and which custom patches Tk-Glitch applies to his precompiled proton builds. I think these precompiled builds can be incorparated in the script. All the custom stuff you can is I think an Issue for another time. Or do you think only incorparating the precompiled version is not really what we should aim for?

Tk-Glitches Proton-Builds tend to be even more recent than GEs for example.

ghost avatar Apr 01 '20 17:04 ghost

Just commited another change to the file. Now works as I intended under arch. Just had to remove some unnecessary exits all around the script. The script now won't exit if the latest GE-Proton is installed. It will check for an update on TK-Glitches Proton Build. If the latest TKG-version is installed already the script will exit, if it isnt installed in its latest version will be downloaded and copied to the correct place for use in steam. I will now remove the WIP, because it now runs as intended for me. Please go ahead test it on Arch.

Also if you have some improvements to make on the code readability (indentations and such) please just tell me.

ghost avatar Apr 01 '20 17:04 ghost

It is indeed best to use the precompiled version for now. To my understanding using a custom, self-compiled version is one of the advantages of TKG, but maybe I can implement that another time.

Your version of the script looks really nice already! Unfortunately I won't be able to test it for at least the rest of the week (and I won't be near my arch system until then), but next week I'll try to find some time to test it out, maybe improve on it if needed and implement it in the main script as well. Small note; The updatePGEfast.sh is still the old name of this script. I'll will probably be renaming it to a name that makes more sense in the next release (i.e. cproton-minimal.sh).

Thanks again!

flubberding avatar Apr 01 '20 18:04 flubberding

rewriting this script to work on ubuntu should also be pretty easy too. As far as I understood only the distpath would need to be corrected from ~/.steam/root/compatibilitytools.d to ~/.steam/compatibilitytools.d for debian and ubuntu but aside from that it is pretty distro-agnostic so it could also be used on other distros than arch too. The custom stuff for TKG might be useful to add as an extra script maybe. Though that will need some figuring out really. Good luck on your graduation-project and take care. Please Hit me up if I can help you out with some code or testing, I will gladly help you out.

ghost avatar Apr 01 '20 18:04 ghost