ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
24.31k stars 1.06k forks source link

Proton Beta can't install itself, 3.7-3 ok #1057

Open zvbarev opened 6 years ago

zvbarev commented 6 years ago

Proton Beta can't install itself. When I run game using Proton Beta nothing happens. In error.log I see "Proton 3.7 Beta: Permission denied". Also in Proton Beta directory I see no catalogue dist, because file proton_dist.tar.gz was not extracted.

The same problem was with Beta 3.7-4. Now with 3.7-5

johndoe7000 commented 6 years ago

Do you have python3 installed?

zvbarev commented 6 years ago

Yes, python 3.6.5-3ubuntu1

Elkasitu commented 6 years ago

Can you run any proton-enabled game and then check /tmp/dumps/$USER_stdout.txt? The last few lines should potentially contain some information if proton crashed

zvbarev commented 6 years ago

In /tmp/dumps I haven't find $USER_stdout.txt file. But in latest crash***.dmp file I see string Assertion Failed: Standalone evaluator returned error code for app 6900 ) installscript_posix.cpp:416

aeikum commented 6 years ago

Sounds like a problem running the proton script. Do you have a "python3" in your $PATH? E.g. does "python3" do something in a Terminal? What happens when you run "python3 proton" in the Beta directory?

zvbarev commented 6 years ago

When I type this command:

~/.steam/steam/steamapps/common/Proton 3.7 Beta$ python3 proton
Proton: No compat data path?
zvbarev commented 6 years ago

Very strange. I opened file proton in Proton 3.7 Beta directory and see the comment: #To enable debug logging, copy "user_settings.sample.py" to "user_settings.py" After I did it I run the game and script made dist directory with all needed files in Proton 3.7 Beta cat

If I run python3 proton in terminal I still get

Proton: No compat data path?

Any ideas?

parkerlreed commented 6 years ago

Yes because running directly it's expecting a path to store the prefix (or path to existing prefix)

aldr- commented 6 years ago

I have python3 in my path set and executing it gives me a shell stating Python 3.6.6 which I have to exit()

I change the name of the debug file to user_settings.py cat user_settings.py

#to enable these settings, name this file "user_settings.py"

user_settings = {
    #logs are saved to $HOME/steam-$STEAM_APP_ID.log, overwriting any previous log with that name
    "WINEDEBUG": "+timestamp,+pid,+tid,+seh,+debugstr,+module",

    "DXVK_LOG_LEVEL": "info",

    #Enable DXVK's HUD
#    "DXVK_HUD": "devinfo,fps",

    #Use wined3d for d3d11 instead of dxvk
#    "PROTON_USE_WINED3D11": "1",

    #Disable d3d11 entirely
#    "PROTON_NO_D3D11": "1",

    #Disable in-process synchronization primitives
#    "PROTON_NO_ESYNC": "1",
}

I commented everything in. Stopped steam. started it from command line moved through the UI and pressed the play button again. Thats the commandline output I received.

installscript_posix.cpp (416) : Assertion Failed: Standalone evaluator returned error code for app 292030 installscript_posix.cpp (416) : Assertion Failed: Standalone evaluator returned error code for app 292030 Installing breakpad exception handler for appid(steam)/version(1536436120) assert_20180923222024_24.dmp[10212]: Uploading dump (out-of-process) /tmp/dumps/assert_20180923222024_24.dmp GameAction [AppID 292030, ActionID 1] : LaunchApp changed task to SynchronizingCloud with "" GameAction [AppID 292030, ActionID 1] : LaunchApp changed task to ProcessingShaderCache with "" assert_20180923222024_24.dmp[10212]: Finished uploading minidump (out-of-process): success = yes assert_20180923222024_24.dmp[10212]: response: CrashID=bp-cfbbc2e7-a0e8-4bbb-a5eb-775d22180923 assert_20180923222024_24.dmp[10212]: file ''/tmp/dumps/assert_20180923222024_24.dmp'', upload yes: ''CrashID=bp-cfbbc2e7-a0e8-4bbb-a5eb-775d22180923'' GameAction [AppID 292030, ActionID 1] : LaunchApp changed task to SiteLicenseSeatCheckout with "" GameAction [AppID 292030, ActionID 1] : LaunchApp changed task to CreatingProcess with "" GameAction [AppID 292030, ActionID 1] : LaunchApp waiting for user response to CreatingProcess "" GameAction [AppID 292030, ActionID 1] : LaunchApp continues with user response "CreatingProcess" Opted-in Controller Mask: 70 Game update: AppID 292030 "", ProcID 10214, IP 0.0.0.0:0

aldr- commented 6 years ago

I was reading answer 10 of this steam forum thread which had a similar error, convincing me, that it is indeed a rights issue. To solve it I tried the following.

  1. I installed a second smaller game, in my case, starbound from my Steam UI -> Library as a reference
  2. tried running it and checked for the same error message, reproducing the error
  3. copied proton 3.7 and starbound to a ext4 partitioned folder
  4. created two symbolic links in my ntfs partitioned Steam folder one linking proton 3.7 and the other starbound
  5. made in in .../steamapps/common/Starbound/linux / run-client.sh and starbound executable chmod a+x ... (for both filenames)
  6. did hit the Play Button in Steam UI -> Library -> Starbound
  7. game launched

Trying the same with The Witcher 3 was fairly harder

  1. copied The Witcher 3to a ext4 partitioned drive
  2. created a symbolic links in my ntfs partitioned Steam folder one linking it
  3. after copying I realized that for some reason all files in The Witcher 3 folder had file and group root
  4. changed permissions for all files sudo chown -vR username:usergroup .../The\ Witcher\ 3/ note: (usergroup was in my case username again)
  5. made all files in .../The\ Witcher\ 3/bin/ executable chmod a+x *
  6. did hit the Play Button in Steam UI -> Library -> Witcher 3 unfortunately no success, The Permission denied error message was gone (I guess this should be enough for this bug), but game didin't start. Instead the was a small Steam Update Window

    subprocess.CalledProcessError: Command '['/home/user/Proton 3.7/dist/bin//wine64', 'winepath', '-w', 'Witcher 3']' returned non-zero exit status 1.

  7. Steam UI -> Steam -> Settings -> Steam Play -> Compatibility Tool -> Proton 3.7.6 Beta
  8. Steam restart
  9. game launched

Summary what I have gathered together so far:

pgiovanni commented 3 years ago

I'm having a similar issue trying to follow this guide.

sudo env WINEPREFIX="~/.steam/steam/steamapps/compatdata/252950/pfx" ~/.steam/steam/steamapps/common/'Proton 5.0' 4.11/dist/bin/wine64 winecfgclear
env: ‘/home/paul/.steam/steam/steamapps/common/Proton 5.0’: Permission denied
kisak-valve commented 3 years ago

No comment regarding the sanity of the guide, but 'Proton 5.0' 4.11 doesn't look right.

pgiovanni commented 3 years ago

here's the og

env WINEPREFIX="~/.steam/steam/steamapps/compatdata/252950/pfx" ~/.steam/steam/steamapps/common/Proton\ 4.11/dist/bin/wine64 winecfg

so changing the 4.11 to a 5.0 like so:

env WINEPREFIX="~/.steam/steam/steamapps/compatdata/252950/pfx" ~/.steam/steam/steamapps/common/Proton\ 5.0/dist/bin/wine64 winecfg

gives me this:

wine: invalid directory ~/.steam/steam/steamapps/compatdata/252950/pfx in WINEPREFIX: not an absolute path

kisak-valve commented 3 years ago

Most likely from using ~ instead of the full path for your home folder. Substitute ~ for /home/paul followed by what you already had.

pgiovanni commented 3 years ago

Sorry I realized i posted the wrong command before. but here is the right command with its corresponding output.

$ env WINEPREFIX="/home/paul/.steam/steam/steamapps/compatdata/252950/pfx" ~/.steam/steam/steamapps/common/Proton\ 5.0/dist/bin/wine64 winecfg
wineserver: using server-side synchronization.
0064:err:module:load_so_dll failed to load .so lib "/home/paul/.steam/debian-installation/steamapps/common/Proton 5.0/dist/bin/../lib64/wine/winebus.sys.so": libudev.so.0: cannot open shared object file: No such file or directory
0064:err:ntoskrnl:ZwLoadDriver failed to create driver L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\winebus": c0000142
0034:fixme:service:scmdatabase_autostart_services Auto-start service L"winebus" failed to start: 1114
kisak-valve commented 3 years ago

Proton expects to be run in the Steam runtime environment provided by Steam (and with Proton 5.13 and newer, in the Steam Linux Runtime - Soldier container environment), and you've encountered a missing dependency from running it outside that environment.

You should be able to use something like ~/.steam/root/ubuntu12_32/steam-runtime/run.sh /what/you/want/run/in/the/steam/runtime to run things in a similar environment to what Steam gives games.

At this point it's fairly clear you're not seeing the issue being tracked here and it might be better to use the community forums to get help with the kind of tinkering you're doing instead of this issue tracker.