RPCS3 / rpcs3

PlayStation 3 emulator and debugger
https://rpcs3.net/
GNU General Public License v2.0
15.65k stars 1.92k forks source link

[Regression] Sega Rally Online Arcade stuck at loading screen permanently #14663

Open GaussTek opened 1 year ago

GaussTek commented 1 year ago

Quick summary

This is similar to this https://github.com/RPCS3/rpcs3/issues/14375, however, from build 0.0.29-15427-39a0ff99 to the latest, the game is stuck at the loading screen no matter what. Before that build (0.0.29-15422-bb2d7063 and below), you could use the restart method in the other issue, and the game worked. Now, it's completely broken.

Something in this hotfix is causing the problem, as starting with the build that included it, the issue became permanent: https://github.com/RPCS3/rpcs3/pull/14414

Many others are having the same issue, doesn't matter if they are using AMD, Intel or Nvidia.

Details

This is the way the game gets stuck in the initial loading scren (from build 0.0.29-15427-39a0ff99 to current one): NPUB30375_screenshot_2023_09_21_18_17_36

And below is with build 0.0.29-15422-bb2d7063 using the restart method NPUB30375_screenshot_2023_09_21_18_18_20

Build with regression

0.0.29-15427-39a0ff99

Attach two log files

Log with build with regression RPCS3.log.gz

Log with build with that works (using restart method) RPCS3.log.gz

Attach capture files for visual issues

No response

System configuration

CPU: AMD Ryzen 4600H GPU: NVIDIA GTX 1650 OS: Windows 11 latest updates. Latest updated Nvidia Driver, but same behaviour occours if using the integrated AMD GPU in my card.

Other details

No response

tij77 commented 1 year ago

Latest 0.0.29-15655 still gets stuck at "loading".

What funny about last "working" version 0.0.29-15422. The game gets stuck on "loading" only if it is the first thing that is ran after RPCS3 starts. If something else was running prior to staring the game, the game will work fine.

What is also interesting ... If the game is the first thing that is ran after RPCS3 starts - there is a way to prevent it from stucking on "loading". Pause then un-pause during SEGA logo animation or Sumo logo animation (see attach log file for this event). This at least allows scripting to start from launchers like Launchbox.

RPCS3.log.gz

This pause/upause trick does not work on later RPCS3 versions.

tij77 commented 1 year ago

I had some time last night to play around some more with 0.0.29-15655 ... and it paid off - put PPU decoder on Static (leave SPU decoder on LLVM Recompiler) ... and everything works fine - no more stucking at "loading" (even if the game is the first one to start) ... log file attached for reference

Tried with 0.0.29-15422 ... same results.

Movies (like Sega or Sumo logos) are a bit choppy ... but these are not important.

Loading tracks is a bit longer too ... but still better than original PS3. RPCS3.log.gz

GaussTek commented 1 year ago

I had some time last night to play around some more with 0.0.29-15655 ... and it paid off - put PPU decoder on Static (leave SPU decoder on LLVM Recompiler) ... and everything works fine - no more stucking at "loading" (even if the game is the first one to start) ... log file attached for reference

Tried with 0.0.29-15422 ... same results.

Movies (like Sega or Sumo logos) are a bit choppy ... but these are not important.

Loading tracks is a bit longer too ... but still better than original PS3. RPCS3.log.gz

Tried setting PPU decoder on Static in 0.0.29-15655 and it didn't work for me. Still stuck on loading no matter what :(. Did you change another additional setting?

tij77 commented 1 year ago

config_NPUB30375.zip

My settings are a bit aggressive towards accuracy ... not sure which of those helped in addition to static PPU

Will test some more to see which additional settings contributed to not beeing stuck on "loading"

tij77 commented 1 year ago

Just tried one more time ... created custom profile for the game ... there i click "Restore Defaults" in bottom left corner ... then just change PPU decoder to "Interpreter (static)" ... and it works for me

So does not seem that any additional "aggressive" settings i posted earlier contributed

Edit: i manage to get stuck once on "loading" after many tries ... but 0.0.29-15655 has a new feature that allows restart from menu (press PS button) - and it clear "loading"

GaussTek commented 1 year ago

Sadly still doesn't work for me. I also created a custom config for the game with restore default settings. Changed PPU decoder to static and nope, still stuck at loading screen with latest version :(

Also tried your custom config without luck.

So maybe that's why some people can't reproduce this, so this is very weird.

Still would be cool it could work without changing the decoder.

tij77 commented 1 year ago

Did you upgrade the game to version 1.01?

GaussTek commented 1 year ago

Did you upgrade the game to version 1.01?

Yep, and same behaviour without the update applied, tried both ways already ;_;. Also tried a fresh install. Guess that as it only happens to some people it won't be fixed at all :c

tij77 commented 1 year ago

FYI mine runs on Latest Windows 11 ... i9-12900K with avx512 and 2080ti

Also tried on Windows 10 ... i7-6700 and 1070

Are you running US or EU version of game ... I am running US one - NPUB30375

GaussTek commented 1 year ago

Yeah, also running latest Windows 11. I have an AMD Ryzen 4600H so that could be the issue.

Also have an Nvidia card though.

Running the US version NPUB30375

Revenge209 commented 1 year ago

I also have this problem. I'm running RPCS3 on Windows 11, and I have an AMD Ryzen 7 6800H with Radeon Graphics as my CPU, and an NVIDIA GeForce RTX 3060 Laptop GPU. I hope this problem is fixed soon.

Dirteebreaks commented 1 year ago

Just tried one more time ... created custom profile for the game ... there i click "Restore Defaults" in bottom left corner ... then just change PPU decoder to "Interpreter (static)" ... and it works for me

So does not seem that any additional "aggressive" settings i posted earlier contributed

Edit: i manage to get stuck once on "loading" after many tries ... but 0.0.29-15655 has a new feature that allows restart from menu (press PS button) - and it clear "loading"

this did the trick for me on 0.0.29-15711 cheers dude!!

GaussTek commented 1 year ago

Any idea is there's progress on this? The PPU decoder to static method doesn't work for everyone :(

Special-Niewbie commented 1 year ago

Hey Folks,

I found the settings that work with the latest updates to get Sega Rally Online Arcade to no longer get stuck on the "loading..." screen. Following the errors in the Log to fix freezes, you can leave all the default RPCS3 settings to get the maximum performance and add the following:

  1. Go to the list, and on the game, right-click and open "Change Custom Configuration," then go to the settings menu on "Advanced." In "Advanced," you need to check 2 "Firmware Libraries" in the list of the first group, these "Firmware Libraries" are called libcamera.sprx and libgem.sprx. Save the settings and close the "Change Custom Configuration" menu.

  2. It's not over, we need to change a setting that is not present in the settings menu because they are hidden (I'm not sure why these settings are hidden), so go back to the game, right-click, and open "Open Custom Config Folder." It will open the folder containing the custom configuration files for each game you have configured. Now open the file "config_NPUB30375.yml" (which is the custom configuration file for Sega Rally Arcade Online, identified by its serial number), and by any Text Editor software, find and modify the entry from HLE lwmutex: false to HLE lwmutex: true.

And boot the game with Custom Configuration created, it will stuck anymore on "loading..." screen.

GaussTek commented 1 year ago

Hey Folks,

I found the settings that work with the latest updates to get Sega Rally Online Arcade to no longer get stuck on the "loading..." screen. Following the errors in the Log to fix freezes, you can leave all the default RPCS3 settings to get the maximum performance and add the following:

1. Go to the list, and on the game, right-click and open "Change Custom Configuration," then go to the settings menu on "Advanced." In "Advanced," you need to check 2 "Firmware Libraries" in the list of the first group, these "Firmware Libraries" are called `libcamera.sprx` and `libgem.sprx`. Save the settings and close the "Change Custom Configuration" menu.

2. It's not over, we need to change a setting that is not present in the settings menu because they are hidden (I'm not sure why these settings are hidden), so go back to the game, right-click, and open "Open Custom Config Folder." It will open the folder containing the custom configuration files for each game you have configured. Now open the file "config_NPUB30375.yml" (which is the custom configuration file for Sega Rally Arcade Online, identified by its serial number), and by any Text Editor software, find and modify the entry from `HLE lwmutex: false` to `HLE lwmutex: true`.

And boot the game with Custom Configuration created, it will stuck anymore on "loading..." screen.

Sadly, that config method didn't work for me, and I tried a clean install, latest version and latest game version too. Still stuck at loading screen no matter what.

It's very weird, but my guess it has to do something with mi processor type (Ryzen 4600H), as the other method above didn't work for me either.

Still, it could be some insight so devs can check out the root of the issue. Perhaps it could be fixed at a later build.

Thanks

Special-Niewbie commented 1 year ago

Hey Folks, I found the settings that work with the latest updates to get Sega Rally Online Arcade to no longer get stuck on the "loading..." screen. Following the errors in the Log to fix freezes, you can leave all the default RPCS3 settings to get the maximum performance and add the following:

1. Go to the list, and on the game, right-click and open "Change Custom Configuration," then go to the settings menu on "Advanced." In "Advanced," you need to check 2 "Firmware Libraries" in the list of the first group, these "Firmware Libraries" are called `libcamera.sprx` and `libgem.sprx`. Save the settings and close the "Change Custom Configuration" menu.

2. It's not over, we need to change a setting that is not present in the settings menu because they are hidden (I'm not sure why these settings are hidden), so go back to the game, right-click, and open "Open Custom Config Folder." It will open the folder containing the custom configuration files for each game you have configured. Now open the file "config_NPUB30375.yml" (which is the custom configuration file for Sega Rally Arcade Online, identified by its serial number), and by any Text Editor software, find and modify the entry from `HLE lwmutex: false` to `HLE lwmutex: true`.

And boot the game with Custom Configuration created, it will stuck anymore on "loading..." screen.

Sadly, that config method didn't work for me, and I tried a clean install, latest version and latest game version too. Still stuck at loading screen no matter what.

It's very weird, but my guess it has to do something with mi processor type (Ryzen 4600H), as the other method above didn't work for me either.

Still, it could be some insight so devs can check out the root of the issue. Perhaps it could be fixed at a later build.

Thanks

Sorry to hear that the configuration method didn't work for you. I've conducted experiments on various PCs, and indeed, results can vary. The configuration that worked for me was on latest AMD Ryzen APU with the latest PS3 firmware (4.90). However, on an INTEL/NVIDIA 3050 (also a laptop), I had to switch from Vulkan to OpenGL to get the game to start, so the settings I found weren't sufficient.

I have another suspicion that the C-state might also be a factor.

You could try switching from Vulkan to OpenGL with the settings I mentioned. If that doesn't work, consider disabling the C-state from the BIOS. The laptop where the application worked for me had the C-state disabled, which resolved other issues in different emulators. I suspect that the C-state might play a role in causing problems during semi-dormant states like loading screens. This could be a temporary fix, but of course, I hope the developers take these issues into account for future builds.

elad335 commented 1 year ago

Does HLE lwmutex really affect this? upload log dump of kernel explorer when freezed with it off, to do this go to Utilities -> Kernel Explorer -> press Log All and then upload log.

Special-Niewbie commented 1 year ago

Does HLE lwmutex really affect this? upload log dump of kernel explorer when freezed with it off, to do this go to Utilities -> Kernel Explorer -> press Log All and then upload log.

I tried the emulator on a third laptop PC with an Intel CPU and dual Nvidia GTX 1070 in SLI. And I confirm (keeping the two mentioned libraries enabled as before) that if I disable the entry in the configuration file HLE lwmutex, the game gets stuck on the "Loading..." screen. On the other hand, if I set HLE lwmutex to true, the game starts; therefore, this setting affects the game's startup.

To recap, on the third computer, I have the following settings:

  1. The latest Nvidia GPU drivers.
  2. The latest clean RPCS3 version installed without updating from older versions.
  3. The latest PS3 Firmware 4.90. Below, I have attached the logs generated both when the game froze on the loading screen with the entry HLE lwmutex: false and when the game started with HLE lwmutex: true. Below I have attached the files and also included my custom settings to launch Sega Rally Arcade Online (take out the .txt in the end of the custom configurations file, because github doesn't allowed me to upload the ".yml" file).

Now, I have this scenario, on two PCs with completely different hardware, the game starts, and the hardware is as follows:

For the second computer, which initially started the game and now doesn't want to start (it stuck on Loading... screen), I'll try installing RPCS3 from scratch. I'll delete the old version and install everything as if it were new (I'll keep you updated).

config_NPUB30375.yml.txt HLE lwmutex FALSE - Log All - Laptop Intel_Nvidia 1070 SLI .log HLE lwmutex TRUE - Log All - Laptop Intel_Nvidia 1070 SLI .log

Special-Niewbie commented 1 year ago

Does HLE lwmutex really affect this? upload log dump of kernel explorer when freezed with it off, to do this go to Utilities -> Kernel Explorer -> press Log All and then upload log.

I tried the emulator on a third laptop PC with an Intel CPU and dual Nvidia GTX 1070 in SLI. And I confirm (keeping the two mentioned libraries enabled as before) that if I disable the entry in the configuration file HLE lwmutex, the game gets stuck on the "Loading..." screen. On the other hand, if I set HLE lwmutex to true, the game starts; therefore, this setting affects the game's startup.

To recap, on the third computer, I have the following settings:

1. The latest Nvidia GPU drivers.

2. The latest clean RPCS3 version installed without updating from older versions.

3. The latest PS3 Firmware 4.90.
   Below, I have attached the logs generated both when the game froze on the loading screen with the entry HLE lwmutex: false and when the game started with HLE lwmutex: true. Below I have attached the files and also included my custom settings to launch Sega Rally Arcade Online (take out the .txt in the end of the custom configurations file, because github doesn't allowed me to upload the ".yml" file).

Now, I have this scenario, on two PCs with completely different hardware, the game starts, and the hardware is as follows:

* First Computer (OK)> Ryzen Z1 Extreme CPU/APU with integrated GPU 780M.

* Second Computer which initially started the game but now refuses to start regardless of the changes I make in the settings (NOT OK YET)> Intel Core i7-11370H CPU and integrated Intel GPU/dedicated Nvidia RTX3050 GPU.

* The Third Computer (OK)> Intel Core i7-8750H CPU and GPU (Double (SLI)) NVIDIA GeForce GTX 1070 x2.

For the second computer, which initially started the game and now doesn't want to start (it stuck on Loading... screen), I'll try installing RPCS3 from scratch. I'll delete the old version and install everything as if it were new (I'll keep you updated).

config_NPUB30375.yml.txt HLE lwmutex FALSE - Log All - Laptop Intel_Nvidia 1070 SLI .log HLE lwmutex TRUE - Log All - Laptop Intel_Nvidia 1070 SLI .log

I have conducted numerous tests, and on my computer with an Intel 'Core i7-11370H CPU and integrated Intel GPU/dedicated Nvidia RTX3050 GPU,' I experience highly inconsistent behavior. That is, as soon as I find an element related to GPU behavior that I can change, the game starts; however, the second time, it fails to launch. I have figured out why this behavior occurs. On this computer, I have installed Nvidia's 'Studio' driver (as I primarily use this computer for work), which prioritizes CUDA drivers for professional use. Consequently, without having the 'Game Ready' drivers installed, as in my other Intel/Nvidia computer, some features crucial for gaming are missing, impacting the functionality of certain games.

For now, I am happy with this setup because, in any case, the other 2 computers I use for leisure it work well with Sega Rally Arcade/ RPCS3. Additionally, a small part of the issue is also attributed to the C-State concerning this game.

Below, I have attached an image showing the errors that persist while the game is running, and I believe these errors affect the stability and functionality of the game itself.

Sega Rally Arcade Online errors
QUAKEULUS commented 1 year ago

Thanks for the fixes, I'm able to start the game, but some races still hang, like championship snow.

I haven't u updated the game to 1.01 yet

image

Special-Niewbie commented 1 year ago

Thanks for the fixes, I'm able to start the game, but some races still hang, like championship snow.

I haven't u updated the game to 1.01 yet

image

You have to disable the CPU "C-State" from your BIOS, if you cannot find from the BIOS you have to use a software.... but first check in your BIOS the voice related to the "C-State" and Disable it. After that you shouldn't experience any hang.

QUAKEULUS commented 1 year ago

You have to disable the CPU "C-State" from your BIOS, if you cannot find from the BIOS you have to use a software.... but first check in your BIOS the voice related to the "C-State" and Disable it. After that you shouldn't experience any hang.

I just tried that (it's under AMD CBS for asus and 5800x3d) Same issue.

Launch game Single Player > Championship > Citroen 2004 > AT transmission, beat first 2 races, 3rd race hangs

Special-Niewbie commented 1 year ago

You have to disable the CPU "C-State" from your BIOS, if you cannot find from the BIOS you have to use a software.... but first check in your BIOS the voice related to the "C-State" and Disable it. After that you shouldn't experience any hang.

I just tried that (it's under AMD CBS for asus and 5800x3d) Same issue.

Launch game Single Player > Championship > Citroen 2004 > AT transmission, beat first 2 races, 3rd race hangs

From my side I can continue in that race with the same choices that you listed.

Consider that this could be a temporary around solution, but here the devs I hope consider to do something....

Special-Niewbie commented 9 months ago

I wouldn't want to be a party pooper, but if before, for better or for worse, the game was working, now with the latest update or solution, Sega Rally always stops at the Loading... screen. I wouldn't want to think that those who tested the new solution (for which I sincerely thank and also thank those who made the modification) applied a modification that temporarily fixed the issue on the test machine. I also tried to install RPCS3 from scratch, but for now, it doesn't work anymore on two PCs (Sega Rally stuck on Loading screen). Is there anyone else experiencing the same problem?

AniLeo commented 9 months ago

Just to test, what if you set "Sleep Timers Accuracy" to "All Timers" on the Advanced tab?

Special-Niewbie commented 9 months ago

Just to test, what if you set "Sleep Timers Accuracy" to "All Timers" on the Advanced tab?

Lemma test, I will go back to you.....Thank you

GaussTek commented 9 months ago

Sadly, this doesn't work for me either, tried a clean install with latest version, not even PPU decoder to "Interpreter (static)" works. The latest build that works for me is 0.0.29-15422-bb2d7063.

Is this CPU related in this case? Like I said in op, I have an AMD Ryzen 4600H

Edit: The "Sleep Timers Accuracy" to "All Timers" suggestion does nothing for me :(

Special-Niewbie commented 9 months ago

Just to test, what if you set "Sleep Timers Accuracy" to "All Timers" on the Advanced tab?

@AniLeo , after all the tests including your last suggestion which doesn't have any effect on all 3 machine that I tested; here I have conducted several tests on three different PCs, which are as follows:

Desktop = Intel CPU / Dual Nvidia 1070 GTX Rog Ally Handle PC = Z1 Extreme APU Laptop = Intel CPU/GPU & Nvidia 3050ti GPU

Here are the results:

  1. On Desktop 1, updating RPCS3, I didn't notice any differences between this latest version and the one before this fix. It started before and it starts now. It is unstable in the same way, meaning the game always starts on this PC, but there were instances where, after letting the game run without pressing start, it pointed to a Loading... screen. So, the game started 3 times without issues, and 1 time it froze after a while on a black screen during loading.

  2. Rog Ally has issues with the latest RPCS3 updates, and the game no longer starts, remaining frozen on the Loading... screen. However, this is a problem with Rog Ally's drivers because sometimes I get notifications about Vulkan driver issues due to them not being updated by Asus. If I install the latest unofficial AMD updates for Rog Ally, the game and RPCS3 start, and everything works fine.

  3. I've conducted many tests on this laptop, and it consistently gives me problems preventing Sega Rally from starting, always freezing on the Loading... screen. Sega Rally rarely starts on this laptop, and if the game starts from the second boot, it doesn't start again. I believe the issue with this laptop is also due to the fact that the drivers are not the official Nvidia ones, but Microsoft releases Nvidia drivers (as it is a Microsoft laptop).

In conclusion, these changes might improve the behavior on some devices, but RPCS3/Sega Rally online appears to be unstable with consistently varying results. I'm not sure exactly what the issue could be, whether it's a driver problem or errors in the log that the game doesn't like, causing these performance instabilities. However, the behavior of this game is indeed strange.

GaussTek commented 9 months ago

^ If this also freezes on Intel CPUs, could this be related to GPU drivers then? I have an NVIDIA GTX 1650 GPU, but I do use the latest official drivers from Nvdia, so I dunno what could be the issue here.

For what's worth, Xenia sometimes also freezes as this screen, but it's more rare, and it just works after a restart. However, there are other issues with this emu and the game, like half fps on gameplay, so it's not currently an option.

It's indeed pretty strange, dunno what's going on with this specific game lol.

tij77 commented 9 months ago

0.0.30-16090 works fine for me on 12900K with 2080ti ... just a note - my CPU has e-cores disabled (for AVX512) and hyper-threading disabled too.

tij77 commented 9 months ago

0.0.30-16091 does not work on i7-6700 with 1070 (get stuck on Loading) Windows 10 ... unless i use "Interpreter (Static)"

PS 12900K system where it does work run Windows 11

tij77 commented 9 months ago

Sorry ... spoke too soon ... on 12900K 2080ti win11 ... if it's the first game to start after launching RPCS3 it will get stuck on Loading ... closing it and starting it again will make it run OK

Otherwise, it runs fine.

This behavior dissapears if use Interpreter (Static)

RipleyTom commented 8 months ago

Can you try using the latest version again?

GaussTek commented 8 months ago

Still freezes for me no matter what using latest 0.0.31-16190-4cfdb71d build. Tried both PPU static and LLVM.

Seems like this is hard to fix (. Like I said in my original post, before I could at least run the game after a restart (I still have stored that build), but this fix triggered the permanent issue: https://github.com/RPCS3/rpcs3/pull/14414

Ninetime commented 6 months ago

I've recently re-tested this with 0.0.32-16546 and the issue is still occurring. Log here: RPCS3.log.gz

mooock commented 2 months ago

really don't get this issue, all settings i tried within RPCS3 will get stuck at the loading screen. but launching it from Launchbox it works fine

Ninetime commented 2 months ago

I've re-tested this on 2 separate machines but am getting mixed results. On one machine, the error has yet to reappear after the initial occurrence during testing: RPCS3-SRO-Nine-Works.log

On the other machine i can successfully reproduce the error and the fix. That being re-opening the game after it softlocks without closing RPCS3: RPCS3-SRO-NJP-Fail.log RPCS3-SRO-NJP-Sucess.log

ezdahmad commented 2 months ago

really don't get this issue, all settings i tried within RPCS3 will get stuck at the loading screen. but launching it from Launchbox it works fine

same, I've tried all settings within RPCS3, will get stuck at the loading screen, BUT launching it from ES-DE (emulation station) works fine, Still not perfect, it still gets stuck but works 90% of the times.

Tried both US and EU version, same behaviour, Also tried with both of the US versions: 1.0.0 and 1.0.1, though after the update, I had to remove the custom game configuration, and then create a new one (my custom config is just setting v-sync and 4k resolution),, it also did work with the default config. but not with the custom game config before deleting it and recreating it again.

During my extensive tests I was getting some bizarre results, It worked only on version 1.0.0, I would create a custom game config, go to CPU/Preferred SPU Threads and just change it to any value, and I would pass the loading screen. but again, if I restart the game, it will get stuck again, so I would go back to "Preferred SPU Threads" and change it to any other value and I would pass the loading screen again.