For the complete documentation index, see llms.txt. This page is also available as Markdown.

Qualcomm Dragonwing (QNN)

Developer Preview of deploying the EyePop.ai runtime to Qualcomm Dragonwing (QNN) devices

Dragonwing Runtime

Run the EyePop runtime on a Qualcomm Dragonwing device with Docker, accelerated by the on-device NPU through the Qualcomm AI Runtime (QAIRT) via the QNN execution provider.

Validated device: Innodisk EXEC-Q911.

Requirements

  • Innodisk EXEC-Q911 (or a compatible Dragonwing device)

  • An Innodisk-provided Ubuntu image flashed to the device β€” use it rather than the stock Qualcomm image so all IO keeps working (see iQ-Studio for flashing/boot guides)

  • Docker

  • Qualcomm AI Runtime (QAIRT) SDK installed on the device (see Prepare The Device)

  • EyePop dashboard access

0. Prepare The Device (QAIRT)

The runtime needs a preinstalled QAIRT SDK on the host. Use Innodisk's iQ-Studio to boot the device and provision the BSP:

git clone https://github.com/InnoIPA/iQ-Studio.git
cd iQ-Studio && ./install.sh

Apply the new group membership without logging out:

Point QAIRT_SDK_ROOT at your QAIRT install β€” the runtime mounts it into the container. Confirm the lib/ tree exists (paths vary by QAIRT version and Hexagon target):

1. Get The Server Files From The Dashboard

Open https://dashboard.eyepop.ai, go to My Servers, and click Add Server. The dashboard provides eyepop-instance.yml and a Docker registry login command.

Save eyepop-instance.yml on the device (for example ~/eyepop/eyepop-instance.yml). It looks like:

Make it readable by Docker:

2. Log In To The Registry

Run the dashboard's Docker login command on the device:

The registry key secret is sensitive β€” keep it out of support tickets and logs.

3. Start The Runtime

From the directory containing eyepop-instance.yml:

The device flags let the non-root runtime reach the Hexagon NPU: --privileged/--device expose the devices, the fastrpc and dmaheap host group IDs are resolved at run time, and QAIRT plus host libraries are mounted read-only at /opt/qairt and /lib.host. The ADSP_LIBRARY_PATH/LD_LIBRARY_PATH values match the EXEC-Q911 β€” adjust them if your QAIRT layout or Hexagon version differs.

4. Verify

First start takes a minute while the runtime registers; the first model run is slower while the model downloads and caches.

Stop Or Update

To update, pull a newer tag and re-run step 3:

Last updated