protonscr

Fixes for Proton 6.3-3...Commits to revert that cause some games to instantly terminate on launch.

protonclosed
ValveSoftware/Proton#4808 · opened 2021-05-05 by rboxeur · updated 2021-05-14 · 12 comments · github
1 matching comments, n / p to jump
Rrboxeur 2021-05-05 github

Affected Proton version 6.3-3

To fix it

cd /opt/Sources/Proton-Experimental-6.3/wine/
git format-patch -r -n3 a80652ca4c8d69591e3242019e487502510323ea
patch -R -Np1 -i /opt/Sources/Proton-Experimental-6.3/wine/0001-server-Do-not-cancel-process-sigkill-in-kill_process.patch
patch -R -Np1 -i /opt/Sources/Proton-Experimental-6.3/wine/0002-server-Add-sigkill-timer-even-if-msg_fd-is-closed.patch
patch -R -Np1 -i /opt/Sources/Proton-Experimental-6.3/wine/0003-ntdll-Close-server-socket-before-calling-exit.patch

I opened a ticket on Kron4ek's repository too...His builds are ok now after he fixed them too

https://github.com/Kron4ek/Wine-Builds/releases/tag/6.3-3-proton

Kkisak-valve maintainer 2021-05-05 github

Hello @rboxeur, please also note which games were tested and copy your system information from Steam (Steam -> Help -> System Information) into a gist, then include a link to the gist in this issue report.

SSebastriani 2021-05-08 github

I was going to start a thread about this! I have the same problem, most of my games were running perfect with 6.3-2, now with 6.3-3 no even 1 from the ones I tested launched and I had to fall back to 5.13-6

Pptosi 2021-05-08 github

This might come from an issue I've noticed with the version of Wine's shared object loader shipped with Proton 6.3 as it seems to always load at address 0x0.

For example, given the following program:

#include <stdio.h>
int main() { printf("hi\n"); }

we get:

$ winegcc hello.c -o hello
$ export WINEDEBUG=+loaddll
$ export WINE=$HOME/.local/share/Steam/steamapps/common/Proton\ 6.3/dist/bin/wine64
$ $WINE --version
wine-6.3
$ $WINE hello.exe.so
002c:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\wineboot.exe" at 0000000140000000: builtin
002c:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\kernelbase.dll" at 000000007B000000: builtin
002c:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\kernel32.dll" at 000000007B600000: builtin
002c:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\ucrtbase.dll" at 00000003AF670000: builtin
[ ... more windows libs ... ]
002c:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\shlwapi.dll" at 00000002E3540000: builtin
002c:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\shell32.dll" at 00007FE14FB90000: builtin
002c:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\imm32.dll" at 00000003AFD00000: builtin
0024:trace:loaddll:build_module Loaded L"Z:\\path\\to\\hello.exe" at 00007F8422840000: builtin
0024:trace:loaddll:load_so_dll Loaded L"\\??\\Z:\\path\\to\\hello.exe.so" at 0000000000000000: builtin
segmentation fault (core dumped)  $WINE hello.exe.so

where the segfault probably comes from accessing the content of the mapped SO i.e. the RAM page at address 0x0.

Reverting to Proton 5.13 makes the program run (notice the valid load address from load_so_dll, this time):

$ export WINE=$HOME/.local/share/Steam/steamapps/common/Proton\ 5.13/dist/bin/wine64
$ $WINE --version
wine-5.13-789-gc14054e6923
$ $WINE hello.exe.so
002c:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\ntdll.dll" at 000000007BC00000: builtin
002c:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\kernelbase.dll" at 000000007B000000: builtin
002c:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\kernel32.dll" at 000000007B610000: builtin
[...]
0024:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\ntdll.dll" at 000000007BC00000: builtin
0024:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\kernelbase.dll" at 000000007B000000: builtin
0024:trace:loaddll:build_module Loaded L"C:\\windows\\system32\\kernel32.dll" at 000000007B610000: builtin
0024:trace:loaddll:build_module Loaded L"Z:\\path\\to\\hello.exe" at 00007F1D2E0E0000: builtin
0024:trace:loaddll:load_so_dll Loaded L"\\??\\Z:\\path\\to\\hello.exe.so" at 00007F1D2E0E0000: builtin
hi

I'm not sure how helpful this is and/or if it's actually related to those issues. This seems to be such a central bug that I tend to believe it must be with my setup as I would expect something like this to be caught by their regression tests.

Rrboxeur 2021-05-08 github

I was going to start a thread about this! I have the same problem, most of my games were running perfect with 6.3-2, now with 6.3-3 no even 1 from the ones I tested launched and I had to fall back to 5.13-6

I don't use Proton but I know while submitting a ticket on Kron4ek's repository then he fixed it..

Here is the ticket I opened this week

https://github.com/Kron4ek/Wine-Builds/issues/36

Kron4ek's build for Proton-6.3-3 has only Wine with the expected fixes within

If you are not afraid by terminal then I will recommend to do that or nagivate to the location where your Proton-6.3-3 is located to play the game

cd /home/..../steam/...compatibility/...

Try to go where there will be a subfolder called 'dist'. This is the subfolder that comes with Proton-6.3-3. It is supposed to content Wine with subfolders named 'bin','lib' and so on

Then rename it to something 'dist' to 'dist_orig'. Name is not really important

mv dist dist_orig

You can do that through your own system too

Then download file located here
https://github.com/Kron4ek/Wine-Builds/releases/download/6.3-3-proton/wine-6.3-3-proton-amd64.tar.xz
to the same locaion where your old dist folder is located
Then decompress it and rename it
from
'wine-6.3-3-proton-amd64'
to 'dist'

Then restart your steam.

Ffrostworx 2021-05-10 github

Wow, thanks a lot for this fix. I'm pretty sure this is the main problem for all those "Proton doesn't work anymore" threads on reddit.
Just wanted to debug why Vortex doesn't start in a custom wineprefix and can confirm that above patched package fixes it.
Also, great to see Kron4ek provides wine and proton packages. Will add support for them at once in my launcher :)

KKron4ek 2021-05-10 github

This issue is reproducible at least with Factory Town, what is interesting is that the game works when launched from within Steam with Proton 6.3-3, but when i launch it without Steam using the same Proton version (doesn't matter if it's the official build or a manually compiled build), it get instantly terminated. And as stated above, reverting three specific commits fixes the issue.

p.s. Factory Town is DRM-Free and works even without Steam.

Rrboxeur 2021-05-10 github

This is not related to game only. Even a simple exe like ffplay.exe (video player provided with FFmpeg) failed to launch a simple video

Here is an outdated video based on your old build without the fix (before you updated it) versus a build with the fix

https://youtu.be/4TV7axVnI8A

Build without fix = failure
Build with fix = success

Ggofman 2021-05-10 github

The issue itself is clear but the examples of real game(s) which fail when run from Steam in normal way could be helpful as it would allow to test the fix and include it in Proton update. Just reverting the commits in Proton is unlikely an option as the commit does fix the specific issues with some games being run normally from Steam.

Aaleksei-korolev 2021-05-10 github

@gofman I am not sure if this is a related issue, but Deep Rock Galactic crashes on my PC with proton 6.3.3. It always crashes after I finished a game level and return to the lobby level (AKA Space Rig). Sometimes it crashes after it loads a game level. After any crash, it always crashes on launch after the loading screen (which loads you into the lobby level) until I verify game files through Steam.

I run the game with WINEDLLOVERRIDES="mfplay.dll=d" %command% launch options.

Let me know what additional information would you need.

Aaeikum 2021-05-13 github

This issue is hopefully fixed in the Proton 6.3-4 RC candidate, see #4821.

Ffrostworx 2021-05-13 github

Thanks for the quick fix! I can confirm that at least an unofficial Vortex installation in a custom wineprefix starts correctly using proton-6.3-4-rc1, which failed with proton-6.3-3 (maybe not related, but it starts much faster when started from outside steam)

Aaeikum 2021-05-14 github

Thanks everyone for reporting and testing. 6.3-4 is released now, so I'll close this issue.

Proton versions

Launch options

Launch lines

DLLs