protonscr

Games don't run, wine cannot find files

protonclosed Game compatibility
ValveSoftware/Proton#82 · opened 2018-08-22 by a1ph4n3rd · updated 2018-08-22 · 17 comments · github
Aa1ph4n3rd 2018-08-22 github

Tried running DOOM and it changes to running for about 1 sec then doesn't run. Checking the logs and wine seems to be complaining about not finding files, which I have checked and are there.

I'm running on arch linux with the latest nvidia drivers installed.

Log excerpt:
wine: cannot find '/home/jonathanprocter/.local/share/Steam/legacycompat/iscriptevaluator.exe'
wine: cannot find '/home/jonathanprocter/.local/share/Steam/legacycompat/iscriptevaluator.exe'
wine: cannot find '/home/jonathanprocter/.local/share/Steam/legacycompat/iscriptevaluator.exe'
wine: cannot find '/home/jonathanprocter/.local/share/Steam/legacycompat/iscriptevaluator.exe'
GameAction [AppID 379720, ActionID 2] : LaunchApp changed task to SynchronizingCloud with ""
wine: cannot find '/home/jonathanprocter/.local/share/Steam/legacycompat/iscriptevaluator.exe'
GameAction [AppID 379720, ActionID 2] : LaunchApp changed task to ProcessingShaderCache with ""
GameAction [AppID 379720, ActionID 2] : LaunchApp changed task to SiteLicenseSeatCheckout with ""
GameAction [AppID 379720, ActionID 2] : LaunchApp changed task to CreatingProcess with ""
GameAction [AppID 379720, ActionID 2] : LaunchApp waiting for user response to CreatingProcess ""
GameAction [AppID 379720, ActionID 2] : LaunchApp continues with user response "CreatingProcess"
Opted-in Controller Mask: 70
Game update: AppID 379720 "", ProcID 11722, IP 0.0.0.0:0
Loaded Config for Local Selection Path for App ID 379720: /home/jonathanprocter/.local/share/Steam/steamapps/workshop/content/241100/731532156/267220742946421658_legacy.bin
Loaded Config for Local Selection Path for App ID 379720: /home/jonathanprocter/.local/share/Steam/steamapps/workshop/content/241100/731532156/267220742946421658_legacy.bin
Loaded Config for Local Override Path for App ID 379720: /home/jonathanprocter/.local/share/Steam//controller_base/empty.vdf
Loaded Config for Local Override Path for App ID 379720: /home/jonathanprocter/.local/share/Steam//controller_base/empty.vdf

Adding process 11722 for game ID 379720
GameAction [AppID 379720, ActionID 2] : LaunchApp changed task to WaitingGameWindow with ""
GameAction [AppID 379720, ActionID 2] : LaunchApp changed task to Completed with ""
ERROR: ld.so: object '/home/jonathanprocter/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/jonathanprocter/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Adding process 11723 for game ID 379720
ERROR: ld.so: object '/home/jonathanprocter/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/jonathanprocter/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/jonathanprocter/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Adding process 11724 for game ID 379720
ERROR: ld.so: object '/home/jonathanprocter/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Adding process 11726 for game ID 379720
Adding process 11729 for game ID 379720
ERROR: ld.so: object '/home/jonathanprocter/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Adding process 11731 for game ID 379720
ERROR: ld.so: object '/home/jonathanprocter/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/jonathanprocter/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/jonathanprocter/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 11727 != 11726, skipping destruction (fork without exec?)
Adding process 11733 for game ID 379720
ERROR: ld.so: object '/home/jonathanprocter/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/jonathanprocter/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Adding process 11734 for game ID 379720
Adding process 11737 for game ID 379720
Adding process 11739 for game ID 379720
ERROR: ld.so: object '/home/jonathanprocter/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 11735 != 11734, skipping destruction (fork without exec?)
ERROR: ld.so: object '/home/jonathanprocter/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/jonathanprocter/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/jonathanprocter/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Adding process 11741 for game ID 379720
wine: cannot find '/run/media/jonathanprocter/Science/WinSteamLibrary/steamapps/common/DOOM/DOOMx64.exe'
pid 11744 != 11743, skipping destruction (fork without exec?)
Adding process 11742 for game ID 379720
Adding process 11743 for game ID 379720
Game removed: AppID 379720 "", ProcID 1172`

Jjarrard 2018-08-22 github

define "latest nvidia drivers installed", as in what version specifically?

Tthunder1410 2018-08-22 github

Is doom installed on a NTFS formatted drive?

Aa1ph4n3rd 2018-08-22 github

By latest nvidia drivers, I mean the latest available in the arch repository which is 396.51-5, and it is installed on an NTFS drive, but I have no problems reading and writing to the game's directory.

Aaeikum 2018-08-22 github

Probably not a driver issue.
Does this file exist and can you access it? /home/jonathanprocter/.local/share/Steam/legacycompat/iscriptevaluator.exe

Tthunder1410 2018-08-22 github

If none of the games work, I recommend that you go into the config of fstab located in /etc, and use as option " ntfs-3g uid=1000,gid=1000,fmask=0000,dmask=0000,exec 0 0" as options and then remount/reboot

Aa1ph4n3rd 2018-08-22 github

@aeikum The file does exist and my user owns the file and has full access.
@thunder1410 I have tried different mount options and that doesn't make any difference, plus the iscriptevaluator.exe is on my main drive which is ext4.

Jjarrard 2018-08-22 github

396.54 was released recently which fixes some pretty big issues but may not resolve you problem here.

Aaeikum 2018-08-22 github

@a1ph4n3rd Thanks. Is Proton itself installed on the NTFS drive? That's not something we tested, I wonder if it causes issues.

Aa1ph4n3rd 2018-08-22 github

@aeikum yeah, i think it is installed to the NTFS drive

Aa1ph4n3rd 2018-08-22 github

@aeikum I've tried moving proton and its appmanifest to my main ext4 drive then restarting steam, and still no change. I have also tried with other games, but DOOM is the only whitelisted one I've tried, and none of them work

Mmirh 2018-08-22 github

ERROR: ld.so: object '/home/jonathanprocter/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.

I'm getting the same error with fallout shelter.
Arch linux, with mesa-git and llvm-git (vanilla wine-staging works)

EDIT: I swear I don't know what happened - but after a reboot (.-.) everything was working fine
EDIT2: this is probably #114

Hhdmap 2018-08-22 github

Have you checked your file descriptor limit (ulimit -n)?

Aa1ph4n3rd 2018-08-22 github

@hdmap its set to 1048576

Aaeikum 2018-08-22 github

@mirh The LD_PRELOAD error is harmless and will appear for most games.
@a1ph4n3rd Sorry, I don't have any suggestions and am not set up to test this myself right now :( I can't think why Wine wouldn't be able to find that file. Have you tried restarting Steam and stuff?

Jjpalaciosdev 2018-08-22 github

@aeikum I think i found the problem.
Proton itself and the wineprefix that it creates for each game using it contains links to directories with names such "c:" and "z:".

  • For proton, they are located on <steam_library>/steamapps/common/Proton 3.7/dist/share/default_pfx/dosdevices/
  • For each game using proton, a wineprefix is created in <steam_library>/steamapps/compatdata/< game_id>/pfx/ which also contains those directories in their 'dosdevices' directory.

The name of those directories violates the name convention of Microsoft as the character ':' is reserved [1]. So, anyone with the default library in a NTFS partition will have this kind of issues, as proton unable to unpack the contents of the dist directory from the proton_dist.tar.gz file, or wine unable to find the executable file (as no c: or z: is actually created under dosdevices in a NTFS filesystem).

A workaround is to create another library inside a linux filesystem, to move the Proton app manually inside it from the NTFS library [2], and to replace the NTFS <steam_library>/steamapps/compatdata directory with a link to you new linux filesystem <steam_library>/steamapps/compatdata
Restart steam and everything should work, at least until the next proton update/reinstallation as it keeps installing itself on the library where it's located the game that use it (the one in the NTFS filesystem).

[1] https://docs.microsoft.com/es-es/windows/desktop/FileIO/naming-a-file
[2] I think that Proton should be installed in the default library instead of the library where it's located the game that use it. In this way, the user can set the default library in a linux filesystem, so Proton will be installed automatically when needed inside it, while maintaining the games and the rest of the stuff on other (optional) library in a NTFS formatted partition. Also, the compatdata directory should be placed in the library where proton is installed.

Aa1ph4n3rd 2018-08-22 github

So I deleted everything I could find related to proton, and compatdata. Then I disabled steam play and opted out of the beta and started from scratch. Opted back into the beta, re-enabled steam play and it seems to work now. For the record proton and the compatdata directory redownloaded to my ntfs formatted game drive, so I don't really know what the problem was.

Jjpalaciosdev 2018-08-22 github

@a1ph4n3rd If works for you in your NTFS partition then that partition is not being mounted with the "windows_names" mount option. That way you can use the reserved characters for file and directory names. However, every time you run chkdsk in that filesystem on a Windows OS, those files / directories will probably be deleted or their names will be altered, leaving you a broken proton setup. And sooner or later you will want to repair that filesystem for some reason, so you will face this problem again.

I suggest to reopen this bug until a proper solution is found.

Proton versions