Repository navigation
Releases: cobanov/PS5LM
Release list
PS5LM v0.9.0
PS5LM, llama.cpp on the PS5 GPU, as its own app (PPSA99575), with a new screen made for the TV and decision models powered by Ollaya.
Install: unzip ps5lm-app-v0.9.0.zip and copy the PPSA99575 folder to /data/homebrew over FTP; ShadowMountPlus puts PS5LM on the home screen. To update, copy it over the old folder; settings and models in /data/PS5LM stay. Needs a jailbroken PS5 on firmware 7.00 to 13.60 with kstuff-lite, etaHEN and ShadowMountPlus (README).
Added
- A new screen, designed from scratch: Home (the model, its speed, and every request and its
answer streaming as it happens), Models (on this PS5, suggested models measured on the console,
Hugging Face search and downloads), API (the endpoints and an example) and Settings (with
the logs under Diagnostics). Manrope type, interface sounds from PocketVibe, and a full-screen
splash while the app restarts for a model. - Decision models: llama.cpp's
/v1/systemone(TypeSafe's API, the one Ollaya serves) with d1,
d1 Omni, Clef, OpenJev and others. The planner gives them a 2048-token batch and a 4k context. - MiniCPM-V 4.7's image projector, and the other models of llama.cpp 04f7226.
/data/PS5LM/env.txt: driver and ggml switches set before the GPU opens, for measuring.- Console page: temperature, power, GPU and CPU load charted over the last two minutes or the
last hour, and a table of every reading. - Home's request feed reads as a chat, and the console can ask itself: Square sends a demo
request, Triangle opens a keyboard (with Turkish letters) for a message of your own. - Settings with several choices open a list under the row; Cross picks, Circle cancels.
Changed
- The app is PS5LM under its own title ID, PPSA99575, with a new icon and home screen
background. PS5LM Plus (PPSA99581) stays @abhi245y's app. - llama.cpp moves to 04f7226; RADV carries three of PS5CEMU-HAR's driver patches (
patches/mesa),
among them freed buffers waiting for the GPU. - Models with an image projector get a 2048-token ubatch, so images are no longer cut to 64 tokens.
Fixed
- The app opens on Home, not on the model list, and draws its splash before the GPU opens, so a
restart for a model no longer shows a black screen. - Home shows the load as it happens, how much of the model is on the GPU, instead of a still
splash, and offers Demo and Message only once the server answers: requests sent while the model
loaded were lost. - One sound for each kind of action, at one pitch: no two actions share a sound by accident.
- A float in any request (
"temperature": 0.7) stopped the server: the console'slocaleconv()
reports an empty decimal point. The app now gives the C locale's. - An image projector llama.cpp cannot read no longer stops the server: the app restarts once and
loads the model text only. scripts/build-app.shfetches the OpenGL SDK through ps5-homebrew-ui's script, createsbuild/,
and no longer needs ImageMagick.
Known issues
- A decision model can stop answering after about 55 requests in a row on the console (the server
waits on the GPU); restart the app or load the model again. Language models are not affected. Help is welcome in #20.
PS5LM v0.1.1
A new look for the two pages PS5LM shows in the PS5 browser, and a model that knows where it runs.
- The PS5's own system font (SST) when the console's browser has it, a little larger on the TV
- A calmer chat: one reading column, your messages in a quiet box, answers as plain text with the speed underneath, and three prompts to click when the chat is empty, since typing with the DualSense is slow
- The library as a plain list with the running model on top, model files shown by name (Qwen3.5 2B instead of Qwen3.5-2B-Q4_K_M.gguf)
- Smaller corners, white buttons and the PS5's white focus frame
- The model knows where it runs: asked who it is, it says it is running locally on this PS5 with PS5LM
Nothing changed in how models are downloaded or run. See v0.1.0 for what PS5LM does and its limits.
Install or update
In Payload Manager, with Multiple Payload Sources on in Settings, add https://ps5lm.cobanov.dev/payloads.json and install or update PS5LM. Or download ps5lm.elf below and load it like any payload.
SHA-256 of ps5lm.elf (20974624 bytes):
10ee1a913e2d534fc81e1822e5969a6d70740ff88f4eb7c8fe98789d22152126
PS5LM v0.1.0
The first PS5LM app: one payload that runs language models on a jailbroken PS5.
Load ps5lm.elf and the PS5's browser opens a model library. Download a model straight from Hugging Face on the console, press Run, then Open chat, and type with the DualSense. Phones and computers on the same network can use the library at http://<console IP>:8082 and the chat at port 8081 (an OpenAI-compatible API).
Install
- A PS5 you own on firmware 7.00 to 13.60, jailbroken, with a payload loader (Payload Manager from WebKit Autoloader, or elfldr on port 9021).
- Load
ps5lm.elflike any payload. - Pick a model in the library that opens.
Models
| Model | Size | Speed on a PS5 Slim |
|---|---|---|
| Qwen3.5 0.8B | 0.5 GB | 13 to 21 tokens/s |
| Qwen3.5 2B | 1.3 GB | about 9 tokens/s |
Downloads run over 16 connections at about 12 MB/s and resume if interrupted. A GGUF copied to /data/PS5LM/models over FTP shows up in the library too.
Limits
- CPU only, on the five cores the system gives a payload.
- Models up to 1.6 GB. A payload's memory is shared with the home screen and has to be locked to stay fast; locking more froze the console in testing. Bigger models need a native app (#4).
- Tested on a PS5 Slim, firmware 13.60, with WebKit Autoloader, Payload Manager, kstuff-lite and etaHEN.
Known issues
[SceLibc] A heap error is detectedin the log when llama.cpp exits (#3).- The GPU is not used yet (#5).
If you run it, numbers from other consoles and firmwares help a lot: #6.
SHA-256 of ps5lm.elf (20974624 bytes):
26d7a543bec9c9ff0ccdb1fa067252254ccce88b81e5c293c22c1f536d0cfd5e