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
Final Fantasy XIII [MRTC00003] LLVM PPU and SPU Cache Compilation Does Not Work #14734
Comments
Hey, i have the same problem, i'm on the latest rpcs3 version. Did you manage to resolve the issue? I tried every ppu/spu combination and i can't enter the game, i just crash to desktop while building ppu EDIT: setting ppu to interpreter, and spu to interpreter (dynamic) made the game starts, but i got 15 fps on the first battle, and the game actually froze with no way to advance.. :/ |
The accurate RSX reservation access setting got me past that freeze. 15fps is normal for Interpreters and your experience is valid to how Final Fantasy 13 behaves for a while now. There is no resolution at this time beyond use a build of RPCS3 from before the regression. I had a created issue discussing the regression. |
Ah damn, that's unfortunate, the game is basically unplayable at that frame rate.. what version of rpcs3 can i use to play it decently? EDIT: i reverted to version v0.0.29-15463 following your issue about regression, and the game seems fine, i just started chapter 1. Only thing now is that at higher resolution than default, text is flickering. |
Update: As of build 0.0.29-15748-91dbd921 this title no longer crashes to desktop during PPU module compilation but still gets stuck during SPU module compilation at 3657 out of 4637 modules. Program does not freeze or crash to desktop but SPU module compilation does not progress beyond this point under LLVM reinterpreter. Attached log file is with and without SPU loop detection, I believe. Before, the ASMJIT recompiler was able to launch the game in a playable state, but this is no longer the case. Utilizing ASMJIT recompiler for SPU with LLVM PPU now produces the same result as the LLVM recompiler, hanging on 3657 out of 4637 modules. LLVM PPU with Dynamic Interpreter SPU successfully launches game and is technically playable, though the experience isn't great (similar experience to Interpreter PPU/ASMJIT SPU in the past). |
To clarify, the previous solution of the Interpreter PPU/ASMJIT SPU still works. |
I got in game both PPU & SPU LLVM when using accurate spu dma in the advanced tab. |
do you have other settings enabled? because I still get stuck in building SPU cache... |
Okay i resolved my issue myself by additionally enabling Accurate SPU XFloat |
Same, first boot will get stuck in the SPU part but the next boot will work with Accurate SPU DMA. |
Reconfirmed for myself switching back to Approx XFloat, Accurate SPU DMA is definitely the solution to getting FF13 to run on the LLVM Recompiler, as of this build. With Accurate SPU DMA enabled, all other settings at their default, the game will fail to launch once (getting stuck during SPU Cache Building), but will successfully launch and be playable on a second launch. |
This still crashes for me sadly with LLVM. I tried to enable Accurate SPU DMA, I tried with Approximate XFloat enabled (default was Accurate), and I tried with both settings on. I tried with just Accurate RSX reservation access on, also with Accurate RSX reservation access and Accurate SPU DMA on, and it crashed. It will only work if I copy the cache from the working older build v0.0.29-15463-edf4f7ea I had posted in the closed issue #13842. |
Quick summary
Booting a copy of this game from a clean state does not get past cache compilation when using the LLVM PPU and SPU compilers. The PPU compiler will crash RPCS3 to desktop while the SPU compiler gets stuck.
Details
Hello, I am a new RPCS3 user and was messing around with some game dumps I had and came across this issue when trying to launch FF13. I noticed that two similar issues have already been created but one was closed with no apparent solution and the other is open but hasn't been commented on since July.
Starting the game from a clean state with the default LLVM PPU and SPU recompilers results in the PPU Compiler creating 83/119 modules before hard crashing the whole application to desktop. Attached is the log file showing that a PPU module began compilation when suddenly the program stops.
Clearing the caches and switching the PPU to the Interpreter and keeping the SPU on LLVM with and without SPU Loop detection gets the program past PPU startup but then gets stuck on SPU compilation at 3657/4637 modules. the log files for both of these situations demonstrate a situation where at approx. 34 seconds without loop detection and 1 minute 5 seconds with loop detection, an SPU Worker is terminated due to a fatal error then reports that SPU Workers built 0 programs, at which point I left the program running for approx 3.5-4 minutes each time before I closed RPCS3
Clearing the caches again and switching the SPU to the ASMJIT recompiler (with and without SPU Loop Detection) allowed the game to boot, get past title screen, and actually get into a playable portion of the game. A log file for running without loop detection is included for posterity.
I do not have any personal knowledge about how this stuff works and I have no past experience with running this game in RPCS3 to compare to; I am just providing this information to show the issue that I have experienced, what settings parameters I used, what the program reported in its own log files, and what settings I changed to get the game running.
Attach a log file
RPCS3 Default Settings.log
RPCS3 static PPU LLVM SPU No Loop Detection.log
RPCS3 static PPU LLVM SPU with Loop Detection.log
RPCS3 static PPU ASMJIT SPU.log
Attach capture files for visual issues
No response
System configuration
Windows 11 Pro Build 22621.2428
Ryzen 7 5800X
32 GB RAM
Radeon RX 5700 XT
Other details
RPCS3 Version: 0.0.29-15686-7bb94227 Alpha | master
The text was updated successfully, but these errors were encountered: