Whisper.cpp Vulkan on Arch: A Detective Story With No Crime
A six-week journey through source builds, CI pipelines, and one package pacman never mentioned. TL;DR: pacman -S whisper-cpp ggml-vulkan . That's it. That's the whole answer. Here's why it took me several weeks to find it. The setup I use whisper.cpp for local speech-to-text and as a part of my projects. I have a GPU utilization monitor permanently visible in my GNOME panel via the Vitals…
The story begins with a six-week investigation into a perplexing issue involving whisper.cpp, a tool used for local speech-to-text in the author's projects. The author noticed that whisper.cpp was running everything on CPU despite seeing GPU utilization. This led to a deeper dive into source builds, CI pipelines, and package management.
Initially, the official extra/whisper-cpp package was found not to be compiled with Vulkan support. This was confirmed by searching various sources, which consistently stated that the -DGGML_VULKAN flag was OFF and that GPU code was absent from the binary. The author then attempted to build from source using -DGGML_VULKAN=ON, but discovered that a separate whisper-cpp-vulkan package had vanished, making the path of building from source unavailable.
Instead, a custom PKGBUILD was created to package the Vulkan-enabled version, which was published along with prebuilt binaries and an AUR-style repository. The solution was eventually found when someone suggested installing ggml and vulkan-icd-loader. The author realized that these were the missing pieces, as ggml is a CPU library that is automatically pulled as an explicit dependency when installing whisper.cpp, and ggml-vulkan, a Vulkan backend, was not mentioned in pacman output or the Arch Wiki.
The author found this package listed on the llama.cpp Arch Wiki page, which explicitly lists all the available ggml backends. The author ultimately uninstalled their custom built whisper-cpp-vulkan-arch and installed the system's extra/whisper-cpp alongside ggml-vulkan, resulting in the GPU counter jumping. The investigation lasted six weeks, and the discovery was made during a time when the Vulkan-enabled package existed in the extra repository, but remained hidden from normal searches and Arch search results.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.