Closed KhaosPone closed 1 year ago
Having the same issue, I tried downloading the Proton GE tarball and extracting it manually but I get the same error when opening the tar. So this could be an issue with Proton GE itself, not protonup.
+1 on this issue. Mostly commenting to follow and provide data as needed.
Also seeing this. Running the command two times in a row generates two different errors.
First, the sha512sum. Second, permission denied.
This is also true for 7.4 that was released as I was going testing (like 5 minutes ago).
Additional not, after running it a second time and restarting Steam, it does show up.... Testing now.
Can confirm at least one game DOES run.
Can confirm at least one game DOES run.
Also something else I noticed the other day while trying to remove old GE-Proton releases that I had installed using Protonup the -r command it was stating that the previous releases were not installed at all even though they showed up with the -l command which was also quite strange (Forgot to mention this yesterday)
Having the same issue, I tried downloading the Proton GE tarball and extracting it manually but I get the same error when opening the tar. So this could be an issue with Proton GE itself, not protonup.
I manually installed the latest GE-Proton from their official GitHub page and it works absolutely fine with no known issues which leads me to believe this is potentially a Protonup issues
Already made a pull request, have a look here: https://github.com/AUNaseef/protonup/pull/26
Getting a similar issue when trying to update to GE 7.5 on PopOS! 21
Traceback (most recent call last): File "/home/timothycarruthers/.local/bin/protonup", line 8, in
sys.exit(main()) File "/home/timothycarruthers/.local/lib/python3.9/site-packages/protonup/init.py", line 4, in main return main() File "/home/timothycarruthers/.local/lib/python3.9/site-packages/protonup/cli.py", line 33, in main get_proton(version=args.tag, yes=args.yes, dl_only=args.download, File "/home/timothycarruthers/.local/lib/python3.9/site-packages/protonup/api.py", line 152, in get_proton tarfile.open(destination, "r:gz").extractall(install_directory()) File "/usr/lib/python3.9/tarfile.py", line 2036, in extractall self.extract(tarinfo, path, set_attrs=not tarinfo.isdir(), File "/usr/lib/python3.9/tarfile.py", line 2077, in extract self._extract_member(tarinfo, os.path.join(path, tarinfo.name), File "/usr/lib/python3.9/tarfile.py", line 2150, in _extract_member self.makefile(tarinfo, targetpath) File "/usr/lib/python3.9/tarfile.py", line 2191, in makefile with bltn_open(targetpath, "wb") as target: PermissionError: [Errno 13] Permission denied: '/home/timothycarruthers/.steam/root/compatibilitytools.d/GE-Proton7-5/files/lib64/wine/vkd3d-proton/libvkd3d-proton-utils-3.dll'
Getting a similar issue when trying to update to GE 7.5 on PopOS! 21
Traceback (most recent call last): File "/home/timothycarruthers/.local/bin/protonup", line 8, in
sys.exit(main()) File "/home/timothycarruthers/.local/lib/python3.9/site-packages/protonup/init.py", line 4, in main return main() File "/home/timothycarruthers/.local/lib/python3.9/site-packages/protonup/cli.py", line 33, in main get_proton(version=args.tag, yes=args.yes, dl_only=args.download, File "/home/timothycarruthers/.local/lib/python3.9/site-packages/protonup/api.py", line 152, in get_proton tarfile.open(destination, "r:gz").extractall(install_directory()) File "/usr/lib/python3.9/tarfile.py", line 2036, in extractall self.extract(tarinfo, path, set_attrs=not tarinfo.isdir(), File "/usr/lib/python3.9/tarfile.py", line 2077, in extract self._extract_member(tarinfo, os.path.join(path, tarinfo.name), File "/usr/lib/python3.9/tarfile.py", line 2150, in _extract_member self.makefile(tarinfo, targetpath) File "/usr/lib/python3.9/tarfile.py", line 2191, in makefile with bltn_open(targetpath, "wb") as target: PermissionError: [Errno 13] Permission denied: '/home/timothycarruthers/.steam/root/compatibilitytools.d/GE-Proton7-5/files/lib64/wine/vkd3d-proton/libvkd3d-proton-utils-3.dll'
Try to install my patched version. I hope @AUNaseef will respond soon.
I think it simply looks for the wrong folder, the nomenclature has changed since last GE release
draco@draco-pc:~$ protonup
Ready to download Proton-GE-Proton7-5
Size : 395.8 MiB
Published : 2022-03-02
Continue? (Y/n):
Downloaded 100.00% - 395.8 MiB / 395.8 MiB
[INFO] Installed in: /home/draco/.steam/root/compatibilitytools.d/Proton-GE-Proton7-5
Traceback (most recent call last):
File "/home/draco/.local/bin/protonup", line 8, in <module>
sys.exit(main())
File "/home/draco/.local/lib/python3.9/site-packages/protonup/__init__.py", line 4, in main
return main()
File "/home/draco/.local/lib/python3.9/site-packages/protonup/cli.py", line 33, in main
get_proton(version=args.tag, yes=args.yes, dl_only=args.download,
File "/home/draco/.local/lib/python3.9/site-packages/protonup/api.py", line 155, in get_proton
open(checksum_dir, 'w').write(download_checksum)
FileNotFoundError: [Errno 2] No such file or directory: '/home/draco/.steam/root/compatibilitytools.d/Proton-GE-Proton7-5/sha512sum'
draco@draco-pc:~$ ls -l /home/draco/.steam/root/compatibilitytools.d/Proton-GE-Proton7-5/sha512sum
ls: cannot access '/home/draco/.steam/root/compatibilitytools.d/Proton-GE-Proton7-5/sha512sum': No such file or directory
draco@draco-pc:~$ ls -l /home/draco/.steam/root/compatibilitytools.d/Proton-GE-Proton7-5
ls: cannot access '/home/draco/.steam/root/compatibilitytools.d/Proton-GE-Proton7-5': No such file or directory
draco@draco-pc:~$ ls -l /home/draco/.steam/root/compatibilitytools.d/
total 12
drwxrwxr-x 4 draco draco 4096 mar 2 01:51 GE-Proton7-5
drwxrwxr-x 5 draco draco 4096 feb 9 21:43 Proton-7.1-GE-2
drwxrwxr-x 5 draco draco 4096 mar 4 13:17 Proton-7.3-GE-1
I think it simply looks for the wrong folder, the nomenclature has changed since last GE release
draco@draco-pc:~$ protonup Ready to download Proton-GE-Proton7-5 Size : 395.8 MiB Published : 2022-03-02 Continue? (Y/n): Downloaded 100.00% - 395.8 MiB / 395.8 MiB [INFO] Installed in: /home/draco/.steam/root/compatibilitytools.d/Proton-GE-Proton7-5 Traceback (most recent call last): File "/home/draco/.local/bin/protonup", line 8, in <module> sys.exit(main()) File "/home/draco/.local/lib/python3.9/site-packages/protonup/__init__.py", line 4, in main return main() File "/home/draco/.local/lib/python3.9/site-packages/protonup/cli.py", line 33, in main get_proton(version=args.tag, yes=args.yes, dl_only=args.download, File "/home/draco/.local/lib/python3.9/site-packages/protonup/api.py", line 155, in get_proton open(checksum_dir, 'w').write(download_checksum) FileNotFoundError: [Errno 2] No such file or directory: '/home/draco/.steam/root/compatibilitytools.d/Proton-GE-Proton7-5/sha512sum' draco@draco-pc:~$ ls -l /home/draco/.steam/root/compatibilitytools.d/Proton-GE-Proton7-5/sha512sum ls: cannot access '/home/draco/.steam/root/compatibilitytools.d/Proton-GE-Proton7-5/sha512sum': No such file or directory draco@draco-pc:~$ ls -l /home/draco/.steam/root/compatibilitytools.d/Proton-GE-Proton7-5 ls: cannot access '/home/draco/.steam/root/compatibilitytools.d/Proton-GE-Proton7-5': No such file or directory draco@draco-pc:~$ ls -l /home/draco/.steam/root/compatibilitytools.d/ total 12 drwxrwxr-x 4 draco draco 4096 mar 2 01:51 GE-Proton7-5 drwxrwxr-x 5 draco draco 4096 feb 9 21:43 Proton-7.1-GE-2 drwxrwxr-x 5 draco draco 4096 mar 4 13:17 Proton-7.3-GE-1
You are right! Have a look at https://github.com/AUNaseef/protonup/pull/26 and install my patched version until the pull request gets merged in.
I tried to change the installation directory. But, it does not work
I tried to change the installation directory. But, it does not work
Please show the full logs, maybe i can help you. Did you already installed my patch? (pip list | grep protonup)
Yeah the patch also does not work
pip list | grep protonup protonup 0.1.4
~
❯ protonup
Ready to download Proton-GE-Proton7-8
Size : 398.8 MiB
Published : 2022-03-05
Continue? (Y/n): y
Downloaded 100.00% - 398.8 MiB / 398.8 MiB
Traceback (most recent call last):
File "/home/user/.local/bin/protonup", line 8, in
Yeah the patch also does not work
pip list | grep protonup protonup 0.1.4
~ ❯ protonup Ready to download Proton-GE-Proton7-8 Size : 398.8 MiB Published : 2022-03-05 Continue? (Y/n): y Downloaded 100.00% - 398.8 MiB / 398.8 MiB
Traceback (most recent call last): File "/home/user/.local/bin/protonup", line 8, insys.exit(main()) File "/home/user/.local/lib/python3.8/site-packages/protonup/init.py", line 4, in main return main() File "/home/user/.local/lib/python3.8/site-packages/protonup/cli.py", line 33, in main get_proton(version=args.tag, yes=args.yes, dl_only=args.download, File "/home/user/.local/lib/python3.8/site-packages/protonup/api.py", line 152, in get_proton tarfile.open(destination, "r:gz").extractall(install_directory()) File "/usr/lib/python3.8/tarfile.py", line 2028, in extractall self.extract(tarinfo, path, set_attrs=not tarinfo.isdir(), File "/usr/lib/python3.8/tarfile.py", line 2069, in extract self._extract_member(tarinfo, os.path.join(path, tarinfo.name), File "/usr/lib/python3.8/tarfile.py", line 2141, in _extract_member self.makefile(tarinfo, targetpath) File "/usr/lib/python3.8/tarfile.py", line 2182, in makefile with bltn_open(targetpath, "wb") as target: PermissionError: [Errno 13] Permission denied: '/home/user/.steam/root/compatibilitytools.d/GE-Proton7-8/files/lib64/wine/vkd3d-proton/libvkd3d-proton-utils-3.dll'
Seems like the installation of the patch did not work, this is the exact same error as before and version number is also still 0.1.4
Try this: git clone https://github.com/cloudishBenne/protonup && cd protonup python3 setup.py install --user
After success please post output of: whereis protonup
yes it works whereis protonup protonup: /home/user/.local/bin/protonup
yes it works whereis protonup protonup: /home/user/.local/bin/protonup
Perfect! "pip list | grep protonup" should now also list 0.2.0
I don't think so
Conversation below was before debugging the script multiple times:
One last try, Copy&Paste this:
First command starts here:
cat > protonup_install_test.sh << EOF
set -e
[ -d protonup ] && rm -rf protonup && printf "clone repo fresh\n" git clone https://github.com/cloudishBenne/protonup >&/dev/null cd protonup
pip uninstall --yes protonup -qq yes | pip install protonup -qq python3 setup.py install --user >&/dev/null
printf "\ntest user on systemwide installation:\n\n" (set -ex; pip list) | grep protonup (set -ex; pip list --user) | grep protonup printf "\n... works\n\n"
pip uninstall --yes protonup -qq yes | pip install --user protonup -qq python3 setup.py install --user >&/dev/null
printf "\ntest user on user installation:\n\n" (set -ex; pip list) | grep protonup (set -ex; pip list --user) | grep protonup EOF
End of first command is here
Second command:
bash protonup_install_test.sh
Tested this on a fresh installed Linux and output is:
clone repo fresh
test user on systemwide installation::
+ pip list protonup 0.1.4 + pip list --user protonup 0.1.4
test user on user installation::
+ pip list protonup 0.2.0 + pip list --user protonup 0.2.0
not really
I would appreciate if you could post the output of my script, otherwise i can not help you...
I put this first serial of commands cat > protonup_install_test.sh << EOF #!/bin/bash ∙ ∙ set -e ∙ ∙ if [ -d protonup ]; then ∙ rm -rf protonup ∙ printf "clone repo fresh\n" ∙ fi ∙ git clone https://github.com/cloudishBenne/protonup >&/dev/null cd protonup ∙ ∙ pip uninstall --yes protonup -qq ∙ yes | pip install protonup -qq ∙ python3 setup.py install --user >&/dev/null ∙ ∙ printf "\ntest systemwide installation:\n\n" ∙ (set -ex; pip list) | grep protonup ∙ (set -ex; pip list --user) | grep protonup ∙ ∙ pip uninstall --yes protonup -qq ∙ yes | pip install --user protonup -qq ∙ python3 setup.py install --user >&/dev/null ∙ ∙ printf "\ntest user installation:\n\n" ∙ (set -ex; pip list) | grep protonup ∙ (set -ex; pip list --user) | grep protonup ∙ EOF I got no output
I typed this bash protonup_install_test.sh
I got not output
test it with systemwide installation:
Finally, it shows 0.1.4
This is weird.
There should be output of my script. What OS are you using?
here
I put this first serial of commands cat > protonup_install_test.sh << EOF #!/bin/bash ∙ ∙ set -e ∙ ∙ if [ -d protonup ]; then ∙ rm -rf protonup ∙ printf "clone repo fresh\n" ∙ fi ∙ git clone https://github.com/cloudishBenne/protonup >&/dev/null cd protonup ∙ ∙ pip uninstall --yes protonup -qq ∙ yes | pip install protonup -qq ∙ python3 setup.py install --user >&/dev/null ∙ ∙ printf "\ntest systemwide installation:\n\n" ∙ (set -ex; pip list) | grep protonup ∙ (set -ex; pip list --user) | grep protonup ∙ ∙ pip uninstall --yes protonup -qq ∙ yes | pip install --user protonup -qq ∙ python3 setup.py install --user >&/dev/null ∙ ∙ printf "\ntest user installation:\n\n" ∙ (set -ex; pip list) | grep protonup ∙ (set -ex; pip list --user) | grep protonup ∙ EOF I got no output
I typed this bash protonup_install_test.sh
I got not output
test it with systemwide installation:
- pip list and pip list --user
Finally, it shows 0.1.4
Ok, so please redo my two steps from above and post it in one screenshot of the full process (should include pasted commands, the possible output of the pasted commands and the last fresh command line where you could type a new command - without any cuts, in one picture)
i found an error in my first command (cat ...), i corrected it in the post above.
here it is
Oof, the comment format ate multiple spaces. Could you test again? I hopefully fixed it now...
here
Okay, the problem was another formatting issue. I scripted, copy&pasted all on my smartphone via termux, formatting did not work as intended and so the script never went into the protonup repo to install.
I update the code above, but basically your problem was, that you installed protonup systemwide with
pip install protonup
when you now install the patch as a user installation with
python3 setup.py install --user
the systemwide installation wins.
So in conclusion, here is hopefully your command:
pip uninstall --yes protonup
git clone https://github.com/cloudishBenne/protonup && cd protonup
python3 setup.py install --user
yeah it works. thanks
I applied cloudishBenne's patches and it worked thank you! I hope the maintainers of this project merges his fixes in at some point
same issue here :(
same issues here on NixOS. In fact, this basically breaks the package on NixOS
, and I don't know how to write a new derivation for the fixed version from @cloudishBenne . Would be nice if @AUNaseef simply accepted the PR from him (assuming there is one).
Here are the instructions if you want to get @cloudishBenne 's version working on NixOS
:
First, remove any declarative config for protonup
from your nixos configs. Then:
nix-shell -p git -p python39Full -p python39Packages.bootstrapped-pip -p python39Packages.setuptools
git clone https://github.com/cloudishBenne/protonup && pushd protonup
python3 setup.py install --user
popd
rm -rf protonup
protonup
exit
The first line is a bit of nix magic that basically beams down the right build tools from the cloud and sets them up to be used in a new shell temporarily. I'm not a Python guy so this combination might not be ideal, but this is what worked. The rest installs it into a temporary location accessible on the PATH. (Thus, it may eventually get garbage-collected, so you might want to save these lines as a script somewhere and just run it when you need it.)
I hadn't touched nixos yet, but can't you just install with
pip3 install protonup-ng
or
pip3 install pipx
pipx install protonup-ng
?
@cloudishBenne Well first, since it's Nix, you have to make the entire messy python ecosystem available, which I tend to avoid (I'm a former Ruby guy who always regarded Python with some disdain, especially the extremely ugly 2->3 transition and the version namespace clashing and package management woes, in fact I can't even understand why it's so popular, just like Go... no offense, just my preference, lol).
But that would probably work better, assuming that one of the things I "installed" (which in a Nix context really just means "make temporarily available unless you add it to your permanent config") added pip3 to my PATH. I'll try it out and update my recommendation if it works better, thanks!
btw Python is quite well-supported in Nix/NixOS https://nixos.wiki/wiki/Python and probably even removes a lot of the pain around it, you can have things like project-specific Python versions (and not just the interpreter itself, but the entire toolchain underneath) and whatnot. You basically just make a shell.nix
(if you don't understand the nix language, you can start with a copy of someone else's and learn by tweaking) in your project directory, run nix-shell
and it will make ONLY the things you specify available/"visible" in your shell (so it's not globally contaminated by, say, the wrong version of glibc or what have you) and you're off and running with dev.
There's also direnv
integration so you can have entirely project-specific environment variables as well, which automatically apply as soon as you cd
into your project directory.
Once you grok how it works and what it's trying to do (and what problems it's making you avoid completely, like a dev superpower), you may have a "holy shit" moment... but it may take a while to get there, especially if you're not (yet) keen on the whole functional/immutable programming philosophy.
EDIT: One more thing, you have to explicitly set the environment variable $STEAM_EXTRA_COMPAT_TOOLS_PATHS
otherwise Steam can't "see" Proton-GE, as demonstrated in my environment config here
Got it to work with this wrapper script, in case anyone else can use this. Also shows one way to install and use pip-installed binaries on nixOS
https://gist.github.com/pmarreck/a08fc0915c7545cb11592680bd1363dc
@pmarreck
See https://github.com/NixOS/nixpkgs/issues/186974 and https://github.com/NixOS/nixpkgs/pull/196957.
If you encounter a case like in the future, simply override the source of the original package. See https://nixos.org/manual/nixpkgs/stable/#sec-pkg-overrideAttrs.
FileNotFoundError: [Errno 2] No such file or directory: '/root/.steam/root/compatibilitytools.d/Proton-GE-Proton7-2/sha512sum'
This is caused by the naming change, should be fixed in the latest version.
@AUNaseef Nice to see you back man! I recently opened an org for protonup-ng, are you interestet in teaming up in this org? I have started some improvements but had no time afterwards to continue... They are about versioning, testing, development and refactoring for a better software architecture.
I don't have much time either to continue working on this due to various reasons, I occasionally get a notification and remember this exists haha. I do want to re-asses the problem once again and do a complete rewrite, we'll see.
btw I'm closing the issue since I assume no one has this problem anymore.
This is what I get when I try to install the latest protonup I get two different types of messages
Ready to download Proton-GE-Proton7-2 Size : 407.2 MiB Published : 2022-02-27 Continue? (Y/n): y Downloaded 100.00% - 407.2 MiB / 407.2 MiB
sys.exit(main())
File "/home/callum/.local/lib/python3.9/site-packages/protonup/init.py", line 4, in main
return main()
File "/home/callum/.local/lib/python3.9/site-packages/protonup/cli.py", line 33, in main
get_proton(version=args.tag, yes=args.yes, dl_only=args.download,
File "/home/callum/.local/lib/python3.9/site-packages/protonup/api.py", line 152, in get_proton
tarfile.open(destination, "r:gz").extractall(install_directory())
File "/usr/lib/python3.9/tarfile.py", line 2036, in extractall
self.extract(tarinfo, path, set_attrs=not tarinfo.isdir(),
File "/usr/lib/python3.9/tarfile.py", line 2077, in extract
self._extract_member(tarinfo, os.path.join(path, tarinfo.name),
File "/usr/lib/python3.9/tarfile.py", line 2150, in _extract_member
self.makefile(tarinfo, targetpath)
File "/usr/lib/python3.9/tarfile.py", line 2191, in makefile
with bltn_open(targetpath, "wb") as target:
PermissionError: [Errno 13] Permission denied: '/home/callum/.steam/root/compatibilitytools.d/GE-Proton7-2/protonfixes/gamefixes/1434950.py'
Traceback (most recent call last): File "/home/callum/.local/bin/protonup", line 8, in
Ready to download Proton-GE-Proton7-2 Size : 407.2 MiB Published : 2022-02-27 Continue? (Y/n): Y Downloaded 100.00% - 407.2 MiB / 407.2 MiB
sys.exit(load_entry_point('protonup==0.1.4', 'console_scripts', 'protonup')())
File "/usr/local/lib/python3.9/dist-packages/protonup-0.1.4-py3.9.egg/protonup/init.py", line 4, in main
File "/usr/local/lib/python3.9/dist-packages/protonup-0.1.4-py3.9.egg/protonup/cli.py", line 33, in main
File "/usr/local/lib/python3.9/dist-packages/protonup-0.1.4-py3.9.egg/protonup/api.py", line 154, in get_proton
FileNotFoundError: [Errno 2] No such file or directory: '/root/.steam/root/compatibilitytools.d/Proton-GE-Proton7-2/sha512sum'
[INFO] Installed in: /root/.steam/root/compatibilitytools.d/Proton-GE-Proton7-2 Traceback (most recent call last): File "/usr/local/bin/protonup", line 33, in