SubtitleEdit/subtitleedit · error · PlatformNotSupportedException
whisper.cpp CUDA build is not available for Linux ARM64.
Error message
whisper.cpp CUDA build is not available for Linux ARM64.
What it means
Thrown by GetUrlCuBlas (resolver for DownloadWhisperCppCuBlas) when Linux ARM64 is detected. The CUDA build of whisper.cpp is x86_64 Linux-only (NVIDIA GPUs on aarch64 Linux are niche), so no artifact exists. Windows returns WindowsUrlCuBlass and Linux x64 returns LinuxUrlCuBlass.
Source
Thrown at src/ui/Logic/Download/WhisperDownloadService.cs:184
throw new PlatformNotSupportedException("Unsupported macOS architecture.");
}
}
throw new PlatformNotSupportedException();
}
private static string GetUrlCuBlas()
{
if (OperatingSystem.IsWindows())
{
return WindowsUrlCuBlass;
}
if (OperatingSystem.IsLinux())
{
if (RuntimeInformation.ProcessArchitecture == Architecture.Arm64)
{
throw new PlatformNotSupportedException("whisper.cpp CUDA build is not available for Linux ARM64.");
}
return LinuxUrlCuBlass;
}
throw new PlatformNotSupportedException();
}
}View on GitHub (pinned to 17a9f07487)
Solutions
- Use the Vulkan build instead if a GPU driver is present, or the CPU whisper.cpp build.
- Compile whisper.cpp with CUDA support for aarch64 Linux yourself and bypass the downloader.
- Run on x86_64 Linux so LinuxUrlCuBlass applies.
- Disable the CUDA engine option in the UI when IsLinux() && ProcessArchitecture == Arm64.
Example fix
// before
if (OperatingSystem.IsLinux())
{
if (RuntimeInformation.ProcessArchitecture == Architecture.Arm64)
throw new PlatformNotSupportedException("whisper.cpp CUDA build is not available for Linux ARM64.");
return LinuxUrlCuBlass;
}
// after: only surface the CUDA option where a build exists
if (OperatingSystem.IsLinux() && RuntimeInformation.ProcessArchitecture != Architecture.X64)
{
disableEngine(WhisperEngine.WhisperCppCuda);
} Defensive patterns
Strategy: validation
Validate before calling
if (OperatingSystem.IsLinux() && RuntimeInformation.ProcessArchitecture == Architecture.Arm64)
{ /* CUDA whisper.cpp download unavailable; use Vulkan or CPU build */ } Type guard
static bool CudaWhisperSupported() =>
OperatingSystem.IsWindows() ||
(OperatingSystem.IsLinux() && RuntimeInformation.ProcessArchitecture == Architecture.X64); Try / catch
try { await svc.DownloadWhisperCppCuBlas(stream, progress, ct); }
catch (PlatformNotSupportedException ex) when (ex.Message.Contains("CUDA build is not available"))
{ /* offer Vulkan or CPU whisper.cpp */ } Prevention
- Restrict the CUDA engine option to Windows and Linux x64.
- On ARM64 Linux with an NVIDIA GPU, build whisper.cpp CUDA locally.
When it happens
Trigger: Calling DownloadWhisperCppCuBlas on Linux where ProcessArchitecture == Arm64 (e.g. Jetson Orin, Ampere with NVIDIA GPU).
Common situations: A user on an ARM64 Linux box with an NVIDIA GPU (Jetson, Graviton + GPU) selects the CUDA whisper.cpp engine expecting GPU acceleration.
Related errors
- Faster-Whisper-XXL is not available for Linux ARM64.
- whisper.cpp Vulkan build is not available for Linux ARM64.
- llama.cpp CUDA build is not available for Linux ARM64.
- ChatLLM is not available for Linux ARM64.
- Google Lens OCR is not available for Linux ARM64.
AI-assisted analysis of SubtitleEdit/subtitleedit@17a9f07487 (2026-08-13).
Data as JSON: /api/errors/199d6832196cf19c.
Report an issue: GitHub.