Skip to main content

QIM SDK Development Guide

The Qualcomm Intelligent Multimedia SDK (IM SDK) is a GStreamer-based AI/ML application development framework. It provides ready-to-use CLI tools and hardware-accelerated plugins covering the complete pipeline from video capture, AI inference, to result rendering.

Relationship with QAIRT

QIM SDK sits on top of QAIRT SDK:

LayerContentsStatus on Q900
QAIRT RuntimeQNN / SNPE / LiteRT runtime librariesInstalled via apt (qairt-libs)
QIM SDK PluginsGStreamer ML plugins (capture, preprocess, inference, postprocess, render)Installed via apt
QIM SDK Sample Appsgst-ai-* CLI toolsInstalled via apt

Install QAIRT base libraries first (sudo apt install -y qairt-libs), see the installation steps below.

Prerequisites

  • Radxa AIRbox Q900 (QCS9075 / SA8775P, HTP V73 NPU)
  • Ubuntu 24.04, with network access
  • Display connected (Wayland)

Installation

Step 1: Install QAIRT Base Libraries

radxa@airbox$
sudo apt install -y qairt-libs

Step 2: Install QIM SDK

radxa@airbox$
sudo apt install -y \
gstreamer1.0-tools \
tensorflow-lite-qcom-apps \
gstreamer1.0-qcom-sample-apps \
gstreamer1.0-qcom-python-examples

All ML inference plugins and video processing plugins are automatically installed as dependencies.

Step 3: Verify Installation

radxa@airbox$
ls /usr/bin/gst-ai-*

Expected output: 20 gst-ai-* CLI tools.

Download Models and Test Resources

Use the official script for one-click download:

radxa@airbox$
sudo apt install -y unzip
curl -L -O https://raw.githubusercontent.com/quic/sample-apps-for-qualcomm-linux/refs/heads/main/download_artifacts.sh
chmod +x download_artifacts.sh
sudo ./download_artifacts.sh -v GA1.6-rel -c QCS9075

After download:

DirectoryContents
/etc/models/10 .tflite quantized models
/etc/labels/16 label and config files
/etc/media/4 test videos
/etc/configs/38 app config JSONs (from package install)

Quick Verification

radxa@airbox$
gst-ai-classification --config-file=/etc/configs/config_classification.json

On success, the display shows the test video with classification labels overlaid. The terminal output includes Using DSP Delegate and Pipeline state changed to PLAYING.

Press Ctrl + C to stop.

Normally you do not need to manually set XDG_RUNTIME_DIR or WAYLAND_DISPLAY — these are configured automatically on SSH login.

Available Sample Applications

The following apps have been verified on Q900 (QCS9075):

ApplicationDescriptionModelNPU
Image ClassificationIdentify subjects in imagesInceptionV3DSP
Object DetectionDetect and locate objectsYOLOXDSP
Pose DetectionHuman body keypoint detectionHRNetDSP
Image SegmentationPer-pixel semantic segmentationDeepLabV3+DSP
Monocular DepthDepth heatmap estimationMiDaS V2DSP
Super ResolutionLow-resolution upscalingQuickSRNetDSP (partial)
Audio ClassificationAudio event classificationYAMNetCPU
Face DetectionFace landmark detectionLightweight Face DetectionDSP
Daisy-Chain Detection & ClassificationCascaded detection + classificationYOLOX + InceptionV3DSP
Daisy-Chain Detection & PoseCascaded detection + poseYOLOX + HRNetDSP
Parallel AI Fusion4-model simultaneous inferenceYOLOX + InceptionV3 + HRNet + DeepLabV3+DSP
Multistream InferenceMulti-stream concurrent detectionYOLOXDSP
Event EncoderDetection event encodingYOLOXDSP
Metadata ParserDetection metadata exportYOLOXDSP

See the IM SDK Reference Manual Chapter 3 for the full list.

Reference

Troubleshooting

No display output

Check that the Wayland socket exists:

radxa@airbox$
ls $XDG_RUNTIME_DIR/$WAYLAND_DISPLAY

DSP inference failure

Verify FastRPC device nodes exist:

radxa@airbox$
ls /dev/fastrpc-cdsp*

If no output, see Enable NPU.

Model files missing

Re-run the download script:

radxa@airbox$
sudo ./download_artifacts.sh -v GA1.6-rel -c QCS9075

    You need to be logged into GitHub to post a comment. If you are already logged in, please ignore this message.

    Radxa-docs © 2026 by Radxa Computer (Shenzhen) Co.,Ltd. is licensed under CC BY 4.0