# Sample applications
Qualcomm Linux includes various sample applications.
Instructions for running four of these sample applications have been
provided for your quick reference. For more information, see [Sample
applications](https://docs.qualcomm.com/bundle/publicresource/topics/80-70015-50/example-applications.html).
There are two main groups of sample applications available, each suited
for different use cases such as retail, Edge AI box, and IP camera.
[Multimedia applications](https://docs.qualcomm.com/doc/80-70015-253/topic/demo_app.html#link-mm-apps)
These are related to camera, video, and audio functionalities.
[AI applications](https://docs.qualcomm.com/doc/80-70015-253/topic/demo_app.html#link-ai-apps)
These focus on AI and machine learning (ML) capabilities.
Note
- To view the display output, connect the HDMI display to the HDMI port of the RB3 Gen 2 device (see [Connect to HDMI display](https://docs.qualcomm.com/doc/80-70015-253/topic/set_up_the_device.html#concept-wc5-hcp-4bc)).
- If you want to run sample applications from the UART shell, remount the file system with read/write permission using the following command:
mount -o rw,remount /
Copy to clipboard
## Multimedia applications
The multimedia sample applications demonstrate use cases for camera,
display, and video streams on the RB3 Gen 2 device.
### Multicamera streaming or encoding (Dash cam)
The **gst-multi-camera-example** command-line application demonstrates
simultaneous streaming from two camera sensors on the 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.

**Figure : Dash cam application workflow**
**Example usage**
To execute the application, run the following use cases in the SSH
shell:
1. To view the sample application on the HDMI display, run the following
export command:
export XDG_RUNTIME_DIR=/dev/socket/weston && export WAYLAND_DISPLAY=wayland-1
Copy to clipboard
2. To view the waylandsink output, run the following command:
gst-multi-camera-example -o 0
Copy to clipboard
3. To store the encoder output, do the following:
1. Run the following command:
gst-multi-camera-example -o 1
Copy to clipboard
The encoded files are stored 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 machine, run the following
command:
scp root@:/opt/
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, press **CTRL + C**.
- To display the available help options, run the following command:
gst-multi-camera-example --help
Copy to clipboard
- The GStreamer debug output is controlled by the `GST_DEBUG`
environment variable. Set the required level to enable 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
facilitates concurrent video decode and playback for advanced video
coding (AVC)-coded videos and performs composition on a display for
video wall application. The application requires at least one input
video file, which is expected to be an MP4 file with the AVC codec.

**Figure : Video wall application workflow**
**Example usage**
1. To transfer prerecorded or test videos that are in AVC-encoded MP4
(H.264) format (with the filename as ``) to your device,
run the following command on the host:
scp root@[DEVICE IP-ADDR]:/opt/
Copy to clipboard
Note
When prompted for a password, enter `oelinux123`.
2. To view the sample application on the HDMI display, run the following
export command in the SSH shell:
export XDG_RUNTIME_DIR=/dev/socket/weston && export WAYLAND_DISPLAY=wayland-1
Copy to clipboard
3. To experience 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 that the number of streams to be decoded for composition can be either 2, 4, or 8.
- `-i`: specifies the absolute path to the input video file.
- To stop the use case, press **CTRL + C**.
- To display the available help options, run the following command:
gst-concurrent-videoplay-composition --help
Copy to clipboard
- The GStreamer debug output is controlled by the `GST_DEBUG` environment variable. Set the required level to enable logging. For example, to log all warnings, run the following command:
export GST_DEBUG=2
Copy to clipboard
## AI applications
AI sample applications demonstrate use cases for object detection and
parallel inferencing on a live camera stream on the RB3 Gen 2 device. To
experience AI sample applications, you must obtain AI models distributed
separately on GitHub. The procedure to do this includes downloading the
models from GitHub, transferring these models to the RB3 Gen 2 device,
and executing sample applications.

**Figure : Workflow for running AI sample apps**
**Prerequisite**
AI sample applications require model and label files on the device to
run the application.
**Procedure**
To push the files to the device, run the following commands on the Linux
host:
1. To download the model and label files, run the following command:
wget https://github.com/quic/sample-apps-for-qualcomm-linux/releases/download/v0.1.0/v0.1.0.tar.gz
Copy to clipboard
2. To extract the files, run the following command:
tar -zxvf v0.1.0.tar.gz
Copy to clipboard
3. To push the model and label files to the device using the SCP tool,
run the following command:
scp v0.1.0/* root@:/opt/
Copy to clipboard
Note
When prompted for a password, enter `oelinux123`.
### AI object detection
The **gst-ai-object-detection** sample application demonstrates the
hardware capability to perform object detection on a live camera stream.
The pipeline receives the live camera feed, performs preprocessing, runs
inferences on AI hardware, and displays the results on the screen.

**Figure : Object detection application workflow**
**Example usage**
It is mandatory to push the model and label files to the device to run
the sample application. For details, see [Prerequisite](https://docs.qualcomm.com/doc/80-70015-253/topic/demo_app.html#prereq-ai).
1. To view the sample application on the HDMI display, run the following
export command in the SSH shell:
export XDG_RUNTIME_DIR=/dev/socket/weston && export WAYLAND_DISPLAY=wayland-1
Copy to clipboard
2. To execute the application, run the following command:
gst-ai-object-detection
Copy to clipboard
Note
If no input is provided, the system executes YOLO-NAS by default.
- To stop the use case, press **CTRL + C**.
- To display the available help options, run the following command:
gst-ai-object-detection -h
Copy to clipboard
- The GStreamer debug output is controlled by the `GST_DEBUG`
environment variable. Set the required level to enable logging. For
example, to log all warnings, run the following command:
export GST_DEBUG=2
Copy to clipboard
### Parallel AI fusion
The **gst-ai-parallel-inference** command-line application demonstrates
the hardware capability to perform four parallel AI inferences on a live
camera stream. The pipeline performs object detection, object
classification, pose detection, and image segmentation on the live
camera stream. The results are displayed side-by-side on the screen.

**Figure : Parallel inference application workflow**
**Example usage**
It is mandatory to push the model and label files to the device to run the sample application. For details, see [Prerequisite](https://docs.qualcomm.com/doc/80-70015-253/topic/demo_app.html#prereq-ai).
1. To view the sample application on the HDMI display, run the following
export command in the SSH shell:
export XDG_RUNTIME_DIR=/dev/socket/weston && export WAYLAND_DISPLAY=wayland-1
Copy to clipboard
2. To execute the application, run the following command:
gst-ai-parallel-inference
Copy to clipboard
- To stop the use case, press **CTRL + C**.
- To display the available help options, run the following command:
gst-ai-parallel-inference -h
Copy to clipboard
- The GStreamer debug output is controlled by the `GST_DEBUG`
environment variable. Set the required level to enable logging. For
example, to log all warnings, run the following command:
export GST_DEBUG=2
Copy to clipboard
**Known issue**
In pose detection, the model detects only one person, even if multiple
people are present in the frame.
Note
Image classification using the Inception v3 model is trained on the ImageNet data set. Therefore, the model will not be able to detect a person because this class is not available in the data set.
## More apps
The Qualcomm Linux release includes a wider variety of sample
applications. To explore and experience additional applications, see [Sample applications](https://docs.qualcomm.com/bundle/publicresource/topics/80-70015-50/example-applications.html).
## Develop applications for Qualcomm Linux
You can develop applications using the Qualcomm Intelligent Multimedia Product (QIMP) SDK. To get started with your first application, see
[Develop applications](https://docs.qualcomm.com/bundle/publicresource/topics/80-70015-51/application-development.html).
Last Published: Oct 31, 2025
[Previous Topic
Host machine options](https://docs.qualcomm.com/bundle/publicresource/80-70015-253/topics/set_up_the_device.md) [Next Topic
Additional setup](https://docs.qualcomm.com/bundle/publicresource/80-70015-253/topics/additional_setup.md)