docs/cn/resources/faq.mdx
import Feedback from "/snippets/page-feedback.mdx";
[快速入门](/cn/get-started/quickstart)是这四条路径的统一入口。
详见[平台与运行环境](/cn/get-started/platforms#geniex-运行环境)。
Qualcomm AI Engine Direct 需要预编译的 Qualcomm AI Hub 模型——新增模型需先在 C++ 侧注册。
- **Windows:** `$env:HF_TOKEN = "hf_..."`(或 `$env:GENIEX_HFTOKEN = "hf_..."`)
- **Linux:** `export HF_TOKEN="hf_..."`(或 `export GENIEX_HFTOKEN="hf_..."`)
也可运行 `huggingface-cli login` 将令牌持久化到 `~/.cache/huggingface/token`。
优先级:`GENIEX_HFTOKEN` > `HF_TOKEN` > 令牌文件。在 [huggingface.co/settings/tokens](https://huggingface.co/settings/tokens) 获取令牌。完整设置步骤见[设置 Hugging Face 令牌](/cn/models/supported#设置-hugging-face-令牌)。
打开终端,运行 QDC 提供的 SSH 隧道命令,把 `<PRIVATE_KEY_FILE_PATH>` 替换为你的私钥路径。
<Tip>
**`WARNING: UNPROTECTED PRIVATE KEY FILE!`** —— 你的 `.pem` 文件权限过宽。SSH 要求私钥仅文件所有者可读:
```bash
chmod 600 /path/to/your-key.pem
```
</Tip>
</Step>
<Step title="连接到设备">
在新终端中通过转发端口 SSH 进入设备。默认密码为 `oelinux123`:
```bash
ssh -o StrictHostKeychecking=no -o UserKnownHostsFile=/dev/null -p 2222 root@localhost
```
</Step>
</Steps>
从 [`qualcomm/ai-hub-apps`](https://github.com/qualcomm/ai-hub-apps/blob/release/geniex_chat_android/README.md) 在 Android Studio 中构建示例应用(**Build → Build APK(s)**)以生成 `.apk`。
<Steps>
<Step title="选择设备">
登录 [Qualcomm Device Cloud](https://qdc.qualcomm.com/),选择 **骁龙 8 Elite** 或 **骁龙 8 Elite Gen 5**,并选择 **Interactive session(交互式会话)**。
</Step>
<Step title="配置会话">
启用 **Wi-Fi**(让 demo 能下载模型)和 **Keep screen on**(避免下载中途锁屏)。**无需** SSH。
</Step>
<Step title="上传 APK">
在会话设置页用 **Upload file** 把你构建的 `.apk` 推送到设备——该文件必须在会话开始**之前**上传。
</Step>
<Step title="启动并测试">
启动会话。在镜像屏幕中点击已上传的 APK 进行安装,然后从应用抽屉打开 **GenieX Demo**。
</Step>
<Step title="(可选)用图片测试 VLM">
通过 QDC 终端上传一张测试图片:
```bash
curl -L "https://s7d1.scene7.com/is/image/dmqualcommprod/Qualcomm_AIHub_image2-1?$QC_Responsive$&fmt=png-alpha" -o /data/local/tmp/qualcomm.png
cp /data/local/tmp/qualcomm.png /sdcard/Download/
```
该图片会出现在应用的图片选择器中。
</Step>
</Steps>
QDC 设备(高通嵌入式 Linux / Yocto)已预装 ARM64 Python,用 `python3 --version` 验证即可。如设备未预装 Python,使用下列方法之一。
**方法 1 —— [Miniconda](https://docs.anaconda.com/miniconda/)(推荐;Yocto 与 Ubuntu ARM64 均可用)**
```bash
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh
# CONDA_OVERRIDE_GLIBC:Yocto 镜像通常不带 `ldd`,安装器会因此报
# "Installer requires GLIBC >=2.28, but system has ." 而退出。
# 该变量跳过探测;Qualcomm Linux 1.7+ 的实际 glibc 是 2.39,远超下限。
CONDA_OVERRIDE_GLIBC=2.39 bash Miniconda3-latest-Linux-aarch64.sh -b -p $HOME/miniconda
eval "$($HOME/miniconda/bin/conda shell.bash hook)"
# 新版 conda 在非交互模式下强制要求接受默认 channel 的 ToS,
# 否则下面的 `conda create` 会直接报错。
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r
conda create -n geniex python=3.13 -y
conda activate geniex
python --version
```
**方法 2 —— apt(仅 Ubuntu ARM64)**
```bash
sudo apt update && sudo apt install -y python3 python3-pip python3-venv
python3 --version
```
QDC Yocto 镜像不带 `apt`,请使用上面的 Miniconda 方法。