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 USB Mouse, USB Keyboard, and HDMI monitor are connected.
  • Connect the CSI camera
  • Connect USB camera
  • If you haven’t previously installed the PPA packages, please run the following steps to install them.
git clone -b ubuntu_setup --single-branch https://github.com/rubikpi-ai/rubikpi-script.git 
cd rubikpi-script
./install_ppa_pkgs.sh

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️⃣ List of Qdemo supported sample applications

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.

7️⃣ Run Multistream Qdemo supported Sample application

"The screenshot below displays the output of the Multistream Qdemo sample application running with eight streams—one live stream and seven video streams:

note

On Wayland output, stretch the Gtk+ Cairo renderer to ensure proper display of the sample application output.