pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/OpenWhispr/openwhispr/pull/379

ts/global-a469e846088cc1bf.css" /> fix: CUDA and Vulkan binary download failures on Windows by egsok · Pull Request #379 · OpenWhispr/openwhispr · GitHub
Skip to content

fix: CUDA and Vulkan binary download failures on Windows#379

Open
egsok wants to merge 1 commit intoOpenWhispr:mainfrom
egsok:fix/cuda-vulkan-download-windows
Open

fix: CUDA and Vulkan binary download failures on Windows#379
egsok wants to merge 1 commit intoOpenWhispr:mainfrom
egsok:fix/cuda-vulkan-download-windows

Conversation

@egsok
Copy link

@egsok egsok commented Mar 6, 2026

Summary

Fixes CUDA and Vulkan GPU acceleration binaries failing to download/activate on Windows systems where the PowerShell Microsoft.PowerShell.Archive module cannot load.

Root cause: Expand-Archive relies on Microsoft.PowerShell.Archive which fails to auto-load on some Windows configurations, silently breaking all zip extraction in both WhisperCudaManager and LlamaVulkanManager.

Additional issues fixed:

  • After successful CUDA/Vulkan download, the running whisper/llama server was not restarted, so the CPU binary continued to be used until app restart
  • CUDA downloads had no concurrent download guard, allowing multiple parallel downloads from rapid UI clicks
  • CUDA download errors were silently swallowed with no logging

Changes

src/helpers/whisperCudaManager.js

  • Replace Expand-Archive with tar.exe (built into Windows 10+), falling back to PowerShell if tar is unavailable
  • Add recursive _findFile()/_findFiles() for binary search in extracted archives (matches existing LlamaVulkanManager pattern)
  • Add _downloading flag to prevent concurrent downloads
  • Restructure try/finally so the download flag resets on any error

src/helpers/llamaVulkanManager.js

  • Replace Expand-Archive with tar.exe + PowerShell fallback (same fix)

src/helpers/ipcHandlers.js

  • Restart whisper-server after CUDA binary download/delete
  • Restart llama-server after Vulkan binary download
  • Add error logging for CUDA and Vulkan download failures
  • Add downloading state to CUDA status IPC response

Test plan

  • Download CUDA binary on Windows — verify extraction succeeds and GPU acceleration activates immediately
  • Download Vulkan binary on Windows — verify extraction succeeds and GPU acceleration activates immediately
  • Click download button rapidly — verify only one download runs at a time
  • Delete CUDA/Vulkan binary — verify server falls back to CPU binary
  • Cancel mid-download — verify clean state recovery
  • Verify Linux extraction (unzip) still works unchanged

🤖 Generated with Claude Code

- Replace PowerShell Expand-Archive with tar.exe for zip extraction
  (fallback to Expand-Archive if tar unavailable). Fixes systems where
  Microsoft.PowerShell.Archive module fails to load.
- Add recursive file search (_findFile/_findFiles) in CUDA manager
  to handle nested archive structures, matching LlamaVulkanManager pattern.
- Add concurrent download guard (_downloading flag) to prevent
  parallel CUDA downloads from multiple UI clicks.
- Restart whisper-server after CUDA download/delete so the correct
  binary is used without requiring app restart.
- Restart llama-server after Vulkan download so GPU acceleration
  activates immediately.
- Add error logging for CUDA and Vulkan download failures.
- Expose downloading state in CUDA status IPC response.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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.

1 participant

pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy