ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
24.65k stars 1.07k forks source link

PermissionError: [Errno 1] Operation not permitted: '../AppData/Local' -> '[...]/Local Settings/Application Data' #7164

Open dungeon-mystic opened 1 year ago

dungeon-mystic commented 1 year ago

Your system information

I cannot run proton games on my external hard drive. Endless Space 2 (just one example) runs perfectly on the same drive where Steam is installed. When I move it over to my external HDD, however, nothing happens. The play button switches back from blue to green instantly. A number of Proton errors appear in Steam's logs.

This problem occurs with both an exFAT drive and a ext4 drive. The permissions of those drives given by ls -l aredrwxr-xr-x`.

EDIT: The really strange thing about this is that I've been using this setup for about a year with no problems. This happened suddenly last week.

I tried using chown $USER:$USER on the drives, to no avail.

Steps for reproducing this issue:

Given pretty thoroughly above.

kisak-valve commented 1 year ago

Hello @dungeon-mystic, looking at your log, this is the same issue seen at #6213. Proton uses filesystem features that are not available with exFAT, and this is not an issue coming from the Steam Linux Runtime container environment (https://github.com/ValveSoftware/Proton/issues/6213#issuecomment-1267365818), so I've transferred this issue report to the Proton issue tracker.

aghArdeshir commented 11 months ago

Hello. I have the exact same problem. My laptop has a 256GB and a 2TB hard drives. Steam (and OS: Linux Fedora 39) is installed in the 256GB hard drive and I've added a steam folder and installed GTA V https://store.steampowered.com/app/271590/Grand_Theft_Auto_V/ in a FAT 800 GB mounted drive out of that 2TB.

Previously I had GTA V also installed in the same 256GB and it worked perfectly :heavy_check_mark:.

Then I tried moving it out to the other storage. It was moved but it stopped working :no_entry:

Then I tried moving all of these stuff to the other drive as well but it didn't help. :no_entry: image

Then I tried removing and reinstalling GTA V, but it also didn't help. :no_entry:

Exited and ran steam in the terminal, and when it does not work, it prints these output in the terminal:

Proton: Upgrading prefix from None to 8.0-104 (/mnt/323C-3DF4/SteamLibrary/steamapps/compatdata/271590/)
Traceback (most recent call last):
  File "/home/ardeshir/.local/share/Steam/steamapps/common/Proton - Experimental/proton", line 1734, in <module>
    g_session.init_session(sys.argv[1] != "runinprefix")
  File "/home/ardeshir/.local/share/Steam/steamapps/common/Proton - Experimental/proton", line 1526, in init_session
    g_compatdata.setup_prefix()
  File "/home/ardeshir/.local/share/Steam/steamapps/common/Proton - Experimental/proton", line 792, in setup_prefix
    self.migrate_user_paths()
  File "/home/ardeshir/.local/share/Steam/steamapps/common/Proton - Experimental/proton", line 770, in migrate_user_paths
    os.symlink(src=link, dst=old)
PermissionError: [Errno 1] Operation not permitted: '../AppData/Local' -> '/mnt/323C-3DF4/SteamLibrary/steamapps/compatdata/271590/pfx/drive_c/users/steamuser/Local Settings/Application Data'
/bin/sh\0-c\0/home/ardeshir/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=271590 -- /home/ardeshir/.local/share/Steam/ubuntu12_32/steam-launch-wrapper -- '/home/ardeshir/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper'/_v2-entry-point --verb=waitforexitandrun -- '/home/ardeshir/.local/share/Steam/steamapps/common/Proton - Experimental'/proton waitforexitandrun  '/mnt/323C-3DF4/SteamLibrary/steamapps/common/Grand Theft Auto V/PlayGTAV.exe' PROTON_LOG=1\0
chdir "/mnt/323C-3DF4/SteamLibrary/steamapps/common/Grand Theft Auto V"
ERROR: ld.so: object '/home/ardeshir/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/ardeshir/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/home/ardeshir/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/ardeshir/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/ardeshir/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Proton: Upgrading prefix from None to 8.0-104 (/mnt/323C-3DF4/SteamLibrary/steamapps/compatdata/271590/)
Traceback (most recent call last):
  File "/home/ardeshir/.local/share/Steam/steamapps/common/Proton - Experimental/proton", line 1734, in <module>
    g_session.init_session(sys.argv[1] != "runinprefix")
  File "/home/ardeshir/.local/share/Steam/steamapps/common/Proton - Experimental/proton", line 1526, in init_session
    g_compatdata.setup_prefix()
  File "/home/ardeshir/.local/share/Steam/steamapps/common/Proton - Experimental/proton", line 792, in setup_prefix
    self.migrate_user_paths()
  File "/home/ardeshir/.local/share/Steam/steamapps/common/Proton - Experimental/proton", line 770, in migrate_user_paths
    os.symlink(src=link, dst=old)
PermissionError: [Errno 1] Operation not permitted: '../AppData/Local' -> '/mnt/323C-3DF4/SteamLibrary/steamapps/compatdata/271590/pfx/drive_c/users/steamuser/Local Settings/Application Data'
Uploaded AppInterfaceStats to Steam

(log did not change when including and not including PROTON_LOG=1 launch option)

This is my full system information if that helps: https://gist.github.com/aghArdeshir/c726e438d24f9b241e82807c391b264d And this is my Steam runtime Diagnostics: https://gist.github.com/aghArdeshir/5b686eb14a2c7f37d6a076c0fbac6600

Links to other issues:

aghArdeshir commented 3 months ago

What helped me in the end was to create a drive with Ext4 format for my GTA V. This was proposed by some people: https://www.protondb.com/app/271590 I tried it and it worked