PS5LM runs GGUF models via llama.cpp inside a jailbroken PS5
An open-source project gets llama.cpp running on the console's GPU and exposes the loaded model through an API compatible with OpenAI and Anthropic, accessible to any device on the local network.

PS5LM runs GGUF models via llama.cpp inside a jailbroken PS5
An open-source project gets llama.cpp running on the console's GPU and exposes the loaded model through an API compatible with OpenAI and Anthropic, accessible to any device on the local network.
Editor's note: the caption on the image below cites '20.7 tokens per second' for Qwen 3.8 27B. This precision does not appear in the project's README, which only mentions 'about 20 tokens a second.' The performance table in the body of this article uses the correct figure, '~20 tokens/s'; the decimal figure in the image caption has no source and should be disregarded by the reader.
The console turned into an inference server
The PS5LM is an open-source project that runs llama.cpp directly on the GPU of a jailbroken PlayStation 5, loads a model in GGUF format, and serves that model to any laptop, phone, or command-line tool connected to the same network. No PC needs to be on, no cloud, no account with any service: the console itself becomes the server.
The interface runs on the TV, with Home, Models, Console, API, and Settings tabs navigable with the controller. You can switch models, download a new one directly from Hugging Face, monitor temperature and GPU/CPU usage, and watch each request arrive in real time on screen, showing which device asked and the answer being written out.

Under the hood: Vulkan, RDNA 2, and shared memory
The project uses llama.cpp's Vulkan backend on top of the console's RDNA 2 GPU, through PS5_Vulkan, a layer built on Linux's RADV drivers adapted to run on the PS5. Up to 11.4 GB of the device's shared memory is available for the model and its context, and every architecture and quantization that llama.cpp already supports works without any extra adaptation.
An internal planner reads each GGUF file before loading it and automatically picks the largest context and the best cache that fit in the free memory available at that moment. Models with an image projector, such as Gemma 4, MiniCPM-V, and d1, also work, accepting photos both in chat and in decision queries.
Performance measured on a PS5 Slim
The repository publishes a reference table run on a PS5 Slim:
| Model | Size | Performance |
|---|---|---|
| Qwen 3.5 0.8B (Q4_K_M) | 0.5 GB | 207 tokens/s |
| Qwen 3.5 9B (Q4_K_M) | 5.3 GB | 55 tokens/s |
| Qwen 3.8 27B (UD-Q2_K_XL) | 9.2 GB | ~20 tokens/s, 64k context |
| d1 Omni 600M (decision) | 1.1 GB | 3 questions in 0.3s; 720p image + 7 questions in 2.9s |
These are numbers from the project's own README, not an independent benchmark, but they give a concrete sense that quantized models of up to ~10B parameters run at real-time conversational speed on hardware that's already sitting in the living room of millions of Brazilians.
It speaks the language dev tools already understand
The server exposes /v1/chat/completions in OpenAI's format and /v1/messages in Anthropic's format, along with a chat page that opens in any browser. That means pointing an existing client at http://<console>:8081 and using the loaded model as if it were any other API provider.
The project's documentation confirms that Claude Code works by pointing to this endpoint, and the repository's docs/CLI.md file covers usage from tools like opencode and Codex. In practice, you can code with AI assistance without sending a single line of code outside your own home network.
Decision models: typed answers without generating text
Besides generating text, PS5LM loads what are called "decision models" (d1, Clef, OpenJev, among others) and responds through the /v1/systemone endpoint, the same format the Ollaya project uses to run this type of model on a PC. The idea is to have the model answer typed questions about a piece of text in a single pass, without generating a single word:
curl http://<console>:8081/v1/systemone -H 'Content-Type: application/json' -d '{
"state": "I was charged twice this month. Refund me or I cancel.",
"questions": {
"intent": {"type": "choice", "instructions": "What does the customer want?",
"criteria": {"refund": null, "information": null, "cancel": null}},
"angry": {"type": "noul", "instructions": "Is the customer angry?"}
}
}'For anyone building customer-support chatbots or intent-classification pipelines, this is a low-latency alternative to sending every message to a full generative model just to extract a category.
The price of entry: a PS5 outside official support
None of this works on a stock PS5. The requirement is a console on firmware between 7.00 and 13.60, already jailbroken, with the following payloads loaded:
- kstuff-lite: the kernel patches that allow homebrew to run, mandatory;
- etaHEN: homebrew support itself;
- ShadowMountPlus: puts PS5LM on the home screen from
/data/homebrew; - elfldr (port 9021): temperature, power, and free-space telemetry, via ps5-exporter, recommended;
- ftpsrv (port 2121): used to install the app and copy models from a PC.
Installation is manual: copy the PPSA99575 folder to /data/homebrew via FTP, open the app, download a model through the Suggested tab or place a .gguf file in PS5LM/models (internal storage or a flash drive), and load it. The README is explicit: the project has no connection to Sony whatsoever, and it doesn't distribute SDK files, keys, firmware, or third-party model weights.
Jailbreaking a PS5 means running the console outside the manufacturer's official support and updates, and the accepted firmware range itself (7.00 to 13.60) already excludes anyone who has updated their device to more recent versions. It's a technical path, not a product feature, and anyone going after it needs to understand they're in territory unsupported by Sony before deciding.
Why this matters for developers in Brazil
A dedicated GPU good enough to run 9B-to-27B-parameter models is expensive here, and cloud GPUs bill by the hour. PS5LM points to a different path: hardware that most Brazilian devs already have under the TV, with an RDNA 2 GPU sitting idle outside gaming hours, turning into a testbed for prototyping agents, validating prompts, or running classification models without depending on the internet or an international credit card.
The project also shows the depth of the homebrew scene behind it: it grew out of PS5LM Plus, by abhi245y, and builds on PS5_Vulkan by Mihawk-99, the driver patches from PS5CEMU-HAR, the ps5-homebrew-ui interface by BlackBearReloaded, and the SDK by John Törnblom, with llama.cpp and ggml doing the heavy lifting of inference. It's licensed under GPL-3.0, with the code at github.com/cobanov/PS5LM, and at the time this article closed it had 424 stars and 24 forks on the repository.
How far this path can scale remains an open question: the console's shared memory caps the practical size of models well below what a recent dedicated GPU can handle, and every Sony firmware update is a real threat to the jailbreak that holds all of this together. Still, for anyone who just wants to test a local model without spending on new hardware, it's the cheapest opportunity around today.
Translated from the Brazilian Portuguese original · Read the original
JDK 28 finalizes structured concurrency after seven preview rounds since JDK 19
JEP 543 takes StructuredTaskScope out of preview mode in JDK 28. Those already on JDK 27 just need to recompile without the flag; those coming from older versions need to adjust exception handling.





