Repository navigation
Void Terrarium++ (PPSA03042) — Linux opening and dungeon progression #5665
JJenkx
started this conversation in
Game bring-up
Replies: 0 comments
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.
Void Terrarium++ (PPSA03042) reaches its menu, starts New Game and responds to movement in the opening tutorial on Linux with the two peer NGS2 changes below. This is partial bring-up; audio quality and level completion are unverified.
Required open PRs
ac6d3c0a721599c1faaf0dc2f0ef9526535b9861: legacy custom submixer UserFx module0x1d. Its review still asks the author to remove the guessed 24-byte UserFx2 option interpretation; the tests here use this pinned head.9808345fc3a504f9f846e32be91d59c49030b16e: empty waveform batches and cleared-voice matrix levels. Its empty-batch guard fixes the PPSA03042 New Game stop described below. The new matrix case has CPU regression coverage; this title test does not separately establish that it needs that matrix change.Our independently developed empty-batch fork PR 53 is now closed as superseded by #5660. Its original regression, branch and paired evidence remain preserved. No duplicate upstream PR was submitted.
Peer-only production integration
Main
90d0cb4812770a54251c3b91308a2f4b6b5da3b1plus the two pinned peer changes, private headbc738cbbbb2893e020f30eccb89e5c2881743d03. Our production guard was removed before applying #5660; our additional fixture/debt entry remains for comparison. Bundled Release libraries build and all ten NGS2 checks pass without skips.Default shader optimization is enabled. Recorded Cross at 60 seconds starts New Game; a three-second Right input at 110 seconds advances the mouse/camera through the tunnel and clears the Move prompt. Four verified process-owned captures cover the menu, tutorial before/after movement and final advanced scene. The run stays active until its planned 180-second timeout (exit 124), and its temporary kernel setting is restored. No debugger or profiler is attached. This integration does not include our older local graphics/capture/cache/PCM snapshot or shader-optimization changes.
Original failure and paired control
New Game submits sampler parameter
0x10000001, flags zero and zero blocks, while the voice's channel count is still zero. With the original channel-count guard (578443d5c9526bf9639deec892f1292c622c7db4, the same main/UserFx integration), Cross at 60 seconds aborts New Game with exit 134:Restoring only our original empty-batch guard (
942180c79740626f3db48b9b06185973b0c41065) reaches the tutorial and responds to the same movement check. That paired positive repeat ends at its planned 180-second timeout; an earlier positive run closes normally with exit 0 after controls are verified. All ended runs restore the temporary kernel setting. The later peer test above independently replaces that production fix.Full Linux/Windows CI for the superseded standalone fix passes head
c904b0d6a04a135aa9542cc52355346880883753on the listed main: Linux 1062 passed/46 expected skips; Windows 732 passed/398 expected skips, including all ten NGS2 cases on both. These full-platform results apply to our old standalone fix, not to #5660. Expected skips remain unvalidated.Host and limits
Linux
7.2.9-arch1-1, AMD Radeon RX 6650 XT, RADV Mesa26.2.4-arch1.1; previously converted title files retained, no fresh relinker compatibility claim.APS5_PIPELINED_DRAWS=1,APS5_HOST_IMPORT_MIB=16384, temporary Linux udmabuf size limit 8192 MiB, restored to 64 MiB after each ended run.Cold default-mode shader preparation is lengthy; the first main-derived run spends its 600-second limit preparing shaders, and its continuation from that cache reaches the menu. These checks are not a controlled startup/FPS comparison. Separate shader experiments are not required for the peer-only tutorial progress.
Console empty-command validation precedence is unmeasured and recorded in library debt. No pristine-main, full playthrough or sound-quality claim. Private assets, shader binaries, screenshots and raw logs remain local.
AI-assisted testing and code: Codex; each contributor remains responsible for their change and evidence.
Extended peer-only check: a subsequent 420-second run advances beyond the first tunnel onto a large sloped pipe and reaches a vertical object farther along the opening mouse sequence. Verified captures at 293 and 330 seconds establish the new positions; the final 405-second capture is still at that object after a Cross press. No new library exception is observed, and the run ends by planned timeout with the kernel setting restored. A scheduled 210-second capture failed its focus check and is excluded from evidence. Further advancement and the correct action at that object remain unverified; this is not diagnosed as an emulator defect.
Robot interaction follow-up
Using the same peer-only production integration at
bc738cbbbb28(main90d0cb48plus #5139 and #5660), the user backtracked to the robot and pressed Circle; the mouse entered the robot. A verified compositor capture shows the robot scene beyond the previous movement frontier. Frame completion slowed sharply near that transition, but the process ended at the configured 900-second timeout (exit 124), with the temporary kernel setting restored. This is not a verified crash; shader compilation was suggested but was not established by that run's log.A repeat with retained caches, a 1800-second limit, draw timing enabled, and no scripted controller actions has reached a visibly upright robot. At 121–151 seconds, live frame-completion counts continue advancing and the window reports approximately 60 FPS. This confirms progression beyond the earlier interaction; it is not a formal performance measurement, a confirmed cause for the first stall, or full-game stability validation. The repeat remains active at this update.
Dungeon progression
The same active user-controlled repeat has now reached Scrapyard Layer 02. A verified capture at approximately 254 seconds shows the robot, minimap, level 01, HP 23/25 and energy 89/100. The source remains
bc738cbbbb28; no scripted controller actions were issued. The captured log through 261 seconds contains no matching exception, abort, invalid-argument, device-lost or fatal message. This extends the verified frontier from the opening interaction into the dungeon. Draw profiling remains enabled, so this is compatibility evidence rather than a comparative performance test; audio quality and a complete playthrough remain unverified.Later crash near sphere interaction
The profiled repeat subsequently terminated early at 451.76 seconds, launcher exit 139. The host crash record identifies the main game thread,
SIGSEGV/SEGV_MAPERR. The user reports approaching a bubble/sphere that appeared to precede a significant event, possibly an animation or cutscene. The exact trigger and failing component are not identified yet. No core was saved because the inherited core resource limit was zero. The temporary kernel setting was restored to 64 MiB.The Layer 02 progression evidence above still applies, but the run is now terminal and does not establish sustained stability. A repeat on the same production head is starting without draw profiling, with a bounded per-game core limit, to obtain a stack trace if the transition fails again. The separate channel-pointer allocation draft is not loaded in these game runs.
All reactions