Skip to content

Conversation

@braden-w
Copy link
Member

Windows users without the Vulkan runtime installed were experiencing "vulkan-1.dll not found" errors that prevented the app from starting. This affected Windows 10 systems, machines without dedicated GPUs, virtual machines, and clean Windows installations.

The root cause: our migration to transcribe-rs (PR #791) introduced a hard dependency on Vulkan through whisper-rs. Windows checks all DLLs in the import table at process startup, so the app fails immediately before any code runs.

The fix bundles vulkan-1.dll from the Vulkan SDK during CI builds. Since Tauri's bundle.resources places files in a resources/ subdirectory rather than next to the executable, I added NSIS installer hooks that move the DLL to the correct location after installation. Once the DLL is present, whisper.cpp's GGML backend gracefully falls back to CPU transcription on systems without GPU/Vulkan drivers.

Note: This fix works for NSIS installers (the default). MSI installers don't support the same hook mechanism, but NSIS is the primary distribution method.

Fixes #829, fixes #840

Windows users without the Vulkan runtime installed were experiencing
"vulkan-1.dll not found" errors that prevented the app from starting.
This affected systems without dedicated GPUs, VMs, and clean Windows
installations.

The fix bundles vulkan-1.dll from the Vulkan SDK during CI builds. Since
Tauri places resources in a subdirectory rather than next to the exe,
NSIS installer hooks move the DLL to the correct location after install.
Once the DLL is present, whisper.cpp gracefully falls back to CPU
transcription on systems without GPU/Vulkan drivers.

Fixes #829, fixes #840
@github-actions
Copy link
Contributor

github-actions bot commented Dec 9, 2025

🚀 Preview Deployment Ready!

Whispering Preview: https://whispering-pr-1006.epicenter.workers.dev

Worker Name: whispering-pr-1006

This preview will be automatically updated with new commits to this PR.


Built with commit be5519f

Braden Wong added 2 commits December 8, 2025 18:57
The humbletim/install-vulkan-sdk action extracts the SDK with a
different directory structure than expected. Instead of hardcoding
the path, recursively search for vulkan-1.dll and add debugging
output to help diagnose issues.
The previous action (humbletim/install-vulkan-sdk) only installs the
Vulkan SDK development tools but NOT the runtime (vulkan-1.dll).
This caused the Bundle Vulkan DLL step to fail since vulkan-1.dll
was not present in the SDK directory.

Switched to jakoch/install-vulkan-sdk-action which supports
install_runtime: true option that installs the Vulkan Runtime
containing vulkan-1.dll at runtime/x64/vulkan-1.dll.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Whispering crashes on Windows CPU-only systems after v7.4.0 due to vulkan-1.dll Vulkan-1.dll not found error at launch

2 participants