Skip to content

Snapdragon hw acceleration#8

Open
eoinjordan wants to merge 7 commits intomasterfrom
snapdragon-hw-acceleration
Open

Snapdragon hw acceleration#8
eoinjordan wants to merge 7 commits intomasterfrom
snapdragon-hw-acceleration

Conversation

@eoinjordan
Copy link
Copy Markdown

This pull request introduces a comprehensive Windows offline installer for the Edge Impulse Linux CLI, enabling installation on Windows devices without requiring npm, build tools, or internet access to npm. It adds a full GitHub Actions build workflow, Windows-specific installer scripts, and documentation, with special support for ARM64 Snapdragon hardware acceleration.

The most important changes are:

Windows Installer Infrastructure:

  • Added .github/workflows/build-windows-installer.yml to automate building Windows installers for x64 and ARM64 via GitHub Actions, producing artifacts and optionally uploading releases.
  • Added windows-installer/installer.nsi (NSIS script) to create a signed, branded Windows installer that bundles Node.js, prebuilt modules, and CLI shims, and manages PATH/uninstall cleanly.
  • Added PowerShell scripts for staging (stage.ps1), branding (prepare-branding.ps1), and hardware detection (detect-snapdragon.ps1) to automate packaging and ARM64 optimization detection. [1] [2] [3]
  • Updated .gitignore to exclude installer build output and generated branding assets.

Documentation:

  • Updated README.md with a new section on using the Windows offline installer, outlining included components, requirements, and instructions for downloading artifacts.
  • Documented Snapdragon hardware acceleration support for ARM64, including detection and enabling QNN (Qualcomm Neural Network) runtime, with instructions for end users.

Hardware Acceleration Support:

  • Added detect-snapdragon.ps1 to check for ARM64 Snapdragon devices and QNN runtime presence, enabling hardware acceleration for neural network inference on supported platforms.

These changes make the Edge Impulse Linux CLI easily installable on Windows, especially in restricted environments, and provide enhanced performance on ARM64 Snapdragon devices.

Chocolatey ImageMagick on Windows runners lacks PNG codec delegates,
causing prepare-branding.ps1 to fail with:
  magick.exe: no decode delegate for this image format

Fix: generate header.bmp (150x57) and welcome.bmp (164x314) on macOS
using Homebrew ImageMagick from img/linux-collection.png, commit them
to the repo, and remove the Install ImageMagick and Generate installer
branding assets CI steps entirely. BMPs will be regenerated locally
when the source image changes.
…ect graph image

The previous header.bmp and welcome.bmp were generated from
img/linux-collection.png which is a raw sensor data graph screenshot,
not the Edge Impulse brand logo.

Regenerate from studio/public/themes/default/png/logo.png (same source
as the serial-daemon installer). Also update prepare-branding.ps1 to
look for img/edge-impulse-logo.png first, falling back to the monorepo
logo path.
- Add detect-snapdragon.ps1 script to identify Qualcomm devices and QNN runtime
- Integrate Snapdragon detection with installer staging pipeline
- Bundle detection helper in installer for post-install verification
- Add comprehensive Snapdragon section to README with setup/verification steps
- Support automatic CPU fallback on unsupported devices

This enables Windows ARM64 users on Snapdragon processors to leverage:
  * Neural network inference via Snapdragon NPU
  * DSP acceleration for signal preprocessing
  * Model compilation optimizations
  * Graceful fallback to CPU mode if QNN unavailable

Supported devices: Windows 11 ARM64 on Snapdragon, RB3 Gen 2, IQ-9
@eoinjordan eoinjordan force-pushed the snapdragon-hw-acceleration branch from 0366f92 to 96f3df5 Compare May 8, 2026 12:59
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