🐧 Running Docker and ROCm on Steam Deck (Neptune 6.11+)
With SteamOS kernel 6.11+, Docker fails to start out-of-the-box due to missing kernel modules (bridge, br_netfilter, overlay). This guide walks you through enabling Docker, disabling the broken default bridge, and optionally testing ROCm-based containers.
🧱 Step 0 – Unlock the Filesystem
SteamOS uses a read-only root filesystem by default. Before making system changes:
sudo steamos-readonly disable
🔐 Step 1 – (Optional) Trust SteamOS Package Key
If pacman -Syu or installing packages throws a PGP signature error like:
error: filesystem: signature from "GitLab CI Package Builder" is unknown trust
Run this to locally trust Valve’s package signing key:
sudo pacman-key --lsign-key E7C3DED96617065132C1FF1A7E830EB6E79C8CE5
This ensures future package installs won’t be blocked.
📦 Step 2 – Install Docker
Install Docker and enable it to start on boot:
sudo pacman -S docker
sudo systemctl enable containerd.service
sudo systemctl enable docker.service
⚠️ Don’t start Docker yet — it will fail until the bridge issue is fixed.
🔧 Step 3 – Disable Docker’s Bridge Networking
The kernel lacks modules required for docker0. We must disable it:
sudo mkdir -p /etc/docker
sudo nano /etc/docker/daemon.json
Insert the following:
{
"bridge": "none"
}
Save and exit (Ctrl+O, Enter, Ctrl+X).
🚀 Step 4 – Start Docker
sudo systemctl start docker
Verify it’s working:
docker info
If docker ps gives a permission error:
sudo usermod -aG docker $USER
newgrp docker
🔒 Step 5 – Restore Read-Only Mode (Optional)
To lock the system again:
sudo steamos-readonly enable
⚙️ Step 6 – (Optional) Try ROCm Containers
Steam Deck’s APU is AMD-based. Full ROCm GPU compute is limited, but you can test container runtime:
docker run -it --privileged --network host --device=/dev/kfd --device=/dev/dri rocm/dev-ubuntu-22.04
Check if GPU interface is available:
ls /dev/kfd
If missing, you’re limited to CPU-mode workloads or userland experimentation.