diff options
| author | Henry J. Webster <hwebs@hwebs.info> | 2026-08-03 22:51:26 -0500 |
|---|---|---|
| committer | Henry J. Webster <hwebs@hwebs.info> | 2026-08-03 22:51:26 -0500 |
| commit | 9acf89a3af3fd4c354fcd887397b0c035bb21494 (patch) | |
| tree | 0ca4b2fd94270030b3711d2ebdd469357bb5887d /machines/enzo/desktop.nix | |
| parent | 3df910d75fa98a7d0291e6b8c6889905c6088f64 (diff) | |
kusanagi/ollama: fix boot race with amdgpu, drop misdiagnosed HSA override
The recurring "ollama runs 100% on CPU" regressions were a boot-order
race, not a gfx-target mismatch: ollama.service only ordered after
network.target, and at boot it started between /dev/kfd and the 7900
XT's render node appearing. ollama probes GPUs once at startup, found
none, and silently fell back to CPU until the next manual restart —
which is why the previous HSA_OVERRIDE_GFX_VERSION commit "worked": the
deploy restarted the service on a long-running system, and the restart
was the actual cure.
The card is a 7900 XT (Navi 31), natively gfx1100 — verified that
discovery with no overrides finds it fine and drops only the
unsupported Raphael iGPU (gfx1036). Remove HSA_OVERRIDE_GFX_VERSION and
HIP_VISIBLE_DEVICES (ollama itself warns overriding visible devices can
break discovery).
Real fix: systemd-tag the kfd/renderD* char devices via udev (they get
no device units otherwise) and order ollama after them, so discovery
only runs once the GPU exists.
Assisted-by: claude-code:claude-fable-5
Diffstat (limited to 'machines/enzo/desktop.nix')
0 files changed, 0 insertions, 0 deletions
