Skip to main content

Qualcomm® Qdemo

The Qualcomm® Qdemo application provides a graphical interface to explore multimedia and AI sample applications powered by the Qualcomm Intelligent Multimedia Product (QIMP) SDK. Designed for developers working on Ubuntu-based Dragonwing boards, Qdemo enables rapid evaluation of AI pipelines and multimedia capabilities without writing GStreamer code manually. These applications demonstrate real-time performance by leveraging GPU and NPU acceleration, thanks to QIMP’s zero-copy architecture. The QIMP SDK handles tasks like video capture, resizing, cropping, inference, and rendering—all orchestrated through GStreamer plugins such as:

qtivtransform: Accelerates color conversion, cropping, and resizing on GPU.
qtimltflite: Executes TensorFlow Lite models on NPU.

This setup allows developers to focus on evaluating performance and capabilities, rather than low-level implementation.

Getting Started with Qdemo

To begin exploring Qdemo on the target device, follow these step-by-step instructions to install required dependencies, configure the system, and launch the graphical interface.

1️⃣ Before launching the Qdemo, ensure the target device meets all the following prerequisites

Ubuntu OS flashed and terminal access became available.
SBC mode enabled with mouse, keyboard, HDMI monitor, and cable connected.
• Run install_ppa_pkgs.sh to install required packages.

git clone -b ubuntu_setup --single-branch https://github.com/rubikpi-ai/rubikpi-script.git 
cd rubikpi-script
./install_ppa_pkgs.sh

• Connect the CSI camera
• Connect USB camera (Optional)

2️⃣ Install Dependencies

Open the terminal from SBC and install following packages.

sudo apt-get install libgstreamer1.0-dev gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-alsa gstreamer1.0-gtk3
sudo apt-get install python3-gi-cairo gir1.2-gtk-3.0

3️⃣ Create media, labels, models and data folder and change owner to ubuntu:ubuntu.

sudo mkdir -p /etc/media
sudo mkdir -p /etc/labels
sudo mkdir -p /etc/models
sudo mkdir -p /etc/data
sudo chown -R ubuntu:ubuntu /etc/media/
sudo chown -R ubuntu:ubuntu /etc/labels/
sudo chown -R ubuntu:ubuntu /etc/models/
sudo chown -R ubuntu:ubuntu /etc/data/
wget -P /etc/media/ https://raw.githubusercontent.com/quic/sample-apps-for-qualcomm-linux/refs/heads/main/scripts/download_artifacts.sh
wget -P /etc/media/ https://raw.githubusercontent.com/quic/sample-apps-for-qualcomm-linux/refs/heads/main/artifacts/qdemo/Qdemo.gif
wget -P /etc/media/ https://raw.githubusercontent.com/quic/sample-apps-for-qualcomm-linux/refs/heads/main/artifacts/qdemo/Qdemo.png

4️⃣ Launch the GUI

gst-gui-launcher-app.py

5️⃣ Select Wi-Fi to connect to a Wi-Fi network.

6️⃣ Run QDemo apps

You can select the Source as “On-Device-Camera” or “USB-Camera” and run the mentioned Sample applications.

Sample AppsDetails
Record live videoRecords the camera feed and saves up to 30 seconds of video.
DashCameraMulti-camera streaming
VideoWallPerforms concurrent video playback for MP4 AVC (H.264) videos and performs composition on a video wall display
ObjectDetectionObject detection
Parallel AI FusionPerforms object detection, object classification, pose detection, and image segmentation on an input stream from a camera.
Face DetectionProcesses inputs from a camera and uses the Qualcomm® AI Hub detection model to produce a preview.
Daisychain PosePerforms cascaded object detection and classification on images streamed from a camera.
MultistreamShows AI inference (object detection) on input streams from a camera or a file.