steam-runtime icon indicating copy to clipboard operation
steam-runtime copied to clipboard

Steam unable to recreate prefix with old proton after running game with new proton.

Open Dandraghas opened this issue 2 years ago • 10 comments

Your system information

  • Steam client version: 1683314987
  • Distribution: Fedora 38
  • Opted into Steam client beta?: Yes
  • Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

When i try to switch back to old version of proton, prefix not recreating, im fully deleted prefix with new proton but this dont helps, also im getting this error when i switch to old proton and launch game: pressure-vessel-wrap[142201]: E: Unable to copy "/media/D/SteamLibrary/steamapps/common/SteamLinuxRuntime_soldier/pressure-vessel/bin/pressure-vessel-locale-gen" to "/proc/self/fd/29/from-host/bin/pressure-vessel-locale-gen": renameat: Input/output error

oh and it happening on non-steam game

Steps for reproducing this issue:

  1. launch non-steam game with new proton version
  2. delete prefix with new proton
  3. switch to old proton
  4. launch non-steam game
  5. see that prefix is not recreating.

Dandraghas avatar May 07 '23 14:05 Dandraghas

Hello @Dandraghas, Pressure Vessel is what sets up the Steam Linux Runtime container environment which Proton runs inside. You've described an issue with that instead of Proton, so I've gone ahead and transferred this issue report to the steam-runtime issue tracker.

Please give https://github.com/ValveSoftware/steam-runtime/blob/master/doc/reporting-steamlinuxruntime-bugs.md#essential-information a read and share the requested information.

kisak-valve avatar May 07 '23 15:05 kisak-valve

Please give https://github.com/ValveSoftware/steam-runtime/blob/master/doc/reporting-steamlinuxruntime-bugs.md#essential-information a read and share the requested information.

here is log using old proton

Dandraghas avatar May 07 '23 16:05 Dandraghas

renameat: Input/output error

This looks like a filesystem problem: the container runtime tried to rename a temporary file, and the filesystem said no.

/media/D/SteamLibrary

From its name, I'm guessing this is a Windows filesystem, like NTFS via ntfs-3g, or maybe FAT? What options is it mounted with?

smcv avatar May 09 '23 13:05 smcv

From its name, I'm guessing this is a Windows filesystem, like NTFS via ntfs-3g, or maybe FAT? What options is it mounted with?

yeah its ntfs-3g filesystem here is fstab: LABEL=D /media/D ntfs-3g uid=1000,gid=1000,rw,user,exec,umask=000 0 0 as i remember i followed official steam guide on ntfs filesystems.

oh and today i tried to move 'Steam Linux Runtime - Soldier' to system drive(btrfs) and now everything works, but i dont know if this issue should be closed why 'Steam Linux Runtime - Soldier' can create prefix with new proton but cant with old if its located on ntfs drive.

im running very low on space on system drive, i hope this will be fixed.

Dandraghas avatar May 09 '23 15:05 Dandraghas

Hello @Dandraghas,

I follow official steam guide on ntfs filesystem

Do you mind linking that resource?

TTimo avatar May 09 '23 15:05 TTimo

Do you mind linking that resource?

here: https://github.com/ValveSoftware/Proton/wiki/Using-a-NTFS-disk-with-Linux-and-Windows

why you need that? i have followed steps in this guide. im only using UUID instead of label everything other i take from this guide.

Dandraghas avatar May 09 '23 16:05 Dandraghas

https://github.com/ValveSoftware/Proton/wiki/Using-a-NTFS-disk-with-Linux-and-Windows

Looking at the list of contributors, I suspect this is a community/fan maintained document rather than being something that's maintained or supported by Valve.

umask=000 is not related to this issue, but is not something that I would recommend (on multi-user systems, it means any other user can alter your games' files and make you run arbitrary code of their choice).

why 'Steam Linux Runtime - Soldier' can create prefix with new proton but cant with old if its located on ntfs drive

Proton 8.0 and Experimental use "Steam Linux Runtime - sniper", instead of "Steam Linux Runtime - soldier" like older Proton versions (5.13 to 7.0). Perhaps soldier is on your NTFS (Windows) drive, but sniper is on your btrfs (Linux) system drive?

smcv avatar May 09 '23 17:05 smcv

The more general answer to "why doesn't this work?" is that we try to do reasonable things that work on most filesystems, and on Linux filesystems and some NTFS configurations they work, but apparently on your particular NTFS configuration they're failing with an internal error.

smcv avatar May 09 '23 17:05 smcv

The more general answer to "why doesn't this work?" is that we try to do reasonable things that work on most filesystems, and on Linux filesystems and some NTFS configurations they work, but apparently on your particular NTFS configuration they're failing with an internal error.

i forgot to mention that i moved both sniper and soldier to btrfs drive, and i mentioned that everything works now, please forgot about it, but now i have different issue: for some reason prefix is broken with old proton when creating it gives this error:

Proton: Upgrading prefix from None to 6.3-3 (/home/Dandraghas/.local/share/Steam/steamapps/compatdata/2725930334/)
21:01:51.156568: pressure-vessel-adverb[9285]: I: Command exited with status 53

Dandraghas avatar May 09 '23 18:05 Dandraghas

Proton: Upgrading prefix from None to 6.3-3 (/home/Dandraghas/.local/share/Steam/steamapps/compatdata/2725930334/)
21:01:51.156568: pressure-vessel-adverb[9285]: I: Command exited with status 53

That looks like it's genuinely a Proton issue, please report it separately. The exit status of 53 might help a Proton developer to understand what has happened there.

smcv avatar May 09 '23 20:05 smcv