Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG]: Utilizing Fast Forward with Optimal Frame Pacing Enabled Results in Deadlocking Application in Windows with Vulkan Backend in Fullscreen #12182

Open
dreamsyntax opened this issue Jan 11, 2025 · 1 comment

Comments

@dreamsyntax
Copy link
Contributor

dreamsyntax commented Jan 11, 2025

Describe the Bug

The emulated game will have stopped working, and any Visuals in PCSX2 UI will be unresponsive. You will be unable to exit PCSX2's Fullscreen mode.

Viewing in Task Manager will not show the program as (Not responding), and you will see CPU activity fluctuations for the process.
Right clicking the Start Menu PCSX2 and choosing close will not trigger the savestate dialog popup. The program is effectively unresponsive.

Reproduction Steps

On Windows only, using PCSX2 2.2.0+ (tested and reproduced on v2.3.86, and v2.3.89)

The issue was NOT reproducible using the official PCSX2 flatpak on Linux on the same hardware using the same dGPU.

Reproduced on:
Windows 11 24H2
13th Gen Intel(R) Core(TM) i9-13900HX 2.20 GHz
32GB RAM
NVIDIA 4080M (dGPU) with driver 566.36
This was on a Legion Pro 7i Gen 8 laptop, in dGPU (MUX) mode, with the iGPU fully disabled.
The display used was an external display running at 120Hz, incase that matters.

My fast forward speed was set to 400% as the limit. In my test title (The Sims 2 - SLUS-20573), Fast Forward Toggle is used with a Global Hotkey on my controller and used very often. Switching it on/off rapidly many times within a short time.

While running an emulated title:

  • on Windows only
  • in Fullscreen
  • Optimal Frame Pacing and VSync enabled
  • using the Vulkan Backend
  • where Fast Forward feature (controlled % turbo) is used at least once
    Running the session for a random amount of time PCSX2 will become deadlocked.

The deadlock can occur while in Fast Forward, or while in normal 100% speed state. It occurs randomly seemingly unrelated to the last trigger of Fast Forward enable/disable. It can be as fast as 10 seconds, or as slow as 1hour+, making this a pain to debug.

Expected Behavior

PCSX2 does not randomly deadlock when Optimal Frame Pacing is enabled and the Fast Forward feature is used at least once.

PCSX2 Revision

2.3.89

Operating System

Windows 11

If Linux - Specify Distro

Arch - CachyOS tested

Logs & Dumps

First minidump on v2.3.86 [v2.3.86 / commit f3632c4] (windows):
https://drive.google.com/file/d/1QLSBaUqZm8UfofIpDaFFWr5m7OIJ3tkW/view?usp=sharing

I have a different minidump on v2.3.89 (windows) that hangs on MTGS::PostVsyncStart(registers_written); or within MainWindow::VMLock MainWindow::pauseAndLockVM() but I may be interpretting it wrong, minidump available here:

https://drive.google.com/file/d/1f0O46Em01zhMmTaOmpHFoWCeM61cPaP9/view?usp=sharing

@dreamsyntax
Copy link
Contributor Author

dreamsyntax commented Jan 11, 2025

Forgot a key mention - @F0bes was helping me look into this during initial discussions on Discord.
F0bes suggested disabling Optimal Frame Pacing, and I was able to test 4+ hour session confirming that disabling Optimal Frame Pacing prevents the issue from occurring.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants