Download
One ISO, while you still have a network. Universal if you're unsure; lite if you know the card is Vulkan-only.
Flash Cameo to a USB, boot an AMD machine, and open the local web app. Models run offline.
Free • Open source • Apache 2.0
01how it works
Cameo is an appliance, not a toolchain. The USB already carries the OS. Install copies that image onto disk — it downloads nothing. After reboot the box serves on your LAN with the cables pulled.
One ISO, while you still have a network. Universal if you're unsure; lite if you know the card is Vulkan-only.
Flash a USB, boot the AMD machine. Install Cameo to disk is the default menu entry.
Pick a disk, set an admin username and password. A console key is written for you.
Open :9090 from the LAN. A starter model (qwen2.5-0.5b) is already on disk. Chatting does not need the internet.
================ Cameo ================ RX 580 8G · Tier 3 · vulkan OK Web console: http://192.168.1.40:9090 Console key: K7m… Log in as the admin you created. No internet required to serve.
02what your card does
Cameo never silently fails on unsupported hardware. It classifies the card and says so in plain language. Training needs ROCm (tiers 1–2). Inference does not.
Tier 1
7900 XTX · MI210
Official ROCm. Vulkan fallback. This is the card you train on.
Tier 2
RX 6800 · 6700 XT
Inference on day one. Training is community-tested via HSA override, not official ROCm.
Tier 3
RX 580 · APUs
No usable ROCm path. Vulkan-only inference. Still a working LLM box.
================ Cameo ================GPU 0 Radeon RX 580 8G pci 0000:01:00.0 vram 8192 MiB arch gfx803 tier ● Tier 3 no training why gfx803 has no usable ROCm path: Vulkan-only inference, no training.-----------------------------------------Web console: http://192.168.1.40:9090
That's the real first-boot printout for a tier-3 drawer card — the tier in plain language, the reason, then the console URL. Check yours with cameo gpu-status; the tier is a smart default, not a verdict.
03the console
cameod starts on boot and binds :9090 with a key. GPUs, endpoints, a playground — on your LAN. Drop a GGUF, chat. No cloud, no extra web stack.
GPU 0
RX 7900 XTX
Tier 1 · gfx1100
VRAM
9.8 / 24 GB
41% in use
Backend
rocm
Vulkan fallback ready
Util / temp
41% · 62°C
fan 1800 rpm
POST /v1/chat/completions
127.0.0.1:8080 · OpenAI-compatible · LAN only
04the Deck
See what is running, how much memory it uses, who owns the session, and whether the work passed verification.
Backend, context, endpoint, and lease status for every model.
See free memory and which session holds each model.
Review changed files, verification results, and the trace.
Consumer keys run models. Operator keys manage models and leases.
consumer GET /api/engines -> models, profiles, limits, capabilitiesconsumer POST /v1/chat/completions -> OpenAI JSON + SSE streamingoperator POST /api/servers -> deliberately provision a cold modelsession POST /api/sessions/{id}/lease -> protect a running modeltools agent-managed fallback -> no assumed server-specific dialectCameo observes the work. Daedalus owns the agent loop.
05one card → a cluster
Connect additional Cameo boxes over Ethernet or Wi-Fi and manage them as one fleet.
06get it
Download the ISO, write it to a USB, and boot the machine. A starter model is included, so local chat works after installation.
Take the file named cameo-*.iso (or .iso.part* if it was split). Ignore “Source code” zip/tar — those are not flashable. If the newest tag has no ISO yet, use the last tag that lists one.
Includes both AMD runtime paths. ROCm is enabled only on supported cards; other compatible AMD GPUs use Vulkan.
Download Universal ISOFor Vulkan-capable AMD hardware that does not need the much larger ROCm training stack.
Download Lite ISORun the Rust-native daedalus harness on an existing Windows workstation with the validated archive below. Verify the archive before opening it.
Packages will appear here after their release builds pass validation.
Windows: Rufus in DD Image mode (ISO mode often will not boot), or Etcher. Linux/macOS: Etcher, or:
sudo dd if=cameo-*.iso of=/dev/sdX bs=4M status=progress oflag=sync
Disable Secure Boot (or the stick is ignored and Windows boots). Put the USB in the AMD machine. Install Cameo to disk is already the default entry. It shows the detected GPU and tier, then asks for:
This installer erases the disk you pick
The selected drive is wiped — partitions, Windows, everything. There is no undo. Nothing is touched until you pick a disk, review the plan, and type that disk’s name (for example sda) to confirm.
Nothing is downloaded. The installer copies the live image onto that disk, writes a console key, and enables cameod. Then reboot and pull the USB.
From a laptop or phone on the same LAN (plug the box into Ethernet if it has a port), open the URL printed after login — http://cameo.local:9090 or the IP. Enter the key. Start qwen2.5-0.5b (smoke test, already on disk). Chatting never phones home. Extra GGUFs: drop them in /var/lib/cameo/models.
A single box does not need Wi-Fi. Join a fleet of nodes — then give that node a network so it can attach:
iwctl station list station wlan0 scan station wlan0 get-networks station wlan0 connect 'YourSSID'
Then cameo fleet / hub URL on that node. One machine, one card, one house: stay air-gapped after you flash.
Container — host owns the GPU driver:
podman build -f containers/Containerfile -t cameo:vulkan . podman run --rm -p 9090:9090 \ -v cameo-models:/var/lib/cameo/models \ --device=/dev/kfd --device=/dev/dri \ --group-add video --group-add render \ cameo:vulkan
Build the ISO on an Arch host:
git clone https://github.com/sadlowskik/Cameo sudo ./scripts/build-iso.sh sudo CAMEO_EDITION=lite ./scripts/build-iso.sh
Beta, pre-v1. Flash an .iso, not Source code. Check SHA256SUMS. The disk installer erases the drive you pick. Source: github.com/sadlowskik/Cameo.