Could be related to #1465911124703576074 message
───
QMD on ARM (Pi 5): qmd embed timeout loop
Environment: Pi 5, aarch64, OpenClaw 2026.4.14, QMD v2.1.0
Problem: Every qmd embed cycle (boot + interval) times out at 120s with exponential backoff that never resolves.
Root cause (two layers):
- OpenClaw: embedTimeoutMs only applies to boot embed. Interval embeds use a hardcoded 120s default with no config override.
- Upstream (node-llama-cpp): On every QMD invocation, it attempts to compile llama.cpp with Vulkan. Pi has no Vulkan libs, so cmake fails — but the build attempt eats the entire 120s window. NODE_LLAMA_CPP_GPU=false doesn't prevent this (only affects runtime GPU selection, not compile-time detection). A prebuilt CPU binary exists but the Vulkan build is still attempted regardless.
Workaround: BM25-only search mode skips vector embeddings entirely:
{"memory": {"backend": "qmd", "qmd": {"searchMode": "search"}}}
Searches return in ~1.8s, no timeouts. Loses vector search/reranking but BM25 is solid for markdown memory files.
Suggestions:
• Make interval embed timeout configurable
• Skip embed cycles when searchMode: "search" is set (BM25 doesn't use vectors)
• Flag upstream to node-llama-cpp: Vulkan build failure should be cached, not retried every invocation