# Run sample applications Note To upgrade the software to QLI 2.0, see [Update the Qualcomm Linux software](https://docs.qualcomm.com/doc/80-80023-251/topic/upgrade-rb3gen2-software.html#upgrade-rb3gen2-software). Qualcomm^®^ Linux^®^ provides sample applications for multimedia and AI use cases, including retail, Qualcomm^®^ Edge AI Box Solutions, and IP cameras. Two main groups of sample applications are available: - Multimedia sample applications demonstrate camera, video, and audio features. - AI sample applications showcase AI and machine learning (ML) capabilities. Use one of the following methods to run sample applications on the development kit. **Use the Qualcomm Visual Studio Code Extension to run sample applications** Run sample applications using the integrated development environment. For instructions, see [Qualcomm Visual Studio Code Extension Reference Guide](https://docs.qualcomm.com/bundle/publicresource/topics/80-79972-1/quick_start.html). https://docs.qualcomm.com/bundle/publicresource/topics/80-79972-1/quick_start.html **Use a host computer to run sample applications** Run sample applications manually using an Ubuntu, Windows^®^, or macOS^®^-based host computer. For instructions, see [Run sample applications using a host computer](https://docs.qualcomm.com/doc/80-80023-251/topic/demo_app.html#run-apps-using-host-computer). https://docs.qualcomm.com/doc/80-80023-251/topic/demo_app.html#run-apps-using-host-computer **Use Qdemo to run sample applications** Use Qdemo, a preinstalled GUI-based application that allows you to run sample applications without a host setup. For instructions, see [Qualcomm Dragonwing RB3 Gen 2 Development Kit quickstart – Linux](https://docs.qualcomm.com/bundle/publicresource/topics/80-80023-253/qsg-landing-page.html). https://docs.qualcomm.com/bundle/publicresource/topics/80-80023-253/qsg-landing-page.html ## Run sample applications using a host computer You can run the sample application on the Qualcomm Dragonwing^™^ RB3 Gen 2 Development Kit using a host computer with Windows, Ubuntu, or mac operating system. ### Prerequisites Before running any application, ensure to [Set up the device](https://docs.qualcomm.com/doc/80-80023-251/topic/set_up_the_device.html#set-up-the-device). ### Run multimedia sample applications The multimedia sample applications show use cases for camera, display, and video streams on the device. #### Multicamera streaming or encoding (Dash cam) The **gst-multi-camera-example** command-line application shows simultaneous streaming from two camera sensors on the Dragonwing RB3 Gen 2 device. The application composes the camera feeds side-by-side to display on a screen or encodes and stores the video streams to files. The following figure shows the workflow of the gst-multi-camera-example (Dash cam) application, divided into two functional sections: Composition and Encoding. In the Composition section, Camera 0 and Camera 1 feed into a Composer, which sends output to a display. In the Encoding section, each camera stream is processed by an H.264 encoder and then saved to a file. Camera 0 Composition Composer Display Camera 1 Camera 0 Encoding H.264 encoder Write to file H.264 encoder Camera 1 Write to file **Figure: Dash cam application workflow**
Last Published: Jul 01, 2026
**Video: Multicamera application** **Example usage** To start the application, run the following use cases from the SSH terminal: 1. To view the `waylandsink` output, run the following command: gst-multi-camera-example -o 0 Copy to clipboard 2. To store the encoder output, do the following: 1. Run the following command: gst-multi-camera-example -o 1 Copy to clipboard The device stores the encoded files at `/opt/cam1_vid.mp4` and `/opt/cam2_vid.mp4` for camera 1 and camera 2, respectively. 2. To pull the files from the host computer, run the following command: scp root@:/opt/cam1_vid.mp4 Copy to clipboard Note When prompted for a password, enter `oelinux123`. 3. To play the encoder output, you can use any media player that supports MP4 files. - To stop the use case, select Ctrl + C. - To display the available help options, run the following command: gst-multi-camera-example --help Copy to clipboard - The `GST_DEBUG` environment variable controls the GStreamer debug output. Set the required level to allow logging. For example, to log all warnings, run the following command: export GST_DEBUG=2 Copy to clipboard #### Multichannel video decode and compose (Video wall) The **gst-concurrent-videoplay-composition** command-line application allows concurrent video decoding and playback for AVC-coded videos and composes them on a display for video wall applications. The application requires at least one input video file, which should be an MP4 file with the AVC codec. The figure shows the workflow of the gst-concurrent-videoplay-composition (video wall) application. The workflow shows how four video streams are read from files, decoded using H.264 encoders, and composed into a single output. The Composer then sends the combined stream to a display for concurrent playback. Read from file H.264 encoder Composer Display H.264 encoder Read from file H.264 encoder Read from file H.264 encoder Read from file **Figure: Video wall application workflow**
Last Published: Jul 01, 2026
**Video: Multichannel decode and display application** **Example usage** 1. To transfer prerecorded or test videos that are in the AVC-encoded MP4 (H.264) format (with the filename as ``) to your device, run the following command on the host computer: scp root@[DEVICE IP-ADDR]:/opt/ Copy to clipboard Note When prompted for a password, enter `oelinux123`. 2. To start concurrent playback for four channels, run the following command: gst-concurrent-videoplay-composition -c 4 -i /opt/.mp4 -i /opt/.mp4 -i /opt/.mp4 -i /opt/.mp4 Copy to clipboard Note - `-c`: specifies the number of streams to be decoded for composition. 2, 4, 8, 16, or 32 streams can be decoded. - `-i`: specifies the absolute path to the input video file. - To stop the use case, select CTRL + C. - To display the available help options, run the following command: gst-concurrent-videoplay-composition --help Copy to clipboard - The `GST_DEBUG` environment variable controls the GStreamer debug output. Set the required level to allow logging. For example, to log all warnings, run the following command: export GST_DEBUG=2 Copy to clipboard ### Run AI sample applications AI sample applications show use cases for object detection and parallel inferencing on input streams from a camera, video file, or Real-Time Streaming Protocol (RTSP) stream on the Dragonwing RB3 Gen 2 device. These applications use AI models from the [Qualcomm® AI Hub](https://aihub.qualcomm.com/iot/models) and label files from GitHub. **Download AI models and labels** 1. Download the models for the AI sample applications. The following table lists the AI models required for sample applications: | Sample application | AI models | | --- | --- | | AI object detection | [yolox_quantized.tflite](https://aihub.qualcomm.com/iot/models/yolox?searchTerm=yolo) | |
Parallel AI inference | [yolox_quantized.tflite](https://aihub.qualcomm.com/iot/models/yolox?searchTerm=yolo) | |
Parallel AI inference | [Inception-v3](https://aihub.qualcomm.com/iot/models/inception_v3) | |
Parallel AI inference | [HRNetPose](https://aihub.qualcomm.com/iot/models/hrnet_pose) | |
Parallel AI inference | [DeepLabV3-Plus-MobileNet](https://aihub.qualcomm.com/iot/models/deeplabv3_plus_mobilenet) | | | | | | | | | | 2. On the target device, obtain the download_artifacts.sh script, set executable permissions, and run the script to download the model and label files. cd /tmp Copy to clipboard curl -L -O https://raw.githubusercontent.com/quic/sample-apps-for-qualcomm-linux/refs/heads/main/qualcomm-linux/scripts/download_artifacts.sh Copy to clipboard chmod +x download_artifacts.sh Copy to clipboard ./download_artifacts.sh Copy to clipboard Note To run custom models or labels with the sample applications, see [Qualcomm IM SDK documentation](https://dragonwingdocs.qualcomm.com/SDKs/IMSDK). #### AI object detection The **gst-ai-object-detection** sample application shows the hardware capability to detect objects on input streams from a camera, video file, or RTSP stream. The following figure shows the workflow of the object detection application. The pipeline receives the input stream, preprocesses it, runs inferences on AI hardware, and displays the results on the screen. **Figure: Object detection application workflow**
Last Published: Jul 01, 2026
**Video: Object detection application** **Example usage** It’s mandatory to push the model and label files to the device to run the sample application. For details, see [Download AI models and labels](https://docs.qualcomm.com/doc/80-80023-251/topic/run_apps_manually_on_host.html#procedure-ai). 1. Begin a new SSH session and start the HDMI display monitor if you haven’t already: ssh root@ Copy to clipboard 2. Edit the /etc/configs/config_detection.json file on your device. { "file-path": "/etc/media/video.mp4", "ml-framework": "tflite", "yolo-model-type": "yolox", "model": "/etc/models/yolox_quantized.tflite", "labels": "/etc/labels/yolox.json", "threshold": 40, "runtime": "dsp" } Copy to clipboard For more information about the fields in the **config\_detection.json** file, see [Config JSON field description](https://docs.qualcomm.com/doc/80-80023-251/topic/run_apps_manually_on_host.html#object-detection-config-json-field-description). 3. To start the application, run the following command: gst-ai-object-detection Copy to clipboard - To stop the use case, select Ctrl + C. - To display the available help options, run the following command: gst-ai-object-detection -h Copy to clipboard - The `GST_DEBUG` environment variable controls the GStreamer debug output. Set the required level to allow logging. For example, to log all warnings, run the following command: export GST_DEBUG=2 Copy to clipboard **Config JSON field description** | Field | Values/description | | --- | --- | | **ml-framework** | Use one of the following models:



>
>
>

    >
  • snpe: Qualcomm ® Neural Processing SDK


  • >
  • tflite: LiteRT


  • >
  • qnn: Qualcomm ® AI Engine direct


  • >
| | **yolo-model-type** | Runs the `yolov5`, `yolov8`, `yolox` and `yolonas` models, respectively.
For more information about models and labels, see [AI Vision Applications](https://dragonwingdocs.qualcomm.com/SDKs/IMSDK/sample-application/ai-sample-applications#ai-vision-applications). | | **runtime** | Use one of the following runtimes:



>
>
>

    >
  • cpu


  • >
  • gpu


  • >
  • dsp


  • >
| | **Input source** | Use one of the following input sources:



>
>
>

    >
  • camera: Primary camera (0) or secondary camera (1)


  • >
  • file-path: Directory path to the video file


  • >
  • rtsp-ip-port: Address of the RTSP stream in the rtsp://<ip>:<port>/<stream> format


  • >
  • enable-usb-camera: TRUE or FALSE


  • >
| | **output-ip-address** | Output server IP address | | **port** | Output server port | | **output-type** | Use one of the following output types:



>
>
>

    >
  • waylandsink: To display output on Wayland


  • >
  • filesink: To store output in file


  • >
  • rtpsink: To stream output on server


  • >
| | **USB camera video-format and resolution** | Use one of the following video formats:



>
>
>

    >
  • nv12


  • >
  • yuy2


  • >
  • mjpeg


  • >




Use one of the following resolution fields:



>
>
>

    >
  • width: Input USB camera source resolution width


  • >
  • height: Input USB camera source resolution height


  • >
  • framerate: Input USB camera source framerate


  • >
| | **output-file** | Output filename. The default filename is `output_detection.mp4`. | #### Parallel AI inference The **gst-ai-parallel-inference** command-line application shows the hardware capability to perform four parallel inferences on input streams from a camera, video file, or RTSP stream. The following figure shows the workflow of the Parallel AI inference application. The pipeline detects objects, classifies objects, detects poses, and segments images on the input stream. The screen displays the results side-by-side. **Figure: Parallel inference application workflow**
Last Published: Jul 01, 2026
**Video: Parallel inferencing application** **Example usage** It’s mandatory to push the model and label files to the device to run the sample application. For details, see [Download AI models and labels](https://docs.qualcomm.com/doc/80-80023-251/topic/run_apps_manually_on_host.html#procedure-ai). 1. Begin a new SSH session and start the HDMI display monitor if you haven’t already: ssh root@ Copy to clipboard 2. Edit the /etc/configs/config-parallel-inference.json file on your device. { "file-path": "/etc/media/video.mp4", "detection-model": "/etc/models/yolox_quantized.tflite", "detection-labels": "/etc/labels/yolox.json", "pose-model": "/etc/models/hrnet_pose_quantized.tflite", "pose-labels": "/etc/labels/hrnet_pose.json", "segmentation-model": "/etc/models/deeplabv3_plus_mobilenet_quantized.tflite", "segmentation-labels": "/etc/labels/deeplabv3_resnet50.json", "classification-model": "/etc/models/inception_v3_quantized.tflite", "classification-labels": "/etc/labels/classification.json" } Copy to clipboard For more information about the fields in the config-parallel-inference.json file, see [Config JSON field description](https://docs.qualcomm.com/doc/80-80023-251/topic/run_apps_manually_on_host.html#config-parallel-inference-json-field-description). 3. To start the application, run the following command: gst-ai-parallel-inference Copy to clipboard - To stop the use case, select Ctrl + C. - To display the available help options, run the following command: > > > gst-ai-parallel-inference -h > Copy to clipboard - The `GST_DEBUG` environment variable controls the GStreamer debug output. Set the required level to allow logging. For example, to log all warnings, run the following command: > > > export GST_DEBUG=2 > Copy to clipboard **Config JSON field description** The following table describes the fields in **config-parallel-inference.json** file that configure the input source for the sample application: | **Field** | **Values/Description** | | --- | --- | | **Input source** | Use one of the following input source:

  • camera: Primary camera (0) or secondary camera (1)


  • file-path: Directory path to the video file


  • rtsp-ip-port: Address of the RTSP stream in the rtsp://<ip>:<port>/<stream> format


| | **Models and labels** |

  • detection-model: Path to the detection model


  • detection-labels: Path to the detection label


  • pose-model: Path to the pose model


  • pose-labels: Path to the pose labels


  • segmentation-model: Path to the segmentation model


  • segmentation-labels: Path to the segmentation labels


  • classification-model: Path to the classification model


  • classification-labels: Path to the classification labels


| **Known issue** In pose detection, the model detects only one person, even if many people are present in the frame. Note Image classification using the Inception v3 model trains on the ImageNet data set. As a result, the model can’t detect a person because this class isn’t included in the data set. ## Next steps - [Explore Qualcomm IM SDK sample applications](https://dragonwingdocs.qualcomm.com/SDKs/IMSDK/sample-application/ai-sample-applications) - [Develop an application](https://docs.qualcomm.com/bundle/publicresource/topics/80-79972-1/quick_start.html) Last Published: Jul 01, 2026 [Previous Topic Set up the device](https://docs.qualcomm.com/bundle/publicresource/80-80023-251/topics/set_up_the_device.md) [Next Topic Develop an application](https://docs.qualcomm.com/bundle/publicresource/80-80023-251/topics/develop_application.md) Source: [https://docs.qualcomm.com/doc/80-80023-251/topic/demo_app.html](https://docs.qualcomm.com/doc/80-80023-251/topic/demo_app.html)