Skip to content

docs: record DOOM homebrew integration compatibility - #690

Merged
adriadam10 merged 2 commits into
boykopovar:mainfrom
nicolasabosch:docs/doom-homebrew-compatibility
Oct 11, 2026
Merged

adriadam10 merged 2 commits into
boykopovar:mainfrom
nicolasabosch:docs/doom-homebrew-compatibility

Conversation

@nicolasabosch

Copy link
Copy Markdown
Contributor

What

Add DOOM Shareware homebrew PPSA99666 01.001.000 to the tested compatibility list. Record the verified Windows 11 / RTX 4070 E1M1 result, movement and shooting, and the pending integration requirements (#553, #683, #684 and #685). The entry explicitly describes an integration build rather than claiming current main can run the title.

Document the observed cold-start CPU scaler fallback and nonterminating startup diagnostic. Leave Linux and untested hardware unknown; audible audio and extended gameplay were not verified. Link the actual gameplay captures from #685 without adding image files to the repository.

Tested

Documentation only. Reviewed against the previously completed integration run and its logs/screenshots; checked the Markdown table column count and ran git diff --check. No new runtime tests or performance benchmark performed for this documentation change.

In-game screenshots

Final integration build, E1M1:

DOOM E1M1 on the final integration build

After movement and shooting:

DOOM E1M1 after movement and shooting

Checklist

@github-actions github-actions Bot added the docs label Oct 5, 2026
@NahuelGenchi

Copy link
Copy Markdown
Contributor

Hi @nicolasabosch, I'd like to try this DOOM Shareware homebrew on Linux with an older AMD card (R9 380, GCN, RADV), since that column is still unknown. Where did you get the PPSA99666 package from? Is it a public homebrew release or something you built yourself? If there's a source repo or a release link I can use, I'll report back how it goes on Linux.

@adriadam10 adriadam10 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for documenting this. A few things to fix before it can go in:

  • docs/user/COMPATIBILITY.md:8 says #553, #683, #684 and #685 "are not yet merged into main", but all four are merged now (#553 on 10-06, #683 and #685 on 10-06, #684 on 10-07). The paragraph and the "pending dependencies" status in the table row (line 6) are out of date.
  • Please re-run the title on current main and record that result instead of the integration build, or say plainly which build you tested. Drop the dependency list if it no longer applies.
  • @NahuelGenchi asked where the PPSA99666 package comes from. Please answer on this PR and, if there is a public source, link it in the entry, so others can reproduce the result.
  • The cold-start CPU scaler fallback and the UCRT invalid-parameter diagnostic: if they still happen on main, open an issue and link it; if they don't, remove the paragraph.

We can't run Windows/NVIDIA here, so the Windows result itself is not verified on our side.

@hikazey

hikazey commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

Linux result for the entry, in case it's useful (DOOM Shareware PPSA99666, release v1.1.1 / content version 01.001.001):

AI-assisted: yes (Claude Code).

@MarcZX10

MarcZX10 commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

Additional reproducibility details from #1497: the public source for PPSA99666 is lowbit/ps5-doom, release v1.1.1 (content version 01.001.001). A Linux run reached E1M1 on main 0e173a46 plus #1278, #1279 and #1307, using --exclude-sce-module libc.prx; movement and firing worked. That run used llvmpipe in an Ubuntu 24.04 container, so it does not establish Linux hardware-GPU performance. The CPU-scaler fallback was observed there after the first AGC frame did not complete.

For the compatibility entry, distinguish that Linux v1.1.1 run from the Windows integration run for version 01.001.000. #553, #683, #684, #685, #1278 and #1279 are merged; #1307 is still open, so the Linux result is not a current-main-only run. I can't verify a Windows run on current main from the evidence in this PR.

@babyhuey

babyhuey commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

The cold-start CPU scaler fallback comes from the presentation kernel being compiled at its first dispatch. Measured on Windows 11, RTX 3080, main d70b899, GPU otherwise idle:

run shader disk cache presentation title FPS
1 (cold) 0 hits, 1 miss, 1 write gpu: frame 1 never completed, then video: GPU presentation failed, switching to the CPU scaler 59.9
2 (same work dir) 1 hit, 0 misses AGC compute presentation, no fallback 43.6
3 (same work dir) 1 hit, 0 misses AGC compute presentation, no fallback 40.1

Run 1 also logs Compute shader 0x202a81800 was not registered; preparing its artifact at dispatch, so the first frame waits on that compile and DOOM's frame 1 wait expires first. With the artifact in shader_cache, the same kernel completes and the title stays on GPU presentation. No BDA, import or write-back errors appear in any of the three runs, so this is separate from the Linux /dev/udmabuf case in #1688. The title screen renders correctly in all three.

@github-actions

github-actions Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Other open pull requests touch the same code. Merging one will break the other, or both implement the same thing. If this one builds on them, list them in Depends on.

Pull request Conflicting files (lines on main) Same exports Same new files
#2055 docs/user/COMPATIBILITY.md L5

@ycbuzi

ycbuzi commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

Another Windows data point, aimed at the two things this entry lists as unverified: save/load and extended gameplay. This was an integration build, not current main — main 2edaf7f4 plus a local stack of open PRs — on Windows 11, RTX 4070 SUPER, with a DualSense connected. DOOM Shareware PPSA99666, release v1.1.1 (content version 01.001.001).

Save/load round-trips. The title wrote /download0/doom1sav0.dsg (81,550 bytes) and reloaded it on a later launch. The write does not go through sceSaveData at all — it is plain libkernel POSIX I/O:

[sceKernelOpen] path=/download0/doom1sav0.dsg flags=0x601   (O_WRONLY|O_CREAT|O_TRUNC)

Before that, the save menu probes slots 0–5 read-only (flags=0x0) to populate the slot descriptions. The resulting file is structurally complete rather than truncated: it ends exactly on DOOM's 0x1d SAVEGAME_EOF byte, and the header decodes coherently — 24-byte description, a version 110 string matching the running v1.10 build, then skill, episode/map and the playeringame flags.

Extended gameplay. Beyond E1M1: reached further maps, cycled weapons on L1/R1, returned to the main menu, started new games and used level select. Input mapped correctly across DualSense and keyboard/mouse. Note that ToggleMouse (middle mouse) is host-side and never reaches the title, so the cursor has to be captured before mouse aiming works — easy to mistake for broken mouse input.

Audio is audible and works. Confirmed by listening over a long session (~33 min of process CPU time, still running at the time of writing). libSceAudioOut opens the device at 48000 Hz and DOOM's own mixer initialises (S_Init: Setting up sound, S_Init: default sfx volume 8), with no audio errors, warnings or unimplemented-export messages anywhere in the run.

Cold-start CPU-scaler fallback reproduces exactly as @babyhuey describes, on the same presentation kernel address:

video: AGC compute presentation
Compute shader 0x202a81800 was not registered; preparing its artifact at dispatch
gpu: frame 1 never completed
video: GPU presentation failed, switching to the CPU scaler

In-game sits at DOOM's 35 FPS tic rate. I have not yet re-measured with a warm shader_cache on this machine to confirm the no-fallback second run, so treat that as unverified here rather than as independent confirmation.

Edited to correct the audio line: this comment originally listed audible audio as not verified. It has since been confirmed by listening, with the log corroboration quoted above.

AI-assisted: yes (Claude Code).

nicolasabosch and others added 2 commits October 11, 2026 10:47
… third-party results

Drops the stale pending-dependency note (boykopovar#553 boykopovar#683 boykopovar#684 boykopovar#685 are merged), adds the
package source and the Linux, extended-gameplay, save/load and audio results
reported in the thread, and replaces the cold-start note with the measured cause.
The UCRT diagnostic note is removed: no report on current main.

Co-Authored-By: Claude <noreply@anthropic.com>
@adriadam10
adriadam10 force-pushed the docs/doom-homebrew-compatibility branch from 9dacb75 to 0efa962 Compare October 11, 2026 08:53

@adriadam10 adriadam10 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the entry. The points from the previous review were still open, so I pushed one commit on top of your branch fixing them in docs/user/COMPATIBILITY.md:

  • Removed the "not yet merged" text and the "pending dependencies" status: #553, #683, #684 and #685 are merged. The first Windows result is labelled as an integration build of version 01.001.000.
  • Added the package source (lowbit/ps5-doom, v1.1.1), answering @NahuelGenchi's question.
  • Added the results reported in this thread: Linux/llvmpipe E1M1 (@hikazey, @MarcZX100; it still needs the open #1307), and Windows RTX 4070 SUPER further maps, save/load and audio (@ycbuzi).
  • Kept the cold-start CPU scaler fallback, now with the cause measured by @babyhuey, since it still reproduces on recent main. Removed the UCRT diagnostic note: nobody reports it on main.

Docs only; the game results are the reporters', not re-run here. Merging once CI is green.

@adriadam10
adriadam10 merged commit fd50c63 into boykopovar:main Oct 11, 2026
13 checks passed
@nicolasabosch
nicolasabosch deleted the docs/doom-homebrew-compatibility branch October 17, 2026 20:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants