Skip to content

Silksong (PPSA12544): "Act 1: Pharloom" title card never shows; no frame is presented for 68 s while the first area loads #3695

Open

Description

@awake-devel

Investigated and written by Claude Code (AI), and posted by me after review.

Title: Hollow Knight: Silksong (PPSA12544), Linux

What happens on the console: after the intro cinematic, the game shows the "Act 1: Pharloom" title card before gameplay starts. Reference (PS5 Pro): https://youtu.be/FZ41MMcxj50 at 1:23.

What happens here: the cinematic ends, the screen stays black, and gameplay appears directly. The card is never seen. The text is otherwise clean (menu and profile text are fixed since #1599), so this is not a font or atlas problem.

What the log shows: the game presents no frame for about 68 s right after the cinematic, while the first area loads:

  • The frame dump (APS5_DUMP_FRAMES_EVERY=30) has a frame at 223.3 s, then none until 291.2 s (67.9 s), then one more at 330.6 s. Normal pacing only returns around 354 s.
  • During that gap, Unity logs Forcing call to sce::Agc::suspendPoint to avoid TRC R5089 breach every 3 s (30 times, from t+255 to t+343 s). That message means the game's render loop has not submitted a frame for a long time.

So the card most likely plays while nothing is presented, or the game skips it because its timer ran out during the load. It is a symptom of the long load, not a missing feature.

Build: a local build from 2026-10-10: main cba8d86 plus what Silksong needs to reach gameplay on Linux. That is #846 (plugin conversion with --module-dir Media/Plugins), #1599, and the sceKernelGetModuleInfoFromAddr st_size change since merged as #3297. The run was user-driven (New Game, cinematic, then gameplay), with the window visible, on an i7-8750H with a GTX 1050 Ti and NVIDIA 580. I have not rerun it on current main yet.

Next step (not done yet): sample the main thread's stack during the black gap to see what the load waits on. The first suspect is synchronous file reads (APR/AIO run synchronously, one stream per read fragment).

I can attach the full log or the window recording if useful.

Activity

  1. oneandonlydean commented on Oct 13, 2026

    @oneandonlydean
    Collaborator

    Does the 68 s gap without a presented frame still happen on current main? Please post the frame-dump times from one run there.

  2. adhimiw commented on Oct 14, 2026

    @adhimiw
    Contributor

    Regarding the frame presentation gap during the initial scene loading:

    On current main, during the asset streaming / initial scene transition, Unity executes intensive synchronous asset reads and recompiler tasks, causing render submissions to pause while background worker threads load assets. In composited environments (e.g. Wayland), vkAcquireNextImageKHR can return VK_TIMEOUT or VK_NOT_READY during these prolonged intervals.

    Previously, this triggered an unhandled exception in VulkanDevice::AcquireImage via check(acquired, "vkAcquireNextImageKHR"). We have submitted PR #5863 to cleanly treat VK_TIMEOUT and VK_NOT_READY as frame-drop conditions so the presentation loop smoothly resumes once scene loading completes.

  3. awake-devel commented on Oct 14, 2026

    @awake-devel
    ContributorAuthor

    Does the 68 s gap without a presented frame still happen on current main? Please post the frame-dump times from one run there.

    I have tested on main yes

  4. oneandonlydean commented on Oct 14, 2026

    @oneandonlydean
    Collaborator

    Thanks. Could you post the frame-dump times from that run and the main commit it was on? That shows whether the gap is still 68 s or shorter now.

  5. mrfelek commented on Oct 15, 2026

    @mrfelek
    Contributor

    Silksong on current main: no frame-dump times yet, the run crashes at startup

    Setup

    • Build: origin/main 44df21632 (2026-10-15), clean worktree, Release, Linux
    • Game: Hollow Knight: Silksong (PPSA12544), relinked with the origin/main relinker
    • Host: Ryzen 9 5950X, RTX 3080 Ti, NVIDIA 615.71.09

    Results

    Run Result
    origin/main libraries, origin/main relink (APS5_DUMP_FRAMES_EVERY=30, New Game pressed by script) crashes about 30 s in, after globalgamemanagers.assets and the Unity resources load (jump to address 0)
    origin/main libraries, relink from the Oct 10 runtime does not crash in 40 s
    origin/main relink, older runtime libraries crashes the same way

    Do you still need help with this? If yes, the next step is finding the null call in the new relink. I can post the crash log and the three run logs.

    AI-assisted; the builds and runs are from my machine.

  6. mrfelek commented on Oct 16, 2026

    @mrfelek
    Contributor

    Update on current main

    AI-assisted: this comment was drafted with the help of Claude Code and checked against the logs by us.

  7. MarcZX10 commented on Oct 16, 2026

    @MarcZX10
    Contributor

    Thanks for testing the #5092 startup fix on Silksong. The #6842 result is useful: the build without the fix crashes before presenting frames, while the build with #6842 runs at about 1,080–1,200 presents per 10 seconds. That separates the startup crash from the original loading-gap report, but the steady rate does not show whether presentation stalled during the cinematic-to-first-area transition or whether the title card appeared. When convenient, could you add the frame-dump timestamps around that transition from the #6842 build and note its exact tested commit? That would close the remaining question without inferring the gap from the later presentation rate. AI-assisted: yes.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions