Hello @Graphicscore, your system information looks healthy, and from your log this looks like the failure:
Traceback (most recent call last):
File "/usr/lib/python3.7/tarfile.py", line 2206, in makelink
os.symlink(tarinfo.linkname, targetpath)
OSError: [Errno 22] Invalid argument: '../drive_c' -> '/run/media/graphicscore/SSD/Games/SteamLibrary/steamapps/common/Proton 6.3/dist/./share/default_pfx/dosdevices/c:'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/run/media/graphicscore/SSD/Games/SteamLibrary/steamapps/common/Proton 6.3/proton", line 1253, in <module>
g_proton.extract_tarball()
File "/run/media/graphicscore/SSD/Games/SteamLibrary/steamapps/common/Proton 6.3/proton", line 318, in extract_tarball
tar.extractall(path=self.dist_dir)
File "/usr/lib/python3.7/tarfile.py", line 2004, in extractall
numeric_owner=numeric_owner)
File "/usr/lib/python3.7/tarfile.py", line 2046, in extract
numeric_owner=numeric_owner)
File "/usr/lib/python3.7/tarfile.py", line 2124, in _extract_member
self.makelink(tarinfo, targetpath)
File "/usr/lib/python3.7/tarfile.py", line 2217, in makelink
targetpath)
File "/usr/lib/python3.7/tarfile.py", line 2118, in _extract_member
self.makedir(tarinfo, targetpath)
File "/usr/lib/python3.7/tarfile.py", line 2147, in makedir
os.mkdir(targetpath, 0o700)
OSError: [Errno 22] Invalid argument: '/run/media/graphicscore/SSD/Games/SteamLibrary/steamapps/common/Proton 6.3/dist/./share/default_pfx/dosdevices/c:'
To me, this reads like an error on Proton's side and should be evaluated by the Proton devs first.
What filesystem are you using with /run/media/graphicscore/SSD/Games/? Also, are there any symlinks along the path in the error?
The filesystem is NTFS since I am dualbooting Windows and share games between Linux and Windows.
Proton interacting with NTFS is known to be finicky. This is most likely yet another example of NTFS causing trouble based on how you mounted the partition.
Also, "Application files installed by Steam for Linux should not be shared (e.g. between Windows and Linux). This is a requirement of the Steam for Linux client." (https://github.com/ValveSoftware/steam-for-linux/blob/master/RelNotes.md#installation) is relevant here as sharing a Steam library between multiple OSes is not supported and can lead to other undefined behavior.
@kisak-valve I am really sorry but this matter is not communicated that well. And this piece of knowledge is really easy to miss when you are a new user and you are going through adjustment period. In addition to that, you linked to an ancient document (2013) from a repo that no one looks into. Steam is now built in base repositories, distro stores or even built-in into distros, there is little reason to enter Steam's github page.
Since Proton exploded, people will most likely find this: https://github.com/ValveSoftware/Proton/wiki/Using-a-NTFS-disk-with-Linux-and-Windows, and unfortunately this page does not educate you about issues, bugs, anomalies or errors linked to the usage of NTFS partition. I had to find discussions about those issues on linux gaming related Discords (!).
One thing to note is this may be resolved with the new ntfs3 driver being mainlined in Linux kernel version 5.15, as it appears to give full NTFS support with none of the issues ntfs-3g had. I'm currently running the -rc4 kernel with the aforementioned new driver and I'll see if proton works fine on it.
The filesystem is NTFS since I am dualbooting Windows and share games between Linux and Windows.
This should fix it -> https://wiki.archlinux.org/title/Steam/Troubleshooting#Steam_Library_in_NTFS_partition
I can start all my installed games from my NTFS drives without problems
Here is the full traceback I receive:
Traceback (most recent call last):
File "/home/fichte/.local/share/Steam/steamapps/common/Proton - Experimental/proton", line 1402, in <module>
g_session.init_session(sys.argv[1] != "runinprefix")
File "/home/fichte/.local/share/Steam/steamapps/common/Proton - Experimental/proton", line 1207, in init_session
g_compatdata.setup_prefix()
File "/home/fichte/.local/share/Steam/steamapps/common/Proton - Experimental/proton", line 738, in setup_prefix
os.symlink("../drive_c", self.prefix_dir + "/dosdevices/c:")
OSError: [Errno 22] Invalid argument: '../drive_c' -> '/mnt/data_steam/steamapps/compatdata/397540/pfx//dosdevices/c:'
which makes sense because : is not a valid character on NTFS file systems (when used with Windows) and i use windows_names in my mount options for compatibility.
I tried working around that by symlinking from the NTFS to my ext4 root partition:
/mnt/data_steam/steamapps/compatdata $ mv -v 397540 ~/.steam/steam/steamapps/compatdata
/mnt/data_steam/steamapps/compatdata $ ln -s ~/.steam/steam/steamapps/compatdata/397540 397540
which got rid of the error, but unfortunately the game still does not start. Not sure if that's a general issue or one with the game in particular (Borderlands 3). Edit: Made it work by re-installing into a different location instead of re-using the version I had from Windows.
The filesystem is NTFS since I am dualbooting Windows and share games between Linux and Windows.
This should fix it -> https://wiki.archlinux.org/title/Steam/Troubleshooting#Steam_Library_in_NTFS_partition I can start all my installed games from my NTFS drives without problems
thank you so much it works now
This is a prome candidate for some sort of a more readable error (custom exception, probably) AND better documentation (Proton wiki only mention "game does not run", does NOT mention any of the errors.
For the record, I had the same error with Gems of War installed on an NTFS partition.
I would never guess that proton has issues mounting paths if I didn't open the terminal to check out why steam continues to silently kill the game processes...
Moving the proton folders and creating sys links indeed fixes the problem!
Turns out Wine has problems with NTFS, so that Arch wiki link is really relevant.
Thanks a lot Fijxu!
I would never guess that proton has issues mounting paths if I didn't open the terminal to check out why steam continues to silently kill the game processes...
Moving the proton folders and creating sys links indeed fixes the problem!
Turns out Wine has problems with NTFS, so that Arch wiki link is really relevant. Thanks a lot Fijxu!
You welcome :)
Also, i found this some time ago, this make Windows able to read BTRFS partitions, so you can format you Hard Drives and Solid State Drives to BTRFS on Linux and Windows will be able to read them without problem.
This also solves this issue because it's not NTFS
https://github.com/maharmstone/btrfs
I haven't used this driver to much since i barely use Windows now, but it was pretty stable. All my HDDs are formated in BTRFS and fully readable
Installation Guide if someone is intrested (For spanish speakers only):
https://www.youtube.com/watch?v=iVzCZrwgo0Q
Installation Guide (English, not my video and kinda old): https://www.youtube.com/watch?v=ni-4fEtgTso
@FichteFoll is right about windows_names, but I am strongly against the whole symlink thing because it defeats the point of having a game library disk where all the heavy stuff go. And man the compactdata place can surely grow: 200 MB for each game is not big for your average AAA game sizes, but imagine you are a weirdo with a bunch of small indie games and...
The thing is, NTFS is getting wrongly blamed. Y'all should be blaming udisks2 or whatever for trying to be clever with windows_names. Windows does not like these names, so what? It does not hang or crash when it gets to one of these names, it just fails to read it. And these are Wine symlinks, so Windows does not need to read it anyways! If chkdsk deletes them, proton recreates them -- these are symlinks, not important data.
The real way to fix it is to do the mount yourself without the bunch of options. rw,allow_other,user_id=1000,big_writes works just fine, so stick with it. And write it into /etc/fstab so your dumbass file explorer stops being smart with the options.
I got linked to this issue by a windows escapee friend of mine who isn't the most comfortable with linux, as this was where the errors in her terminal lead her, but she couldn't really figure out how to properly 'fix' this. I figured it would be worth it to write up the generic-and-easy solution to this for noobs.
given an ntfs disk (could be /run/media/$USER/ntfs_disk/; our example is /mnt/ntfs/), make a backup of the compatdata in the library, e.g. cp /mnt/ntfs/SteamLibrary/steamapps/compatdata -r /mnt/ntfs/compatada_bak before doing anything else.
now, cp -r /mnt/ntfs/SteamLibrary/steamapps/compatdata/* ~/.steam/steam/steamapps/compatadata/ to copy them all to the local steam library. You can do this in a file manager, too.
The last bit is just rm -r /mnt/ntfs/SteamLibrary/steamapps/compatdata && ln -s /home/$USER/.steam/steam/steamapps/compatdata to emplace a symlink from the ntfs disk, to the home library compatdata that everything was copied over to.
You can put the data anywhere, really, but I think putting all your eggs in one basket, as it were, is probably the functional solution most users will want, no?
proton 6.3x2 2021-09proton 5.13x1 2021-09
Your system information
Steam Runtime Version:
0.20210817.0
Distribution (e.g. Ubuntu 18.04):
Manjaro Linux 21.1.3
Full system information
https://gist.github.com/Graphicscore/a431b91d8a3da7d8823bc9c8bee2823c
Have you checked for system updates?
Yes
What compatibility tool are you using?:
Steam Linux Runtime / Proton 6.3
If you are using Steam Linux Runtime, or Proton 5.13 or newer: What versions are listed in SteamLinuxRuntime_soldier/VERSIONS.txt?
Name Version Runtime Runtime_Version Commentdepot 0.20210818.24 # Overall version numberpressure-vessel 0.20210809.1scripts v0.20210818.0-0-gc6be089 # Entry point scripts, etc.soldier 0.20210817.0 soldier 0.20210817.0 # soldier_platform_0.20210817.0/Please describe your issue in as much detail as possible:
If I try to run a game with proton steam will "launch" the game, nothing happens, and after a few seconds the steam client revokes the "running" status of the game. If I bypass the runtime container described in this post https://github.com/flightlessmango/MangoHud/issues/369#issuecomment-709902078 I am able to run the games.
I have tested it with FFXIV and Space Engineers.
slr-app39210-t20210918T214247.log
Steps for reproducing this issue: