Proton: Games don't run, wine cannot find files

Created on 22 Aug 2018  路  17Comments  路  Source: ValveSoftware/Proton

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`

Game compatibility

All 17 comments

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

Is doom installed on a NTFS formatted drive?

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.

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

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

@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.

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

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

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

@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

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

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

@hdmap its set to 1048576

@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?

@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 /steamapps/common/Proton 3.7/dist/share/default_pfx/dosdevices/
  • For each game using proton, a wineprefix is created in /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 /steamapps/compatdata directory with a link to you new linux filesystem /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.

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.

@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.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ghost picture ghost  路  3Comments

AwesamLinux picture AwesamLinux  路  3Comments

shaphanpena1 picture shaphanpena1  路  3Comments

juppso picture juppso  路  3Comments

ghost picture ghost  路  3Comments