Back to Nexa Sdk

Linux (Docker) 安装

docs/cn/run/linux/install.mdx

0.3.163.2 KB
Original Source

import Feedback from "/snippets/page-feedback.mdx";

Linux Docker 路径通过 Linux ARM64 容器镜像运行,并支持 NPU 访问(适用于跃龙 QCS9075 等 IoT 平台)。

前置条件

安装宿主机依赖

容器通过 -v /usr/lib:/opt/qcom-lib:ro 挂载的宿主机高通驱动库来访问 NPU。请在执行 docker run 之前,在宿主机上分两步安装这些库。

1. 标准 APT 包

提供 libatomic1libglib2.0-0,以及通用 OpenCL ICD loader:

bash
sudo apt update
sudo apt install -y \
  libatomic1 \
  libglib2.0-0 \
  ocl-icd-libopencl1

<Note>ocl-icd-libopencl1 会在下一步被 qcom-adreno1 替换。</Note>

2. 高通驱动包(来自 ubuntu-qcom-iot PPA)

提供 NPU 所需的高通专有库:

LibraryProvided by
libOpenCL_adreno.so.1, libCB.so.1, libadreno_utils.so.1, libgsl.so.1, libllvm-*.so.1qcom-adreno1
libdmabufheap.so.0.0.0qcom-libdmabufheap (auto-dep of qcom-adreno1)
libpropertyvault.so.0.0.0qcom-property-vault (auto-dep of qcom-adreno1)
libcdsprpc.so.1.0.0qcom-fastrpc1
bash
sudo apt-get install -y qcom-adreno1 qcom-fastrpc1

PPA(ppa:ubuntu-qcom-iot/qcom-ppa)在 IQ9075 EVK Ubuntu 镜像中已预配置。qcom-adreno1 会自动拉入 qcom-libdmabufheapqcom-property-vault

拉取镜像

镜像同时发布到两个仓库——选择你有权限的一个,设置 IMAGE 后再拉取:

bash
# Option A — Docker Hub (公开,无需登录):
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"
<Note> 若 `docker login` 失败或 `docker pull` 返回 `permission denied ... /var/run/docker.sock`,参见[故障排查 → Linux](/cn/resources/troubleshooting#linux) 了解凭据与 `docker` 组的修复方法。 </Note>

交互式运行

进入容器内交互式 shell:

bash
docker run -it --rm --privileged \
  -v "$PWD/data:/data" \
  -v /usr/lib:/opt/qcom-lib:ro \
  "$IMAGE"

验证

然后在容器 shell 中运行测试命令:

bash
geniex --help

<Note>NPU 访问需要 --privileged 标志。</Note>

服务器模式参见本地服务器

CLI

完整 CLI Docker 安装指南,参见 CLI 安装 — Linux ARM64 (Docker)

Python

完整 Python 安装指南(原生 Linux ARM64),参见 Python 安装 — Linux ARM64

Python SDK 既可安装在 Docker 容器内,也可直接安装在 Linux ARM64 主机上。原生安装指南请参见 Linux ARM64 标签页

<Feedback/>