My ZimaBlade has a Quadro P600 on a powered riser for Immich. It works, for a while, then logs Xid 79, GPU has fallen off the bus and stays gone until a reboot. The nasty part is Immich doesn't break. It quietly falls back to the CPU and carries on, slowly. Mine went six days before I noticed.
So the GPU repo has a new script: zima-gpu-watch.sh. It checks every few minutes, logs how long each boot's GPU lasts, and alerts once when it goes and once when it's back. Not every five minutes.
That first line is my actual Zima this morning: dead, 408 hours into the boot. The rest is the check the setup guide runs every week on a fresh machine, using a stand-in for nvidia-smi so it can fake alive and dead.
Diagnose first
git clone https://github.com/casareanderson/zimablade-gpu-immich && cd zimablade-gpu-immich
bash diagnostics/zima-gpu-check.sh
Nine read-only sections. As a normal user, five are accurate and the rest tell you they need root (on ZimaOS that's the privileged-container route in the guide). Read section 04 first: width 0 is a physical fault no driver will fix.
Then watch it
From another always-on box with an SSH key to the Zima:
ZIMA=you@zima GPU_MATCH=P600 WEBHOOK=https://discord.com/api/webhooks/... bash diagnostics/zima-gpu-watch.sh
Put that in cron every 15 minutes. Two rules it follows:
-
Unreachable isn't dead. If SSH can't reach the Zima (rebooting, network blip) it logs
unreachableand doesn't touch the state. - One alert per change. First run just records the starting state.
What CI can't prove
The real hardware. The weekly run proves both scripts run cleanly on a machine with no GPU and that the alive/dead logic alerts exactly once per change. Whether your card stays on the bus is between you, your riser cable and your grounds.
Full guide: github.com/casareanderson/zimablade-gpu-immich/blob/main/docs/SETUP.md
Anyone got a riser setup in a small box that's actually stable? What fixed it?
🤖 Drafted with AI assistance from my own homelab notes, logs and repos, then reviewed and edited before publishing.

Top comments (0)