protonscr

Steam client accessing rootfs through proton symlinks

steamclosed
ValveSoftware/steam-for-linux#7549 · opened 2020-12-15 by notaz · updated 2020-12-15 · 1 comments · github
Nnotaz 2020-12-15 github

Your system information

  • Steam client version (build number or date): Dec 7 2020
  • Distribution (e.g. Ubuntu): Ubuntu 20.04.1
  • Opted into Steam client beta?: No
  • Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

I've noticed high CPU usage and my archiving hard hard disks spinning up while playing a steam game. Attaching strace revealed that a thread called CLocalLibraryCr is doing lots of access()/lstat64() calls, looking for shader caches perhaps?

[pid 3188359] access("/home/notaz/.local/share/Steam/steamapps/common/Proton 5.13/dist/share/default_pfx/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/games/m2/SteamLibrary_old/steamapps/shadercache/337000/mesa_shader_cache/ed", F_OK) = 0
[pid 3188359] lstat64("/home/notaz/.local/share/Steam/steamapps/common/Proton 5.13/dist/share/default_pfx/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/dev/wine/dosdevices/z:/home/notaz/games/m2/SteamLibrary_old/steamapps/shadercache/337000/mesa_shader_cache/ed", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
...

Notice how it first dereferences proton's z: symlink (which wine/proton uses to provide z: disk for windows apps), then hits my other wine install, dereferences z: multiple times again and finds shader cache in my old disk that it has spun up (and I heard the noise of). Clearly better symlink handling is needed, to not follow symlinks to / at very least.

Steps for reproducing this issue:

Unsure, just ran a native Linux game through steam for a while.

Kkisak-valve maintainer 2020-12-15 github

Hello @notaz, this issue is already being tracked at #7372. Closing as a duplicate.

Proton versions