Repository navigation
Disney Epic Mickey: Rebrushed (PPSA15657) on Linux #2255
johnmaia
started this conversation in
Game bring-up
Replies: 1 comment
|
Update: the game now reaches the first level and gameplay. Continue loads Dark Beauty Castle, the opening scene in the Mad Doctor's lab plays with sound, and then Mickey is playable. One run stayed in the level for 44 minutes without an error. Clips with sound: opening scene, gameplay. What changed since the last update (details in the post above):
|
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment

Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Tested
sce_moduleandprx(libfmod, libfmodstudio).Status
Reaches the first level and gameplay on Linux. Warnings, logos and the opening cinematic play. "Press X to start" opens the main menu, and Continue loads Dark Beauty Castle. The in-engine opening scene in the Mad Doctor's lab plays with sound, and then gameplay starts with Mickey in the third-person camera. One run stayed in the level for 44 minutes without an error, until the test script's time limit stopped it.
Two things are needed for that today:
APS5_NO_HOST_IMPORT=1. With host import on, pressing Cross at the title ends in an Unreal fatal error in most runs (UE4 title (PPSA15657): LowLevelFatalError "RemoveFromOuterMap NumRemoved = 0" when the title screen opens the menu #2365, open issue E).The image fills only the middle 1152x648 of the 1920x1080 window (open issue G).
Clips with sound (2.5 min each, about 5 fps): opening scene, gameplay.
Earlier screenshots:
How to run it
The
mickey/testingbranch ismainwith the pull requests below merged, plus these testing-only commits. It is a testing branch, not for merging.PA_CL_VS_OUT_CNTL, and prepared at draw when a layout was not prepared ahead (details on feat(agc): vertex clip and cull distances #423).Run with
APS5_NO_HOST_IMPORT=1. The first launch compiles about 4,100 shaders. The title screen comes up after about 15 minutes, with or without the shader cache, because loading dominates.Performance
First level
Measured in the opening scene, 5-15 minutes after Continue, with host import off:
GuestMemory::WriteChanged) took 43% of the thread, at about 1 ms per MiB. Together with thememcmpandmemmoveof refreshing the mirrors, memory sync was about 59% of the process's CPU time.#2481 stores those changes 16 bytes at a time (SSE2
MASKMOVDQUfor partly changed chunks):The rest is the round trip itself: each heavy dispatch copies a buffer in from guest memory, runs, and writes it back. Host import avoids that by sharing the memory, so fixing #2365 should matter for speed as well as stability.
Boot and title screen
On Linux kernels before 6.11,
GuestMemory::describePageshas noPROCMAP_QUERYand re-reads/proc/self/mapson every query. This title has about 5,400 mappings (518 KB of text), and about 85% of the busiest thread went into parsing it. #1810 (with #861) caches the results, as the Windows path does:On kernel 7.0, which has
PROCMAP_QUERY, the build without #1810 runs about the same as with it on 6.8. #1810 matters on kernels before 6.11, which includes Ubuntu 24.04's default kernel.Open issues
s_swappc_b64(#1817)RemoveFromOuterMap NumRemoved = 0fatal error when Cross opens the menu (#2365)APS5_NO_HOST_IMPORT=1: 0 of 5 runs, against 5 of 8 with import on. Cause not found yetPull requests
Everything the title needs on top of
main:Shader preparation:
Shaders:
Rendering:
Memory and performance:
describePagesresults, with fix(guest-arena): place guest address space in the PS5 window on Linux #861 (guest arena in the PS5 window on Linux)Relinker and libraries:
Tested on a contributor's machine with Claude (AI assistant).
All reactions