Same hardware as the previous posts: Beelink EQR6, Ryzen 9 6900HX, Radeon 680M iGPU running on Proxmox. This time the goal is getting IronClaw working inside a Debian LXC with ROCm, bridged to existing Claude Pro and Gemini subscriptions to keep the inference bill at zero.
Here’s exactly how the setup works.
The Hardware Stack
- Host: Proxmox VE on the Beelink EQR6 (Ryzen 9 6900HX)
- LXC Container: Debian 12 (Bookworm), 16GB RAM, 40GB NVMe root
- GPU: Radeon 680M (gfx1030), ROCm 6.0 userspace
- Drivers: ROCm with
--no-install-recommends— userspace compute only, no kernel module headaches inside a container - Storage: NAS mounted at
/mnt/nasvia host-level bind mounts
Step 1: Wire the GPU into the LXC
This happens on the Proxmox host, not inside the container.
Find your render device major:minor numbers:
ls -l /dev/dri
stat -c "%t %T" /dev/dri/card0 # major:minor → 226:0
stat -c "%t %T" /dev/dri/renderD128 # major:minor → 226:128
stat -c "%t %T" /dev/kfd # major:minor → 234:0
Edit the LXC config (replace 400 with your CT ID):
nano /etc/pve/lxc/400.conf
Add to the bottom:
lxc.cgroup2.devices.allow: c 226:0 rwm
lxc.cgroup2.devices.allow: c 226:128 rwm
lxc.cgroup2.devices.allow: c 234:0 rwm
lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir
lxc.mount.entry: /dev/kfd dev/kfd none bind,optional,create=file
Set privileged and restart:
pct stop 400 && pct start 400
Step 2: Install ROCm 6.0 (Userspace Only)
Shell into the container:
pct exec 400 -- bash
Install userspace libraries only. Do not install DKMS modules. The container shares the host kernel and DKMS will cause conflicts.
apt-get install -y wget gnupg2
wget -qO - https://repo.radeon.com/rocm/rocm.gpg.key | apt-key add -
echo 'deb [arch=amd64] https://repo.radeon.com/rocm/apt/6.0 bookworm main' \
| tee /etc/apt/sources.list.d/rocm.list
apt-get update
apt-get install -y rocm-hip-libraries rocm-opencl-runtime --no-install-recommends
Add your user to the render/video groups:
usermod -aG render,video root
Verify the GPU is visible:
rocminfo | grep -A2 gfx
# Should show: gfx1030 (Radeon 680M)
Step 3: Fix the systemd-logind Namespace Error
Inside the LXC you’ll hit status=226/NAMESPACE on login. Newer Debian tries to sandbox systemd-logind using kernel namespaces that LXC restricts. Fix it permanently:
mkdir -p /etc/systemd/system/systemd-logind.service.d/
cat > /etc/systemd/system/systemd-logind.service.d/override.conf << 'EOF'
[Service]
PrivateUsers=no
RestrictNamespaces=no
EOF
systemctl daemon-reload
systemctl restart systemd-logind
Login latency drops back to normal.
Step 4: Install Ollama with ROCm Backend
curl -fsSL https://ollama.com/install.sh | sh
# ROCm is auto-detected via /dev/kfd
ollama serve &
# Verify GPU is used, not CPU fallback
rocm-smi
# Pull a model sized for shared VRAM + RAM
ollama pull qwen2.5:7b
# Confirm
ollama run qwen2.5:7b "confirm GPU inference is active"
Step 5: Install Claude Code
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
apt-get install -y nodejs
npm install -g @anthropic-ai/claude-code
export ANTHROPIC_API_KEY=your-key-here
claude --version
What’s Next
Foundation is solid. Two things on the immediate list:
- Subscription Bridge: Headless Chromium to use existing Claude Pro and Gemini seats without stacking API costs on top of subscriptions.
- GitLab Integration: Autonomous repo scanning via SSH deploy keys for content pipelines.
The Beelink EQR6 handles this workload without complaint. More coming as the pipeline gets pushed further.