ValveSoftware / Proton

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

Sonic Generations (71340) #380

Open pprotonrep opened 6 years ago

pprotonrep commented 6 years ago

Sonic Generations seems to work quite well (controller support, visuals, gamesaves, etc), besides from very broken, annoying audio after the intro videos.

System information from steam

diegogangl commented 6 years ago

This one is nearly unplayable for me. Besides the broken audio:

My System:

BlazeKl commented 6 years ago

The audio issue is caused by the Esync patches in proton, i think there is a way to disable but you will lose a lot of performance. Though the game itself crashes a lot in windows too.

romulasry commented 6 years ago

Latest beta of Proton (3.7-4 Beta) has good performance now (the DXVK 0.70 update) but the sound issue is still there.

zfigura commented 6 years ago

Depending on the game, esync may not offer a noticeable benefit anyway.

Regardless, can anyone experiencing this bug please attach logs with +esync,+server,+pid,+timestamp,+seh, ideally both with esync enabled and disabled? (If you're not sure how to collect logs, please see the README.)

pprotonrep commented 6 years ago

@zfigura some logs when running with 3.7-3: steam-71340-esync.log.tar.gz

steam-71340-noesync.log.tar.gz

Thanks for looking into this!

pprotonrep commented 6 years ago

On a very subjective note: besides the audio i wouldn't say (no)esync had a big impact on performance.

pprotonrep commented 6 years ago

and here again with 3.7-4:

steam-71340-esync-37-4.log.tar.gz steam-71340-noesync-37-4.log.tar.gz

I didn't experience this on my first report, but the esync version hangs on exit and i have to kill the process (you can see it at the end of the logs).

zfigura commented 6 years ago

Thanks. It looks like this game is one of those that relies on PulseEvent(), which is a known insufficiency of esync. The best solution here is probably just to disable esync; generally (as here) games that use PulseEvent() are old enough that they won't gain anything from esync anyway.

I may be looking into ways to improve the implementation of PulseEvent(), but ultimately it is a horribly broken API and difficult to correctly implement on top of eventfd.

pprotonrep commented 6 years ago

Good to know. Thanks for the prompt feedback!

romulasry commented 6 years ago

https://github.com/zfigura/wine/issues/10

juliotux commented 6 years ago

The problem is related to the esynce and setting PROTON_NO_ESYNC=1 %command% as the launch option, the game runs perfectly and no issue was noted here. System Info

romulasry commented 6 years ago

3.16-1 Proton Beta I get no sound. With PROTON_NO_ESYNC=1 %command% or just nothing.

juliotux commented 6 years ago

Here, testing with Proton 3.16-1 Beta, the sound keeps working fine.

romulasry commented 6 years ago

Found out my system turned down the sound. It is having the same issue with esync off though.

aFoxNamedMorris commented 6 years ago

Enabling PROTON_NO_ESYNC fixes audio for me on Proton 3.16-1 and 3.16-2.

oblitum commented 6 years ago

On Intel HD 7700K CPU, it doesn't start.

oblitum commented 6 years ago

On Intel HD 7700K CPU, it doesn't start.

Game now is running fine. I was hitting this issue ("The detected configuration does not match your current hardware. Please re-run the configuration tool."), to fix I had to remove all .cfg files from game's directory (rm "/mnt/seagate/Steam/steamapps/common/Sonic Generations/*.cfg", and then run the game configuration tool again. Game started with success but with severe audio issues, which were fixed with the mentioned PROTON_NO_ESYNC=1.

romulasry commented 5 years ago

Anyone try the latest beta? Proton 3.16-6 beta?

oblitum commented 5 years ago

@romulasry still working as before for me. Didn't remove PROTON_NO_ESYNC=1 though, see comment above.

jonbitzen commented 5 years ago

I'm able to play the game on 3.16-6 beta as long as I use "PROTON_NO_ESYNC=1 %command%" in the launch options

NoXPhasma commented 5 years ago

With Proton 4.2-3 it's still needed to disable Esync, but then it runs perfectly fine.

Log (with Esync): steam-71340.log Log (without Esync): steam-71340_NOESYNC.log Sysinfo: https://gist.github.com/NoXPhasma/f842039588ff89403b66abae978a4882

PSebs commented 5 years ago

The sound issue is present for me when fsync is enabled. Had to disable both esync and fsync. The game performance chugs without fsync though.

Ruedii commented 4 years ago

This is a clear issue with esync and the audio. Very clear A/B test results on that one.

That means we can mark that as good workaround towards whitelisting.

Performance is still unacceptable, though. I'll have to look further on that.

I heard you can fix performance issues by enabling DXVK9 but I haven't tested it myself. I'll get back later on that.

Frontrider commented 4 years ago

with esync disabled I can measure 15 fps with dxvk. There are games I can play with 15 fps, but sonic is not one of them.

Tinkering with pulseaudio latency is a partial solution I could find, I'll need to do more testing.

soredake commented 4 years ago

Proton 5.13-1, game still broken without disabling {e,f}sync.

romulasry commented 3 years ago

Still broken in Proton Experimental. See issue above.

kisak-valve commented 3 years ago

Sonic Generations "Game files either missing or corrupt please reinstall"

Issue transferred from https://github.com/ValveSoftware/Proton/issues/5021. @dhalucario posted on 2021-07-27T19:48:27:

Compatibility Report

System Information

I confirm:

steam-71340.log.gz

Symptoms

The game seems to launch but gets stuck at "Game files either missing or corrupt please reinstall" grafik

The issue persists even after verifying the game files and running the ConfigurationTool.exe in the games folder. We tried deleting the config files too.

Reproduction

Run the latest Fedora 34 Install steam from RPMFusion

sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
sudo dnf update --refresh --best --allowerasing
sudo dnf install steam

Install the game on steam: https://store.steampowered.com/app/71340/Sonic_Generations_Collection/ Run it from steam

ASOwnerYT commented 3 years ago

Any fixes for this? I'm having the exact same issue as above where I get the error "Game files either missing or corrupt please reinstall".

romulasry commented 3 years ago

Same issue latest Proton Experimental.

Canar commented 2 years ago

https://steamcommunity.com/app/71340/discussions/0/527273452869957799/

Applying this registry patch to Sonic Generations got it to work on my setup.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Sega]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Sega\Sonic Generations]
"locale"="en-us"
"SaveLocation"="%UserProfile%\\Saved Games\\Sonic Generations"

Presuming you have wine installed as well, you can apply this registry patch with

WINEPREFIX=/media/misc/games/steam/steamapps/compatdata/71340/pfx wine64 regedit

or so, substituting for your proper steam folder.

hifihedgehog commented 2 years ago

This was temporarily fixed with the general release stock image of SteamOS on the Steam Deck but is broken yet again if you try installing Sonic Generations after factory restoring from an image with the latest updates applied.

SeongGino commented 2 years ago

I've never encountered the above on Arch, but I will say (either vanilla or modded) that Generations has some odd audio skipping that seems all but completely disconnected from actual game stuttering/shader caching (which isn't much). Noted on latest (as of April 2nd 2022) Experimental and GE_7-10.

Ruedii commented 2 years ago

Audio stuttering is often due to buffer underflow in Pulse or equivalent.

I might file a suggestion that Proton's driver adjust it's stream parameters to prevent this instead of relying on default settings in the system.

SeongGino commented 2 years ago

Audio stuttering is often due to buffer underflow in Pulse or equivalent. I might file a suggestion that Proton's driver adjust it's stream parameters to prevent this instead of relying on default settings in the system.

Even on Pipewire? To be clear, it doesn't seem to affect the sound effects; just the music. But now that I listen, it may or may not be related to/happening around loop points in the track.

Though now that I say this, it seems inconsistent so I'm still hesitating to call it an issue.

Ruedii commented 2 years ago

Yes, because the way the drivers work, music and sound effects use separate streams on some games.

Additionally Video based sound can use a third stream.

You likely just need to increase the buffer size. There are options to do this per program.

On Tue, Apr 5, 2022, 11:56 PM That One Seong @.***> wrote:

Audio stuttering is often due to buffer underflow in Pulse or equivalent. I might file a suggestion that Proton's driver adjust it's stream parameters to prevent this instead of relying on default settings in the system.

Even on Pipewire? To be clear, it doesn't seem to affect the sound effects; just the music. But now that I listen, it may or may not be related to/happening around loop points in the track.

Though now that I say this, it seems inconsistent so I'm still hesitating to call it an issue.

— Reply to this email directly, view it on GitHub https://github.com/ValveSoftware/Proton/issues/380#issuecomment-1089771440, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAYFL2JSHEL7MC4TAQTIJMLVDUDQFANCNFSM4FRMUQAA . You are receiving this because you commented.Message ID: @.***>

ASOwnerYT commented 2 years ago

Replying to https://github.com/ValveSoftware/Proton/issues/380#issuecomment-1003263298

This fixed it for me. For most people the command should be: env WINEPREFIX=/home/USERNAME/.steam/steam/steamapps/compatdata/71340/pfx/ regedit (just need to subsitute USERNAME with your username)

Also I can confirm there are audio issues, hope it gets fixed :)

blastermaster77 commented 2 years ago

Poor performance on steam deck when CPU SMT is enabled, when disable the frame rate is way better could this be implemented in the game? here are videos with smt enabled and disabled. With SMT enabled:

https://user-images.githubusercontent.com/9307070/172783675-a9368385-5826-4979-98bc-2ad0fe70dfee.mov

With SMT disabled:

https://user-images.githubusercontent.com/9307070/172783780-bdaa9e4e-de6c-43e0-8bd5-8c3614ce2c14.mov

Hope this help to get the better experience on sonic generations. Hope there is a way to implemented. 🙃

RealBinsky42 commented 2 years ago

Replying to https://github.com/ValveSoftware/Proton/issues/380#issuecomment-1003263298

Hi there, I've tried using this registry fix to resolve the "Game files either missing or corrupt please reinstall" error on my new factory-fresh Steamdeck, when I load the regedit program I can see that the registry key for Sonic Generations and its saved games location has been added successfully, but I'm still getting the same error. I've tried uninstalling/reinstalling at least five times now, playing with the configuration tool, all the usual steps that people seem to reference, but nothing has worked yet.

I also posted on the Steam discussions page in a bit more depth: https://steamcommunity.com/app/71340/discussions/0/3453716885201797215/

Does anybody happen to have any additional suggestions or tips for getting Sonic Generations to get past this error? I'm really curious if anybody with a factory-fresh Steam Deck has been able to get the program to successfully install and load within the past week or two.

trinukso commented 1 year ago

The game don't start with proton-experimental. Thanks. Captura desde 2023-08-10 10-32-20

Robmike27 commented 9 months ago

Operating System: Manjaro Linux KDE Plasma Version: 5.27.10 KDE Frameworks Version: 5.113.0 Qt Version: 5.15.12 Kernel Version: 6.6.10-1-MANJARO (64-bit) Graphics Platform: X11 Processors: 8 × Intel® Core™ i7-4790K CPU @ 4.00GHz Memory: 23.4 GiB of RAM Graphics Processor: NVIDIA GeForce GTX 980/PCIe/SSE2 Manufacturer: ASUS Product Name: All Series

Running the game with proton experimental tells you to re-run the configuration tool. When attempting to run the tool it will not start and immediately crash. experimental-steam-71340.log

Switching to proton 7 will allow it to only run once during the setup process but never again. proton-7.0-steam-71340.log

Finally with proton 6 I was able to run it with both the setup script and normally through steam. proton-6.3-steam-71340.log

Switching back to experimental and running the game after using the config tool with proton 6 still says to re-run the config tool. steam-71340.log

coffincolors commented 2 months ago

I know it's been a minute but has there been any progress on the PulseEvent() handling with esync enabled? Just wondering because Winlator on Android has been able to successfully boot this game and switching esync on and off is a night and day performance difference, even with D3D11 mod. I'm talking 60fps versus 10fps. Happy to contribute to the efforts, I want to learn!