# Hardware compatibility JARVIS-QVAC has one inference owner: `jarvisd` owns the QVAC master and every model call goes through `daemon/qvac-master.js`. The harness, media jobs, and computer-use tools do not start competing QVAC servers. The GPU gate is strict: when QVAC cannot report a usable GPU backend, inference fails with a truthful diagnostic instead of silently falling back to CPU. | Hardware path | Recommended profile | Expected backend | Notes | | --- | --- | --- | --- | | AMD Vulkan | laptop-16gb or desktop-gpu | Vulkan/llama.cpp | Verify the QVAC runtime sees the ICD, not only `vulkaninfo`. | | NVIDIA CUDA | desktop-gpu | CUDA/cuBLAS | Install a driver compatible with the QVAC build and verify VRAM. | | Intel Vulkan | laptop-16gb | Vulkan | Use a current Mesa stack; larger media jobs may remain queued. | | CPU only | unsupported for inference | none | Wake and diagnostics can run, but the master refuses model inference. | Run `npm run gpu-doctor` before downloading models. `assessModelFit()` should select the largest profile that fits reported VRAM; an unavailable model stays visible as unavailable and never causes the voice loop to crash. The current machine's GPU visibility is an installation concern when this document is updated; record the exact doctor output in the release checklist.