ValveSoftware / Proton

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

Dedicated issue for futex2-specific problems #4568

Open Plagman opened 3 years ago

Plagman commented 3 years ago

If an issue happens when running Proton Experimental against a kernel that has both futex2 and FUTEX_WAIT_MULTIPLE, and stops happening when setting WINEFSYNC_FUTEX2=0, please post it here.

NoXPhasma commented 3 years ago

One Finger Death Punch 2 (980300) won't launch with Futex2 enabled. It would spawn an invisible window and hangs there. When I disable Futex2 it's starting fine.

steam-980300.log

kodatarule commented 3 years ago

Killing Floor 2 (232090) refuses to go past the splash screen so I have to manually stop/kill the process. steam-232090.log Grand Theft Auto V (271590) can't go past "Connecting to Rockstar Social Club" it just hangs there and I have to manually kill the process steam-271590.log

NoXPhasma commented 3 years ago

Generation Zero (704270) starts fine to the main menu with Futex2 but hangs once you load a game. Instead of showing the world, it hangs either in the loading screen or a black screen. Audio keeps playing and I need to force kill it.

Without Futex2 it runs just fine.

steam-704270.log

kodatarule commented 3 years ago

Call Of Duty World At War (10090) main menu is fine, but once you load a level it just hangs on black screen, same for Multiplayer. steam-10090.log EDIT: Risk Of Rain 2 (632360) hangs on a black screen. steam-632360.log

kakra commented 3 years ago

Elite Dangerous: Launcher doesn't seem to load its web content until the game is started, the game itself shows only a black screen (but intro sound and menu sound can be heard)

Titles using Origin Launcher (tested: Mirror's Edge Catalyst, Mass Effect: Andromeda): Launcher cannot correctly download/update itself, the process is either slow or eventually locks up, animations only run while moving the mouse on the window or turning the mouse wheel on the window, games itself seem to run just fine if the launcher doesn't want to update itself

Titles using Uplay Launcher (tested: AC:Odyssey, AC:Origin, AC:Unity): Launcher cannot update itself, it hangs trying to connect to servers but this seems not to be an exclusive futex2 issue, often it needs serveral launches until the connection is successful, however, with futex2, that always seems to fail. Games itself launch just fine if the launcher doesn't try to update itself.

Titles using Rockstar launcher (test: RDR2): Cannot connect to Rockstar online services, without futex2, the launcher connects just fine and the game starts.

Borderlands 3: Initial shader loading screen (walking robot) works but the game launches with an invisible/transparent window (holding an old copy of whatever screen content has been there on the desktop), sound sometimes starts playing but the game won't launch (it probably hangs at the Borderlands logo when trying to connect to servers).

Ori series (Blind Forest, Will of Wisps): Game launches a black screen, nothing happens. Usually, the game would load/compile shaders at that point, then start sound. But nothing happens.

Ross-Carran commented 3 years ago

Gloomhaven(780290) Hangs on a black screen doesn't load. steam-780290.log

Star Renegades(651670) Hangs on a black screen doesn't load. steam-651670.log

Ashes of the singularity: Escalation(507490) launcher loads into a invisible window, the play button is undetectable even you scroll over where it should be. When taking a picture with Prtscr the window became visible, but the buttons were not select-able. Had to hit stop in steam for the launcher to exit. (force quit) steam-507490.log Screenshot_2021-01-29_02-32-00

Any games listed here have been tested with: WINEFSYNC_FUTEX2=0 works WINEFSYNC_FUTEX2=1 fails kernel 5.11rc5 patched with 0001-futex-resync-from-gitlab.collabora.com.txt 0002-futex2-resync-from-gitlab.collabora.com.txt

NoXPhasma commented 3 years ago

Ultimate Epic Battle Simulator (616560) freezes one second after the window opens when the Unity logo is shown. Works fine without Futex2.

steam-616560.log

pingubot commented 3 years ago

Ubisoft Connect starts fine. The Far Cry 5 (552520) process is starting showing the splash screen, but the game window is not showing up afterwards (the process is still there using 100% cpu, so one core). Works fine disabling futex2.

steam-552520.log

kakra commented 3 years ago

Well, I found that "Ubisoft Connect" (or rather the older Uplay) may hang when it tries to update itself (not futex2-specific). But it's usually enough to run protontricks -s APPID uplay to get it going: It complains that uplay is already up to date, then it launches it and it's then able to update itself. After this, "Ubisoft Connect" will launch the game successfully. I still need to retest the games, tho, which I couldn't because of this problem.

Melorn366 commented 3 years ago

Warframe (steamlog-230410. log) and Battlefield 1 (steam-1238840.log) not launching when futex 2 is being used (in both cases the launcher crashes, when futex2 interface patched kernel is being used along with fsync). Can be reproduced with proton experimental. steam-230410.log steam-1238840.log

Anomaly with gamescope and esync

When just esync is being used (with proton experimental using gamescope), randomly the gpu usage get 100% along with 100% CPU usage. It happens total randomly. The game becomes unstable and stutters a lot !

Galcian79 commented 3 years ago

Killing Floor 2 (232090) refuses to go past the splash screen so I have to manually stop/kill the process. steam-232090.log Grand Theft Auto V (271590) can't go past "Connecting to Rockstar Social Club" it just hangs there and I have to manually kill the process steam-271590.log

I don't have GTAV issue, is there a way to check if futex2 is actually running on my system?

aeikum commented 3 years ago

A possible futex2 issue was reported here: https://github.com/ValveSoftware/Proton/issues/167#issuecomment-774836159

alosarjos commented 3 years ago

So, it's not a game thing, but gnome-shell crashed and I see some futex things on the core dump. Would prefer if you guys could tell me if it's a futex error before reporting the issue to gnome devs.

gnome_crash.log

kakra commented 3 years ago

The problem seems to happen due to a failing assertion in the first thread. The other threads just happen to wait in a futex by coincidence, and because the process is stopped, those threads show up with a backtrace pointing to the blocking futex function. I doubt that it's a futex-related crash. A log from your xsession at around the time of the crash could be useful, too: It should have logged an assertion message.

romulasry commented 3 years ago

I have it in sonic generations how do I get a log? There is one here thought: https://github.com/ValveSoftware/Proton/issues/380

ghost commented 3 years ago

Slightly different issue but still an futex2 issue, when running futex2 there is no log or indicator that futex2 is actually running, there is a log for fsync but not for futex2. It makes debugging more difficult if we are unsure if its actually running.

EduFrazao commented 2 years ago

Ubisoft Connect launcher consumes 100% of CPU with Futex2 enable, making impossible to play Farcry 5. Disabling with WINEFSYNC_FUTEX2=0 solves the problem.

Kernel 5.14.0 Ryzen 5900x

mathew2214 commented 2 years ago

does anybody have an up-to date patchset that includes both futex_wait_multiple and FUTEX2? i cant seem to find one that works for Linux 5.13. although i am willing to switch to 5.14 if necessary. i have a hardware quirk that requires i build my own kernels anyway, so premades are not an option for me.

YellowOnion commented 2 years ago

@mathew2214 maybe this: https://github.com/xanmod/linux-patches/tree/master/linux-5.13.y-xanmod/futex

I can't say I know if they're up to date, but it looks pretty comprehensive.

Goofybud16 commented 2 years ago

The VRChat Client (at least in VR mode) seems to have issues with v5.16.0. The issues are resolved by setting PROTON_NO_FSYNC=1, or reverting back to kernel 5.15.x.

The first issue I've run into is that after around an hour, it seems like the game's "voice processing thread" will seem to freeze. Other people's voices will stop coming through, the mouth animations (driven by voices) will freeze, and you will no longer be able to speak. The microphone icon will still seem to work, however nobody else will hear your voice. The game will also begin to stutter very badly. The game, otherwise, seems to continue to work-- other people's movements still come through.

Also noticed a world (Sketchu Spring) seemed to be partially broken. There is a "helicopter" type device, and it was non-functional. Other people could use it on their game, however it did not animate correctly when they did so. I was able to briefly test this in desktop with NO_FSYNC set, and it seemed to be working properly.

This was tested on a R9 3900X with an RX 6700XT, if that makes any difference.

ProjectSynchro commented 2 years ago

SWTOR does not fade-out from playing music tracks when it should, (as in they play until they are finished rather than cutoff when they should) there also appears to be some stuttering which was not present when running kernel 5.15 / PROTON_NO_FSYNC=1

Edit: added log steam-1286830.log

Edit 2: Seems I was in an area which was inconsistently doing this. It seems to happen regardless of fsync, or esync being enabled or not.

Galcian79 commented 2 years ago

Fall Guys disconnects randomly from server between matches, if futex2 is running. WINEFSYNC_FUTEX2=0 fixes the issue.

Soveu commented 4 months ago

Looks like GRIS crashes on exit on Experimental without WINEFSYNC_FUTEX2=0 %command% (https://github.com/ValveSoftware/Proton/issues/2516#issuecomment-1987174555)

Ruedii commented 2 weeks ago

@mathew2214 maybe this: https://github.com/xanmod/linux-patches/tree/master/linux-5.13.y-xanmod/futex

I can't say I know if they're up to date, but it looks pretty comprehensive.

Sorry for the late reply, but since I switched to Debian, XanMod is my number one choice of kernel.  It seems to perform very well with steam.