• C 44.2%
  • C++ 21.4%
  • Shell 17.8%
  • Python 10.7%
  • PowerShell 5.9%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-13 03:20:33 +05:30
docs ProsperoAI Pro results, tuning write-up and links 2026-10-13 03:20:33 +05:30
issues ProsperoAI Pro results, tuning write-up and links 2026-10-13 03:20:33 +05:30
llm-bench ProsperoAI Pro results, tuning write-up and links 2026-10-13 03:20:33 +05:30
probes PS5 Pro memory mode for homebrew: attribute3 bit 22 2026-10-12 23:33:53 +05:30
tools Add measured ProsperoAI results on PS5 Pro 2026-10-13 00:55:33 +05:30
.gitignore PS5 Pro memory mode for homebrew: attribute3 bit 22 2026-10-12 23:33:53 +05:30
LICENSE PS5 Pro memory mode for homebrew: attribute3 bit 22 2026-10-12 23:33:53 +05:30
README.md ProsperoAI Pro results, tuning write-up and links 2026-10-13 03:20:33 +05:30

Unlock PS5 Pro memory for homebrew

One param.json flag gives a PS5 Pro homebrew app about 1.2 GiB more GPU memory.

PS5 Pro games get more memory than base PS5 games (Sony says about 13.7 GB instead of 12.5 GB). Homebrew apps don't get that extra memory automatically. They run in base PS5 memory mode even on a Pro. Setting bit 22 of attribute3 in the app's sce_sys/param.json switches the app into Pro memory mode:

attribute3 Direct memory pool Largest allocation that succeeds
1048576 (0x100000), the usual homebrew value 11.44 GiB 11.31 GiB
5242880 (0x500000), the same plus bit 22 12.63 GiB 12.50 GiB

That is +1.19 GiB for the app. 12.63 GiB is 13.56 GB in Sony's decimal units, which is close to the ~13.7 GB Sony quotes for Pro games.

For a local LLM this is the difference between, say, an 8B model at Q8 with a short context and the same model with a long context, or room for a bigger model at Q4. Any Vulkan homebrew built on Mihawk's RADV driver picks it up with no code change. The driver sizes its memory heaps from the kernel's pool, so the extra memory just appears.

Tested on: PS5 Pro, firmware 13.60, with homebrew built on ProsperoAI's toolchain and Mihawk's RADV driver. One console so far. Reports from other firmware versions are welcome (open an issue).

How to use it

In your app's sce_sys/param.json, change

"attribute3": 1048576,

to

"attribute3": 5242880,

Then re-register the app (ShadowMount or your launcher) so the system reads the new param.json. That's all.

  • 5242880 = bit 20 (0x100000, the value homebrew already uses; ProsperoAI documents it as "VRR off") + bit 22 (0x400000, the Pro memory mode).
  • Don't copy bit 4 (16) from a Pro Enhanced game's param.json. It switches the TV's video mode (the screen goes black for a moment while the TV re-syncs) and has nothing to do with memory.
  • On a base PS5 this is untested. A base PS5 has no extra memory to give, so expect no gain. Test carefully if you try it.

How we found it

We wrote a small probe app (in probes/) that runs on the console, asks the kernel and the Vulkan driver how much memory the app has, then allocates GPU memory until the driver refuses. It reports through a web page on port 9050. We then built four copies that differ only in param.json, using settings that differ between a PS5 Pro Enhanced game and our app:

Probe param.json change Pool
baseline attribute3 0x100000 11.44 GiB
A attribute3 0x500000 (bit 22 added) 12.63 GiB
B attribute3 0x400010 (bits 4 + 22) and a psml block 12.63 GiB, plus a TV mode switch
C newer sdkVersion / requiredSystemSoftwareVersion only 11.44 GiB (no change)
D B and C together 12.63 GiB, plus a TV mode switch

Only the probes with bit 22 gained memory. Probe A then ran the full allocation test: 12.50 GiB allocated and used, against 11.31 GiB before.

The full write-up is in docs/pro-memory-mode.md.

Tested in a real AI app: ProsperoAI

With ProsperoAI 01.005.000 and Mistral 7B Q4_0 on a PS5 Pro (details):

Memory for the app Generation Prompt reading
Base PS5 (ProsperoAI's published result) 11.44 GiB 69.7 tok/s –
PS5 Pro, normal param.json 11.44 GiB 86.9 tok/s 692 tok/s
PS5 Pro, Pro memory mode 12.63 GiB 86.9 tok/s 695 tok/s
PS5 Pro, Pro mode + batch 512 12.63 GiB 86.9 tok/s ~725 tok/s
  • ProsperoAI's own log confirms the larger memory: total=13555990528 bytes (12.63 GiB).
  • The Pro generates text 1.25× faster than a base PS5, the same ratio as its memory bandwidth.
  • The flag adds memory at no speed cost.

ProsperoAI Pro: 11% faster text generation

We then tuned llama.cpp's Vulkan shaders for this GPU and made ProsperoAI's interface step aside while the model writes (details):

Mistral 7B Q4_0 Generation Prompt reading
Base PS5, stock ProsperoAI 69.7 tok/s –
PS5 Pro, stock ProsperoAI 86.9 tok/s 692 tok/s
PS5 Pro, ProsperoAI Pro 96.6 tok/s 740 tok/s

Try it

ProsperoAI Pro is our unofficial build of ProsperoAI with these changes plus Pro memory mode:

It is not made or supported by the ProsperoAI author. The two main changes are proposed upstream so every ProsperoAI user can get them: #28 (quieter interface while generating) and #29 (llama.cpp Vulkan tuning switches).

Other results from the same probes

Full numbers are in docs/measurements.md.

  • The whole Pro GPU does run homebrew compute. Mihawk's driver describes the GPU as a base PS5 GPU (36 compute units), but about 56–60 workgroups run at once, and packed FP16 reaches ~36 TFLOPS. That matches all 60 of the Pro's compute units. Read bandwidth is ~550 GB/s.
  • INT8 dot product (v_dot4) does not work on the Pro either. The driver turns it off because it computes wrong on the base PS5. We patched the driver to turn it back on for a test app: on the Pro every one of 262,144 test results came back 0. The driver is right to keep it off. Details in docs/int8-dot4.md.

What's in this repo

Path What it is
docs/pro-memory-mode.md The memory finding: method, evidence, open questions
docs/measurements.md GPU compute, bandwidth and memory numbers on a PS5 Pro
docs/int8-dot4.md The INT8 dot-product experiment
docs/prosperoai-results.md ProsperoAI speed and memory on a PS5 Pro, with settings
docs/llm-tuning.md How llama.cpp was tuned for the PS5 Pro, with every measurement
llm-bench/ LLM test app, llama.cpp tuning patch, ProsperoAI Pro build
docs/building.md How to build and run the probes yourself
tools/prosperoai-bench.ps1 Windows script that measures ProsperoAI's speed over the network
probes/ Probe app source: C, GLSL compute shaders, build scripts, driver patch
issues/ The reports sent to ProsperoAI, Mihawk's PS5_Vulkan and psdevwiki

This repo contains only our own code and measurements. It contains no Sony code, no SDK files, no firmware, no game files, no model weights and no binaries. To build the probes you need ProsperoAI's public toolchain (see docs/building.md).

Credits

Research and testing by obl1vn.

License

GPL-3.0-or-later, the same as ProsperoAI and PS5_Vulkan, which the probes link with. See LICENSE.