2 Commits
Author SHA1 Message Date
Mihawk 1cdf298db1 Pins: the new ids of my rewritten commits
On 2026-10-05 the history of my GitHub repositories was rewritten to replace
my old e-mail address with my GitHub noreply address. Each commit of mine got
a new id, with the same files, message and dates, and GitHub no longer serves
the old ids. This replaces every old id in this repository's pins, notes and
evidence with the new id of the same commit, at the same length; no other
character changes. Each pinned commit was checked on GitHub
(gh api repos/mihawk-99/<repo>/commits/<sha>): 22 of 22 found.
2026-10-05 14:00:05 -04:00
Mihawk e98cca409c Measure Sony's local processes for this title's frontends
../PS5_Proton found that a title can have Sony's service start a fresh
executable as a child of its application (sceSystemServiceAddLocalProcess
with the libc-only preload mask, a socket at the child's descriptor 3,
sceSystemServiceKillLocalProcess). This probe asks what that is worth
here.

- frontends/child-probe: a frontend program (SDL2, PS5_OpenGL) that the
  title hands over to with LoadExec, as it does ES-DE. It holds the
  display while running a headless child, keeps a child alive across
  its own LoadExec, then releases the display and starts a graphics
  child. "nogpu" mode starts one without ever opening the display.
- frontends/child-probe-helper: the headless child, freestanding C with
  only libkernel, reporting its PID and the memory it sees.
- tooling/native: --preload-prx-flags writes the preload mask into the
  process parameters (0x50), as PS5_Proton's patch to the same tool
  does. Without it the output is unchanged.

Result on the base PS5 (13.40): a headless child starts in 0.12 s and
closes cleanly (kill 0, gone from the list). It reads the same flexible
memory figure as the parent (one budget), and it does not survive the
parent's LoadExec. A graphics child fails before its code runs
(gbase_gvmsw_open 6978, PRX_PROCESS_STARTUP_FAILURE), whether or not
the parent ever opened the display, and Sony then kills the whole
application.

Evidence: evidence/child-processes/ (capture.json, expectation.json,
probe-run-1.jsonl, probe-run-2-nogpu.jsonl). Command:
  PS5_FRONTENDS='es-de picker child-probe' tools/build-title.sh
  tools/run-title.sh --no-build --relaunch-test=1 \
    --relaunch-image=es-de/child-probe.bin --watch 120
Gates: tools/verify.sh PASS (format unit build integration evidence).
2026-10-04 18:36:36 -04:00