Hey everyone! I started working on this a month ago and then forgot about it after I finished v1.0. Today, I announce v2.0! This adds so many improvements and makes it so much more functional than before.
Ultimately, every time I updated Proton GE, I got more and more tired of having to keep going to github, downloading the latest archive, extracting it, restarting steam, and configuring it to use the new version. So I decided to automate it! You can now run this script, and it does everything for you, and so long as it's not the first time you've used it, you don't even have to restart steam!
Now, as I say in the README, the official GE-Proton repo gives an example of script that does something similar, but that example is intended as more of a one time thing, and I felt like I could make a more permanent script that also makes some functional improvements over their implementation.
I hope you all enjoy!
19 Comments
Shadowcrawler@discuss.tchncs.de · 26 pts · 77d
So protonup-qt was to comfortable for you to use?
guynamedzero@piefed.zeromedia.vip · 19 pts · 77d
Cool, I actually hadn’t heard of this! Though, I do prefer cli applications, so I think I still prefer mine ;)
chloroken@lemmy.ml · 23 pts · 77d
ProtonPlus is another one.
Convergent thinking is cool though, don't get discouraged.
Nibodhika@lemmy.world · 7 pts · 77d
There FTFY
guynamedzero@piefed.zeromedia.vip · 5 pts · 77d
Well, well, well, looks like you might have me beat! Though, this doesn’t look like it marks latest and previous versions for ease of use within steam. You do have to restart every time you make a change. Mine however, should only need a restart on the first time you use it.
Nibodhika@lemmy.world · 1 pts · 77d
Uh, that's an interesting update, I'll give it a look, I use protonup for my "steam machine", use within steam would be a good feature there.
guynamedzero@piefed.zeromedia.vip · 1 pts · 76d
By the way, just to clarify, when I say within steam, I mean making it easier to use protonGE within steam. My script lets you set and forget your configuration for proton ge, no matter how much you update, you shouldn’t ever have to change your settings to use the newest version.
However, if you’re wanting to, you should be able to add the script as a non-steam application and run it as if it was a steam game
thingsiplay@lemmy.ml · 20 pts · 77d
I also wrote my own Python based installer, updater, manager of Proton GE (but do not post it here, as this is about your project and not mine). Years back when I posted it, people pointed out such a cli tool already existed: protonup. And for those who want a GUI, protonup-qt exists too.
This is extremely dangerous command! If anything goes wrong for whatever reason and the variable $tempdir is empty at the time of this command, then it would delete everything. At the very least you should do a check if variable is not empty and resolves to an existing directory. Better yet, make it multiple steps:
rm -r GE-Proton*and then cd .. back and delete empty directory withrmdir $tempdirThis is a more controlled way of deleting files. I admit that I am a bit paranoid with rm -r commands.
who@feddit.org · 12 pts · 77d
And this danger is not merely theoretical. Steam for Linux did it in 2015.
https://github.com/valvesoftware/steam-for-linux/issues/3671
ccf@lemmy.world · 4 pts · 77d
It's not dangerous in this case, if $tmpdir was unset, all that would happen is
rm -r $tempdircomplaining about a missing operand. The only issue I can see this causing is that ifmktemp -dfailsrmwould print an unhelpful error message. Usingrm -rfinstead would hide it, so could could checking the variable and conditionally runningrm -r, as you suggested.thingsiplay@lemmy.ml · 8 pts · 77d
Scripts and programs are edited all the time, either by its original author or for modifications when downloaded. Maybe the original author forgot something when editing and suddenly its no longer safe. Or $tempdir isn't a unique name, meaning at different places (be it copy paste) could manipulate the global variable. Human errors happen all the time. Better do check in place, instead hoping that this stays safe. Alternatively create a tempdir with a fixed part in name, like "${tempdir}_protonge".
30p87@feddit.org · 3 pts · 77d
Also, use
set -euo pipefail(look atman set) in every script that's more than four lines. It would instantly fail and exit upon finding an unbound variable.thingsiplay@lemmy.ml · 3 pts · 77d
However, there are pitfalls using this quick fail mode:
set -euo pipefail(21 minutes video)poinck@lemmy.world · 4 pts · 77d
thingsiplay@lemmy.ml · 1 pts · 77d
Which package do you talk about?
poinck@lemmy.world · 2 pts · 77d
thingsiplay@lemmy.ml · 1 pts · 77d
I don't know any Flatpak package in Flathub that is just called proton GE. Could you link to the it?
wilmo@lemmy.ml · 4 pts · 77d
Probably referring to the add-on for Steam
https://flathub.org/en/apps/com.valvesoftware.Steam
poinck@lemmy.world · 3 pts · 77d
thingsiplay@lemmy.ml · 3 pts · 77d
Thanks for the link. I didn't know the Flatpak package had addons like these.
goreverminski@lemmy.world · 3 pts · 73d
I use ProtonPlus for updates. It be nice. Dev promised background updates soon, too.
Aatube@lemmy.dbzer0.com · 1 pts · 74d
protonge