docs/en/run/linux/install.mdx
import Feedback from "/snippets/page-feedback.mdx";
The Linux Docker path runs through a container image built for Linux ARM64 with NPU access (Dragonwing QCS9075 and similar IoT platforms).
The container reaches the NPU through the host's Qualcomm driver libraries, mounted in via -v /usr/lib:/opt/qcom-lib:ro. Install them on the host before docker run — follow CLI Install → Install host dependencies.
The image is published to two registries — pick whichever you have access to and set IMAGE accordingly, then pull:
# Option A — Docker Hub (public, no login required):
IMAGE=docker.io/qualcomm/geniex:latest
# Option B — Qualcomm Container Registry:
docker login docker-registry.qualcomm.com -u '$app' -p GB2S6KXMJXTPV8VHNFNS7Q6LVH75LOOBTLT8D723WUX6PSFZMTX95GIQG4EFWH5C021ONZ5763VI9IDHU96Q7VAZJ2830CLX3NPI6STQOJWRYXLLA2ZYTL1S
IMAGE=docker-registry.qualcomm.com/qcom-ai-hub/geniex-cli:latest
docker pull "$IMAGE"
Drop into an interactive shell inside the container:
docker run -it --rm --privileged \
-v "$PWD/data:/data" \
-v /usr/lib:/opt/qcom-lib:ro \
"$IMAGE"
Then run a test command from the container shell:
geniex --help
<Note>The --privileged flag is required for NPU access.</Note>
For server mode, see Local server.
For the full CLI Docker install guide, see CLI Install — Linux ARM64 (Docker).
For the full Python install guide on native Linux ARM64, see Python Install — Linux ARM64.
The Python SDK can be installed inside the Docker container or directly on the Linux ARM64 host. See the Linux ARM64 tab for native install instructions.
<Feedback/>