Dolphin, the GameCube and Wii emulator - Forums

Full Version: A plea to the developers - Re-instate Enable Idle Skipping
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
As of this moment Resident Evil 0 is completely broken, at least for me in newer builds and I will go into detail why it is broken below.

Back when Enable Idle Skipping were an option still found in Dolphin, you had to turn it OFF enable to progress in Resident Evil 0 to avoid crashes but today it is always ON with no way of turning it OFF.
(Believe me I have already tried the SyncOnSkipIdle = False setting in the .ini file, still crashes)

OK so Enable Idle Skipping were removed, the temporary solution was JITIL Recompiler but as we all know that option got canned too leaving no other option than to use older builds which is no fun because I don't want to have several builds of Dolphin for several games, it's like having several GameCubes just because some of them fails to play certain games.

If you check this bug report (https://bugs.dolphin-emu.org/issues/10129) I made a test scenario with 5.0-910 before Enable Idle Skipping got canned which looks like this:

1st test case scenario:
"JIT Recompiler (recommended)" selected with "Enable Idle Skipping" ON = CRASH

2nd test case scenario:
"JIT Recompiler (recommended)" selected with "Enable Idle Skipping" OFF = NO CRASH

3rd test case scenario:
"JITIL Recompiler (slow, experimental)" selected with "Enable Idle Skipping" ON = NO CRASH

4th test case scenario:
"JITIL Recompiler (slow, experimental)" selected with "Enable Idle Skipping" OFF = NO CRASH

Since "Enable Idle Skipping" is always ON these days that's why it crashes with "JIT Recompiler (recommended)" selected.

On newer builds with JIT Recompiler it's really easy to reproduce the crash:

1. Start a new game
2. Play til you have to use the panel opener on the train in order to proceed with the game (takes around 10-15 minutes to get there)
3. A cut-scene should trigger but Dolphin crashes

(Here's a memory card save if you're lazy though, https://bugs.dolphin-emu.org/attachments...dA.EUR.zip)

Dolphin have gone through some serious changes since 5.0-910 and the majority of the changes are for the better but when you can't even use options that are lacking enable to play a game properly anymore, that makes me pull my hair off.

So please, reconsider re-instating Enable Idle Skipping because I think there are other games more than Resident Evil 0 that are affected.

Thanks in advance!
It's a bug if idle skipping enabled has any effect on a game.
I'd rather have the bug fixed than re-implement a shitty workaround for one game that just hides the issue so everybody forgets about it.
I know it's going to be painfully slow, but this sounds like a JIT optimization bug... does the bug happen on cached interpreter and friends?
(08-02-2017, 01:46 AM)JMC47 Wrote: [ -> ]It's a bug if idle skipping enabled has any effect on a game.

I really wish I could fix it, I really do...

(08-02-2017, 02:02 AM)Helios Wrote: [ -> ]I'd rather have the bug fixed than re-implement a shitty workaround for one game that just hides the issue so everybody forgets about it.

Who said something about hiding? There's likely a JIT timing issue somewhere yeah, and I agree with you that it needs to be fixed but as of right now I'm not sure how long it could take to fix it so basically Resident Evil 0 could be broken for a long long time due to other priorities the Dolphin team has.

It's not like I ask you to re-instate JITIL Recompiler or D3D12, it's Enable Idle Skipping a rather simple option and the minimum effort would be reverting pulls 3806, 4329 and 4529
And if you find out what's causing it to happen and fix it then you can wipe the Enable Idle Skipping option from the face of the earth.

(08-02-2017, 02:05 AM)JMC47 Wrote: [ -> ]I know it's going to be painfully slow, but this sounds like a JIT optimization bug... does the bug happen on cached interpreter and friends?

It's probably a JIT timing issue yes, and no Dolphin doesn't crash with Cached Interpreter (slower)


Look guys, I'm not asking you to re-invent the wheel here so if you don't want to re-instate Enable Idle Skipping what should I do to play the game on newer builds?
I don't want to be stuck with ancient builds and miss out all the good stuff that gets implemented.
If you absolutely have to be able to play this game and you absolutely have to use the newest builds, then the answer is simple.

Run 2 Dolphins one to play this game (until the bug is fixed) and the other the get all the features you want on the other games. Maybe it comes from using emulators since the early days of PS1 emulation but running multiple builds to get around regressions was common and there used to be lists of which build you would need to run which game. (or in the case of one game in particular which 2 different emulators and 3 builds to run 1 game.... Xenogears was a problem game back in the day)
(08-02-2017, 03:21 PM)TKSilver Wrote: [ -> ]If you absolutely have to be able to play this game and you absolutely have to use the newest builds, then the answer is simple.

Run 2 Dolphins one to play this game (until the bug is fixed) and the other the get all the features you want on the other games. Maybe it comes from using emulators since the early days of PS1 emulation but running multiple builds to get around regressions was common and there used to be lists of which build you would need to run which game. (or in the case of one game in particular which 2 different emulators and 3 builds to run 1 game.... Xenogears was a problem game back in the day)

It's doable I guess, but I don't like redundancy and don't know what I should call the folder which is only gonna be for one game when I call my current Dolphin folder (5.0-3318) which plays every GameCube game "Nintendo GameCube"
See, I label my "emulators" as Consoles and it's a very strict hierarchy and name policy I have.

I'll just use a .bat file to switch catalog names before starting so they're both called Nintendo GameCube in my .bat file loaders.
Adding a work-around reduces motivation to try to fix it. We have limited people to work on the JIT, would you rather them spend time reverting stuff or actually trying to make a sustainable fix?
(08-02-2017, 04:30 PM)JMC47 Wrote: [ -> ]Adding a work-around reduces motivation to try to fix it. We have limited people to work on the JIT, would you rather them spend time reverting stuff or actually trying to make a sustainable fix?

At first I was thinking more of an compromise, but if you think it should truly be gone then I'll just use 5.0-910 for just this game and latest development builds for all my other Nintendo GameCube and Nintendo Wii games.

I don't know why just Resident Evil 0 is so sensitive at these specific parts because it crashes at other areas too and no other games in my collection suffer from this.

So to sum things up:

1. JIT Recompiler with Enable Idle Skipping which is always ON today crashes the game at the exact same spots
2. You got a memory card save just before you have to use the panel opener on the train to trigger the crash which could lead to more clues faster
3. We know that something is off with JIT so we have narrowed it down to that at least

I really hope you can find the source to this problem and squish it once and for all, I wish you good luck and I look forward to the day when it's solved.
Yep, is there an issue report setup for this that I can put as higher priority?
Pages: 1 2