protonscr

Some proton utility commands hang when running on nfs

protonopen
ValveSoftware/Proton#987 · opened 2018-08-30 by wberrier · updated 2019-04-26 · 8 comments · github
Wwberrier 2018-08-30 github

Setup:

  • Updated Fedora 28 x86_64
    • mesa 18.0.5
  • Intel Corporation HD Graphics 5500

If I install the game to my local disk (~/.local/share/Steam) Starwars Battlefront II (and others) runs fine.

I have an autofs/nfs share (/net/berrier/steam) on another computer (backed by a 32bit xfs filesystem) and when I run a proton game (I've verified this with a few proton games), the following commands hang indefinitely:

python2.7 /net/berrier/steam/steamapps/steamapps/common/Proton 3.7/proton run /home/wberrier/.local/share/Steam/legacycompat/iscriptevaluator.exe --get-current-step 6060
python2.7 /net/berrier/steam/steamapps/steamapps/common/Proton 3.7/proton getcompatpath /net/berrier/steam/steamapps/steamapps/common/Star Wars Battlefront II

As a sidenote, I can run steam under wine and access this same nfs share just fine. I really think it's something with the utility commands that are hanging with this setup.

I've also seen this behavior on a machine running Fedora 27.

Wwberrier 2018-08-30 github

This command is also hanging:

python2.7 /net/berrier/steam/steamapps/steamapps/common/Proton 3.7/proton waitforexitandrun /net/berrier/steam/steamapps/steamapps/common/Star Wars Battlefront II/GameData/BattlefrontII.exe
Wwberrier 2018-09-01 github

Just in case, I tried this with ext4 over nfs and ran into the same problem.

Wwberrier 2018-09-01 github

I tried using the steam client to move the game from the nfs games folder to the local games folder. It didn't move proton, and it's exhibiting the same behavior. These commands run for a long time without completing while the steam client has a window saying "Preparing to launch..."

python2.7 /home/wberrier/.local/share/Steam/steamapps/common/Proton 3.7/proton run /home/wberrier/.local/share/Steam/legacycompat/iscriptevaluator.exe --get-current-step 6060
python2.7 /home/wberrier/.local/share/Steam/steamapps/common/Proton 3.7/proton getcompatpath /net/berrier/steam/steamapps/steamapps/common/Star Wars Battlefront II
Nnyanloutre 2018-10-12 github

I got the same behaviour on Manjaro using the Flatpak and with the native version

FFrancesco149 2019-03-09 github

i ran into this a few times running zfs over nfs, but if you wait long enough (20+ mins) it eventually finishes and the game runs.

after running the game once it stops happening but sometimes proton decides to run them again, maybe due to proton updates. not sure. either way just waiting it out worked for me

Nnyanloutre 2019-03-09 github

@Francesco149 I noticed Steam is completely unoptimized on NFS

FFrancesco149 2019-04-26 github

I figured out how to initialize a proton wine prefix from the command line. this way you can ssh into the machine that has physical access to the drives and not have the overhead from nfs. much faster

mkdir ~/.local/share/Steam/steamapps/compatdata/253230
STEAM_COMPAT_DATA_PATH=~/.local/share/Steam/steamapps/compatdata/253230 STEAM_COMPAT_CLIENT_INSTALL_PATH=~/.local/share/Steam' FONTCONFIG_PATH='' ./proton run ~/.local/share/Steam/legacycompat/iscriptevaluator.exe --get-current-step 253230

replace the three 253230 with your game id

this assumes your entire steam install is on the nfs share

you should run this from the desired proton version folder, such as ~/.steam/steam/steamapps/common/Proton 4.2

FFrancesco149 2019-04-26 github

I've made a script to initialize proton wine prefixes: https://raw.githubusercontent.com/Francesco149/docker-dots/master/bin/protonboot

usage:

protonboot appid

you can get appid from the game's store page url or, if you have protontricks installed, protontricks -s "game name"

using a specific proton version:

protonboot appid "3.16 Beta"

listing proton versions

protonboot ls