protonscr

Street Fighter® IV

protonopen appid 21660Game compatibility - Unofficial
ValveSoftware/Proton#4074 · opened 2020-07-16 by guihkx · updated 2020-12-08 · 7 comments · github · game page · search this game
Gguihkx 2020-07-16 github

Compatibility Report

  • Name of the game with compatibility issues: Street Fighter® IV
  • Steam AppID of the game: 21660

System Information

I confirm:

  • [x] that I haven't found an existing compatibility report for this game.
  • [x] that I have checked whether there are updates for my system available.

steam-21660.log

Symptoms

Once you click to "Launch STREET FIGHTER IV" in the game's launcher, an empty black window opens and the game seems to freeze.

Reproduction

Just try launching the game.

SSergioCW 2020-07-20 github

Works for me with PROTON_NO_ESYNC=1

Gguihkx 2020-07-21 github

Yes, of course! I totally forgot to try the game with PROTON_NO_ESYNC=1! Additionally, I also had to set PROTON_NO_FSYNC=1, because I'm using a custom kernel with FSYNC support.

Other than that, it runs pretty amazing. I get a constant 120 fps with no stuttering whatsoever, with the graphics maxed out. Here are the benchmark results:

20200720205459_1

Works beautifully with my DS4 gamepad too! But that's thanks to Steam, I think.

The only thing it doesn't work is online multiplayer, but that's expected since this game has GFWL integration and that's a defunct service.

Zzfigura 2020-09-03 github

It uses PulseEvent(); that's unfixable with esync.

MManagor 2020-12-04 github

So the game now works out of the box, I see.

Gguihkx 2020-12-08 github

So the game now works out of the box, I see.

Yup, it does. Proton now automatically disables esync/fsync for this title. I wonder if these game-specific workarounds are private because I couldn't find them in this repo...

Kkisak-valve maintainer 2020-12-08 github

The runtime config options are being applied by Steam's whitelist config, even though this particular game is not currently whitelisted.

Gguihkx 2020-12-08 github

So this list of workarounds is indeed private? Because I'll be opening a new issue for a different game that also uses PulseEvent() and it'd be awesome if Steam automatically disabled esync/fsync for that one too.

Launch options