protonscr

Corruption in Proton default_pfx not caught by "Verify Files"

protonopen
ValveSoftware/Proton#7015 · opened 2023-08-14 by renatopereyra · updated 2023-08-29 · 4 comments · github
Rrenatopereyra 2023-08-14 github

Your system information

  • Steam client version (build number or date): Steam Version: 1691097434 (Steam Deck Stable as of Aug 14, 2023)

  • Distribution (e.g. Ubuntu): SteamOS (OS Version: 3.4.8, OS Build: 20230508.1)

  • Opted into Steam client beta?: No

  • Have you checked for system updates?: Yes

  • Steam Logs:
    steam-logs.tar.gz

  • GPU: Steam Deck

Please describe your issue in as much detail as possible:

Proton "Verify Files" does not verify the contents of the dist subdirectory within the Proton installation. Clicking "Verify Files" from the Steam client when there is a corruption in this directory still reports that all files passed verification. This means that corruptions within the dist directory are being missed.

Steps for reproducing this issue:

  1. Install Proton 8.0.
  2. Launch any game using it so proton_dist.tar is unpacked.
  3. Manually delete a path within the dist directory. For example, dist/share/default_pfx/drive_c/ProgramData.
  4. Run "Verify Files" for Proton 8.0. Observe that all files pass verification.
  5. Confirm that the deleted directory (in this case dist/share/default_pfx/drive_c/ProgramData) is still missing.
Rrenatopereyra 2023-08-14 github

I also confirmed this issue to reproduce on the Preview channel (Steam Version: 1691444934)

Kkisak-valve maintainer 2023-08-14 github

Hello @renatopereyra, my understanding is that this is an intentional choice by the Proton devs to significantly decrease the time it takes to download and update Proton, and also to workaround other Steampipe limitations.

While it looks like there's been some effort to transition away from using proton_dist.tar with Proton Experimental, this was not yet reliable enough when Proton 8.0 was released.

If your dist folder is damaged or incomplete, you can purge the entire folder and Proton will regenerate it the next time it is run.

Rrenatopereyra 2023-08-14 github

While I can definitely purge it and have it be regenerated, other users won't know to do that. Should the purge and regenerate be part of at least the "Verify Files" steps?

For your awareness, I was having a game crash on launch due to this issue. Once I purged the dist directory, the game worked as intended.

Rrenatopereyra 2023-08-29 github

Any update on this bug? I am not sure I see the connection between Proton download/update and verifying Proton installations.

Proton versions