Llama.cpp on a jailbroken PS5: run any GGUF model natively on the console
PS5LM: Native GGUF Model Execution on Jailbroken PlayStation 5
PS5LM transforms a jailbroken PS5 into a powerful, private home AI server. By leveraging llama.cpp, this project allows the console to run any GGUF-formatted model natively on its hardware, starting with the Qwen 3.8 series.
🚀 Core Functionality
The application utilizes the console's RDNA 2 GPU via the llama.cpp Vulkan backend. It allocates approximately of shared memory to handle both the model weights and the KV cache.
Key Features
- Universal Compatibility: Supports every quantization method and architecture recognized by
llama.cpp. - Industry Standard APIs:
OpenAIcompatible:/v1/chat/completionsAnthropiccompatible:/v1/messages(fully supports Claude Code)
- Web Interface: A built-in chat page accessible via any browser.
- Connectivity: Simply point your client to
http://console:8081. Any loaded model will respond to requests. - TV Integration: All requests are streamed directly to the TV screen, showing the requesting device, the prompt, and the real-time response.
- Local Control: Use the button for demos and to trigger the keyboard for couch-based interaction.
- Telemetry Dashboard: A dedicated "Console" page tracks , , and over 2-minute or 1-hour intervals.
🧠 Decision Models & Ollaya Integration
PS5LM introduces Decision Models (e.g., d1, Clef, OpenJev), powered by the logic of Ollaya. Unlike standard LLMs, these models perform a single forward pass to provide typed decisions with calibrated probabilities rather than generating text.
What is a Decision Model? While Ollama runs LLMs on PCs, Ollaya runs decision models. PS5LM brings this to the console, allowing for near-instantaneous "Yes/No" or categorical answers.
Example API Request
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?"
}
}
}'
📊 Performance Benchmarks
The following data was captured on a PS5 Slim:
| Model | Quantization | Size | Performance | Notes |
|---|---|---|---|---|
| Qwen 3.5 0.8B | Q4_K_M | Extremely fast | ||
| Qwen 3.5 9B | Q4_K_M | Balanced | ||
| Qwen 3.8 27B | UD-Q2_K_XL | context | ||
| d1 Omni 600M | Decision | image support |
🛠️ Technical Architecture
The system flow can be visualized as follows:
The Tech Stack
- Language:
C++ - UI Framework:
ps5-homebrew-ui - Backend:
llama.cppwithggml-vulkan - Drivers:
PS5_Vulkan's RADV (built on Linux)
📦 Installation & Requirements
Prerequisites
Your PS5 must be jailbroken and running firmware between 7.00 and 13.60.
Required Payloads:
-
kstuff-lite(Kernel patches for homebrew) -
etaHEN(Homebrew support) -
ShadowMountPlus(Adds PS5LM to the home screen via/data/homebrew)
Recommended Payloads:
-
elfldr(Port 9021: for power/temp/space monitoring) -
ftpsrv(Port 2121: for easy file transfers)
Setup Steps
- Download
ps5lm-app-vX.Y.Z.zipfrom the latest release and extract it. Manually move models via FTPUse the built-in Suggested list to download directly from Hugging Face.- Alternatively, place
.gguffiles in/data/PS5LM/modelsor on a USB drive. - Once the Home screen displays "Ready", access the interface at
http://console:8081.
🎮 Controller Mapping
| Button | Location | Action |
|---|---|---|
L1 / R1 | Global | Cycle through: Home Models API Console Settings |
Cross | Home | Switch active model |
Square / Triangle | Home | Send demo request / Open keyboard |
D-pad / Cross | Models | Navigate, load, unload, or download models |
L2 / R2 / Square | Models | Modify search terms / Check memory fit |
Cross / Square | Downloads | Pause, resume, or cancel (double press) / clear |
L2 / R2 | Console | Toggle between 2-minute and 1-hour telemetry |
D-pad / Cross | Settings | Navigate and toggle configuration options |
Square / Triangle | Diagnostics | View app/server logs or filter for errors |
🛠️ For Developers & Tinkers
If you want to dive deeper into the code, explore the following:
- Building: See the
Buildingguide. - Porting: Check
PortingandResearchdocs. - CLI: Integration with
opencode,Codex, orClaude Codeis detailed indocs/CLI.md.
Special Thanks:
- abhi245y: Created the original native GPU app (PS5LM Plus).
- Mihawk-99: For
PS5_Vulkanand RADV. - PS5CEMU-HAR: For the Mesa driver patches.
- BlackBearReloaded: For the
ps5-homebrew-ui.