Commit Graph
350 Commits
Author SHA1 Message Date
Dean dad4f21493 Merge pull request #13064 from milescoviello/fix/agc-reclaim-before-budget-host
fix(agc): release texture cache entries before a budget-full allocation goes to host memory
2026-10-30 22:19:50 +13:00
Adrià a36ff7f47e Merge pull request #12584 from Biologisten/fix/audio-pad-speaker-mute
feat(audio): add controller speaker fallback override
2026-10-30 07:12:28 +01:00
Adrià e4f5516fd6 Merge pull request #12974 from MarcZX10/feat/host-game-mode
feat(libkernel): opt-in host game mode request (APS5_GAME_MODE)
2026-10-30 06:36:04 +01:00
Adrià 84e114e4eb Merge pull request #12715 from MarcZX10/feat/log-to-file
feat(libc): copy the runtime log into a file with ANYPS5_LOG_FILE
2026-10-30 05:51:34 +01:00
Adrià 0c9c5db748 Merge pull request #12690 from MarcZX10/feat/host-system-report
feat(agc): host system report and an actionable missing-Vulkan-feature message
2026-10-30 02:52:18 +01:00
milescovielloandClaude Opus 5.5 e2c1c305ff fix(agc): release texture cache entries before a budget-full allocation goes to host memory
DeviceMemoryType placed an image or device buffer in host memory up front
when VK_EXT_memory_budget showed the device-local heap without room, so the
texture-cache release that a driver refusal gets never ran. It now asks the
caches for the allocation plus the heap's overage first and keeps the
device-local type when they release that much, or when the budget read again
has room.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-30 00:05:44 +00:00
Adrià 7a225bb303 Merge pull request #12686 from MarcZX10/feat/pad-rumble-intensity
feat(libSceVideoOut): add ANYPS5_RUMBLE to scale or turn off host controller vibration
2026-10-29 23:46:17 +01:00
Dean 420b6a064e Merge pull request #12621 from Ragbie/fix/windows-defer-needed-runtime-modules
fix(relinker): defer the runtime modules another deferred module needs on Windows
2026-10-30 08:49:48 +13:00
MarcZX10 6bc9493c8e docs(usage): describe APS5_GAME_MODE
Say that it is off by default, what it asks for on Linux and macOS, that
GameMode's own configuration decides what changes, that Windows needs no
request, and how on, auto and invalid values behave.
2026-10-29 17:15:39 +00:00
Adrià 5454cd2e45 Merge pull request #11130 from imellag/perf/macos-mimalloc
feat(libs): let relinked macOS games opt into mimalloc
2026-10-29 12:58:23 +01:00
Dean 59d7cff571 Merge pull request #12263 from WhiteAssassins/feat/patch-catalog-validator
feat(tools): validate complete patch catalogs offline
2026-10-29 23:52:34 +13:00
Adrià f88c86bf6c Merge pull request #12262 from tkcm01/test/agc-overlay-commit-macos
test(agc): expect no commit charge on macOS
2026-10-29 07:45:08 +01:00
Adrià d9d07db7e5 test(libc): serialise the writers of each stream in the ANYPS5_LOG_FILE concurrency test
A pipe write is atomic only up to PIPE_BUF, 512 bytes on macOS, so three threads writing 3 KB lines into one pipe interleaved before the copy read them.
2026-10-29 05:57:30 +01:00
MarcZX10 a39bd37b21 docs(usage): describe saving the runtime log to a file with ANYPS5_LOG_FILE
State what the file receives and what it does not, that it is appended to
and has no size limit, the startup error for an unopenable path, line
atomicity and the ordering between the two streams, what a crash or kill
leaves, the cost of two threads and two pipes, the child-process and
load-exec cases, and that the Windows path was not run.
2026-10-29 05:57:24 +01:00
dantdmdarealguy df6354b0a8 docs(usage): drop the Linux execute permission sentence from --autorun
The relinker writes every Linux and macOS output with execute permission since ab94ee21d7, as the running section already says, so the --autorun row no longer attributes it to --autorun.
2026-10-28 21:19:30 -05:00
MarcZX10 6079276693 docs(usage): list the Vulkan items a GPU must offer and what the failure message says
Names each required extension and feature, and the one message that a
GPU lacking them gets: the GPU, its driver and Vulkan version, every
missing item, the other devices ANYPS5_GPU can select.
2026-10-29 02:07:11 +00:00
MarcZX10 693451271b docs(usage): say what the host report leaves out
Lists the forms that are replaced (paths, URLs, MAC addresses, the account,
host and home directory names) and warns that the values of the listed
variables are printed as set.
2026-10-29 02:07:11 +00:00
MarcZX10 8b66d79994 docs(usage): describe ANYPS5_HOST_REPORT and the sections of the host report
Says when it prints, that an invalid value stops the start, the order and
content of each section, what unavailable and the CPU check line mean, and
that the shader cache size counts at most 200000 files.
2026-10-29 02:07:11 +00:00
MarcZX10 fd05629af2 docs(input): point to ANYPS5_RUMBLE from the input mapping guide
Vibration is not bound in the mapping file; link the controller vibration strength section so readers of the mapping guide find it.
2026-10-29 02:06:36 +00:00
MarcZX10 c1fbba97ef docs(usage): describe the controller vibration strength setting
Explain ANYPS5_RUMBLE, which vibration paths it covers and which it leaves alone, and that it is a host-side comfort setting with no console counterpart.
2026-10-29 02:06:36 +00:00
Biologisten 315050d000 fix(audio): reject invalid APS5_PAD_SPEAKER_FALLBACK_DB values and read the gain once
A set-but-invalid value, including an empty one, a non-finite number, a
number outside -60 to 0 or trailing text, stops the title with an error
naming the variable and the value instead of silently keeping 0 dB. The
gain is parsed once when the AudioOut2 context is created, kept in the
context and passed to the mix loop, so the audio thread never reads the
environment.

The one-read rule is pinned end to end: a play that changes the variable
to a value that would stop the title after the context was created keeps
the parsed fold and never re-reads the environment.
2026-10-29 00:16:16 +01:00
Biologisten 84b5542fdc feat(audio): add controller speaker fallback override
Add APS5_PAD_SPEAKER_FALLBACK_DB for AudioOut2 controller-speaker ports
folded into the main mix when no controller speaker is present. The
default 0 dB keeps the existing unity mix; mute removes the fallback
copy so a title's own main-port copy is heard instead.
2026-10-29 00:16:16 +01:00
Evrim Cicek 74abb8ce1c fix(relinker): defer the runtime modules another deferred module needs on Windows 2026-10-29 02:09:01 +03:00
Dean d0e4b8a9dc Merge pull request #11623 from dantdmdarealguy/docs/usage-windows-base-0x400000
docs(usage): give 0x400000 as the Windows executable's preferred base
2026-10-29 12:07:48 +13:00
WhiteAssassins c6c35d1a53 fix(tools): reject duplicate catalog keys and nested patches 2026-10-28 12:54:06 -04:00
Emanuele 4c75091972 feat(libs): let relinked macOS games opt into mimalloc 2026-10-28 14:50:31 +01:00
Adrià 3b24c4739e Merge pull request #12092 from MarcZX10/docs/usage-macos-crash-report-import-audit
docs: correct the macOS modules, crash report threads and import_audit module statements in the usage guide
2026-10-28 14:47:27 +01:00
WhiteAssassins 1d7bdd81ca fix(tools): gate catalog validator test on Python 3.11 2026-10-28 02:18:26 -04:00
WhiteAssassins 9765806d88 feat(tools): validate complete patch catalogs offline 2026-10-28 01:50:51 -04:00
tkcm01andClaude Opus 5.5 c3814cb7a4 test(agc): expect no commit charge on macOS
ReadCommitCharge reads /proc/meminfo outside Windows, and macOS has no
/proc, so it returns nothing there and page 2 leaves the commit part of
its COMMIT line out, as it does for any source the run doesn't have.
The statistics test required a reading on every system, and the page 2
sampler test required the first sample to hold one.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 01:47:29 -04:00
Dean Galvin 97f1d41a2c Revert "Merge pull request #10809 from frankea/fix/direct-memory-12gib"
This reverts commit 780b33aea3, restoring the 13824 MiB direct memory pool.

With the pool at 12288 MiB, Astro Bot (PPSA21564) can no longer load its
level: DirectMemoryAllocator asserts "Can't allocate direct memory" for a
64 MB VideoPlayerTexture with 12228 of 12288 MB in use, then the process
faults about 26 s in (2 of 2 runs, RTX 4090, Linux, main cccdaa2734).
The same tree with only this merge reverted runs the full 150 s with no
direct memory assert (2 of 2 runs).
2026-10-28 15:45:26 +13:00
Dean 780b33aea3 Merge pull request #10809 from frankea/fix/direct-memory-12gib
fix(libkernel): report 12 GiB of direct memory, as a PS5 does
2026-10-28 13:49:57 +13:00
Dean a36e9b2442 Merge pull request #11489 from WhiteAssassins/feat/patch-catalog-metadata
feat(tools): add optional patch catalog metadata
2026-10-28 12:58:25 +13:00
Dean 8b68c5a465 Merge pull request #11457 from MarcZX10/marc/docs-usage-sync
docs: bring USAGE, INPUT_MAPPING and GAME_TESTING in line with the tools
2026-10-28 12:05:26 +13:00
MarcZX10 13da724480 docs: say import_audit accepts converted guest.prx modules
module_files yields a PE file whose name ends in .guest.prx and reads its
exports; every other MZ file still raises an AuditError.
2026-10-27 20:18:12 +00:00
MarcZX10 13019ed1f6 docs: state the thread limit of the Windows crash report
ReportAllThreads captures at most 128 other threads and prints how many
further threads were left out; the report did not list every thread of a
larger process.
2026-10-27 20:18:12 +00:00
MarcZX10 91730a4f1e docs: say where --macos puts the bundled modules
GuestModuleBuilder keeps each module's directory relative to the module
parent under app0, as the Linux and Windows outputs do, so modules from
sce_modules, prx or a --module-dir do not land in app0/sce_module.
2026-10-27 20:18:12 +00:00
Adrià 2222bae20b Merge pull request #11225 from ebosido444-ai/feat/relinker-version
feat(relinker): report the build revision with --version
2026-10-27 16:16:57 +01:00
Adrià f2f759ae31 Merge pull request #10712 from roboterspinne/fix/relinker-macos-reject-lazy-binding
fix(relinker): reject --lazy-binding for macOS output
2026-10-27 15:35:26 +01:00
Dean 570002610e Merge pull request #11084 from roboterspinne/fix/relinker-output-directory-paths
fix(relinker): reject an existing directory at any output path before writing
2026-10-27 18:31:47 +13:00
roboterspinne 3123f92e7b fix(relinker): reject --lazy-binding for macOS output
MacOsMachOPatcher::Patch discarded its lazyBinding argument, so a
module-free `--macos --lazy-binding` conversion exited 0 and wrote the
same eagerly bound Mach-O as a run without the flag. The Mach-O writer
puts every import in the LC_DYLD_INFO_ONLY bind stream and leaves the
lazy_bind stream empty, with no __la_symbol_ptr or stub helper, so the
macOS target cannot honour the flag. The patcher now throws "macOS
target does not support --lazy-binding", in the form of its
--windows-diagnostics check, so such a conversion exits 2 and writes no
output. Conversions with bundled modules were already refused by the
guest module builder.
2026-10-27 05:59:10 +01:00
cabreira97 887d6bc760 docs(readme): sync translations with current README
Compatibility now points only to the Game bring-up discussions, and Disclaimer gains the paragraph on Sony affiliation and trademarks.
2026-10-26 21:53:10 -03:00
cabreira97 f589a5c5ec docs(readme): add pt-BR, es, zh-CN and ru translations
Translations live in docs/user/ and the English README links to them with a language selector at the top.
2026-10-26 21:51:44 -03:00
MarcZX10 5dfc20dcf2 docs(usage): link late storage image stores to the AGC driver debt file 2026-10-26 23:24:24 +00:00
MarcZX10 aa461c1219 docs(usage): note that ANYPS5_OVERLAY=0 is accepted 2026-10-26 23:24:24 +00:00
MarcZX10 04ebed4090 docs(usage): update the storage texture cache cap 2026-10-26 23:24:10 +00:00
MarcZX10 e74c19d2c6 docs(usage): say that the reward icon call returns an error instead of stopping 2026-10-26 23:24:10 +00:00
MarcZX10 57b58fabf0 docs(usage): describe the param.sfo fallback for title metadata 2026-10-26 23:24:10 +00:00
MarcZX10 0ccda196c9 docs(input): say that an invalid mapping file stops the game 2026-10-26 23:24:10 +00:00
MarcZX10 cc2dc0a952 docs(input): note that the example's ToggleMouse line replaces F7 2026-10-26 23:24:10 +00:00