> ## Documentation Index
> Fetch the complete documentation index at: https://dragonwingdocs.qualcomm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Prebuilt sample applications

The **Qualcomm Intelligent Multimedia SDK (IMSDK)** includes a set of prebuilt sample applications designed to help developers quickly evaluate multimedia and AI capabilities on Qualcomm® hardware. These applications are built using **GStreamer pipelines** and **IMSDK plugins**, and serve as reference implementations for common use cases such as camera capture, video playback, object detection, pose estimation, and more.

Prebuilt sample apps provide a fast and reliable way to:

* **Validate hardware functionality**: Confirm that camera, display, audio, and AI accelerators are working correctly on your development board.
* **Understand pipeline structure**: Learn how GStreamer pipelines are constructed using IMSDK plugins like `qtivtransform`, `qtimltflite`, and `qtivcomposer`.
* **Benchmark performance**: Measure throughput and latency for real-time multimedia and AI tasks using optimized pipelines.
* **Accelerate development**: Use working examples as a starting point for building custom applications. Each sample demonstrates best practices for zero-copy data flow, hardware offload, and plugin configuration.

To begin exploring prebuilt sample applications on the target device, follow these step-by-step instructions to install required dependencies and configure the system.

**Prerequisites:**\
Before launching the sample apps, ensure the target device meets all the following prerequisites.

* Setup the Device.
* Ensure that the IQ‑9075 device is running Ubuntu OS.
* Setup Wi-Fi & access IQ-9075 EVK device via SSH
* If the PPA packages are not already installed, run the **Install needed packages** step.

## Install needed packages

To install the needed pre-built packages, refer to the [**🔗Install required software packages**](../devices/iq9075-evk/Install_required_software_packages) section and run the provided Install PPA Packages script.

## Download and run the artifact script

Before running any sample applications, you must download the required models, labels, and media assets. The `download_artifacts.sh` script automatically fetches all required components, including:

* Models – Pretrained machine‑learning models used by the sample applications for inference.
* Labels – Metadata files that map model outputs to human‑readable class names.
* Media files – Sample input data (such as images or videos) used to run and validate the applications.

You can run the following commands via SSH, or logged on locally to your device.

```shell theme={null}
cd /home/ubuntu 
curl -L -O https://raw.githubusercontent.com/quic/sample-apps-for-qualcomm-linux/refs/heads/main/qualcomm-linux/scripts/download_artifacts.sh
sudo chmod +x download_artifacts.sh 
sudo ./download_artifacts.sh
```

## Verify Model / Label / Media Files

Before launching any sample applications, make sure the required files are in place.

Check the following directories:\
**Model files** → `/etc/models/`\
**Label files** → `/etc/labels/`\
**Media files** → `/etc/media/`

<Note>
  **Note:**  These files are essential for AI apps to function correctly. If they’re missing, re-run the artifact download script.
</Note>

## List of prebuilt Sample Applications

***Input Source*** – Media File; ***Output Source*** - Waylandsink\
***Model Precision*** - Quant model; ***Runtime*** - TFLite; Script used - JSON

For **Multimedia sample applications**, please make sure the **CSI cameras** are connected.

| Sample App Name                                 | Details                                                                                                                                | AI Hub Model (Default)        |
| ----------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- |
| gst-ai-object-detection                         | [Object Detection](https://docs.qualcomm.com/doc/80-70020-50/topic/gst-ai-object-detection.html)                                       | yolox\_quantized              |
| gst-ai-daisychain-detection-pose                | [Daisychain Detection Pose](https://docs.qualcomm.com/doc/80-70023-50/topic/daisy-chain-detection-and-pose-detection.html)             | Yolo-X\_w8a8, HRNetPose\_w8a8 |
| gst-ai-face-detection                           | [Face detection](https://docs.qualcomm.com/doc/80-70023-50/topic/gst-ai-face-detection.html)                                           | face\_det\_lite               |
| gst-ai-segmentation                             | [Image segmentation](https://docs.qualcomm.com/doc/80-70023-50/topic/gst-ai-segmentation.html)                                         | Deeplabv3\_plus\_mobilenet    |
| gst-ai-pose-detection                           | [Pose detection](https://docs.qualcomm.com/doc/80-70023-50/topic/gst-ai-pose-detection.html)                                           | hrnet\_pose                   |
| gst-ai-monodepth                                | [Monodepth from video](https://docs.qualcomm.com/doc/80-70023-50/topic/mono-depth-from-video.html)                                     | midas                         |
| gst-camera-single-stream-example                | [Single camera streaming](https://docs.qualcomm.com/doc/80-70023-50/topic/gst-camera-single-stream-example.html)                       | NA                            |
| gst-multi-camera-example                        | [Multi-camera streaming](https://docs.qualcomm.com/doc/80-70023-50/topic/gst-multi-camera-stream-example.html)                         | NA                            |
| gst-activate-deactivate-streams-runtime-example | [Activate-deactivate streams at runtime](https://docs.qualcomm.com/doc/80-70023-50/topic/gst-activate-deactivate-streams-runtime.html) | NA                            |

## Run Object Detection sample application

The ***gst-ai-object-detection*** application allows you to detect objects within images and videos. The use cases show the execution of YOLOv5, YOLOv8, and YOLOX using the Qualcomm Neural Processing SDK runtime, YOLOv8 using Qualcomm AI Engine direct, and YOLOv5 and YOLOv8 using LiteRT.

**gst-ai-object-detection pipeline:**

<img src="https://mintlify.s3.us-west-1.amazonaws.com/qualcomm-prod/images/run-sample-applications/IQ-9075_object_detection.png" alt="" />

1. Use the SSH or SBC terminal to login.
2. Set the required environment variables to connect a Wayland application to the active user session.

```bash theme={null}
export XDG_RUNTIME_DIR=/run/user/$(id -u ubuntu)
export WAYLAND_DISPLAY=wayland-1
```

3. For Ubuntu Desktop:\
   Run the following additional command to create a missing symbolic link (for TensorFlow Lite C library).

```bash theme={null}
sudo ln -s /lib/aarch64-linux-gnu/libtensorflowlite_c.so.2 /lib/aarch64-linux-gnu/libtensorflowlite_c.so
```

4. Run the gst-ai-object-detection application by using following command.\\

```shell theme={null}
gst-ai-object-detection
```

<img src="https://mintlify.s3.us-west-1.amazonaws.com/qualcomm-prod/images/run-sample-applications/object_detection.png" alt="" />

5. To display the available help options, run the following command in the SSH shell:

```shell theme={null}
gst-ai-object-detection -h
```

**For Debug Messages:**\
Set GST\_DEBUG environment variable used by GStreamer to control the verbosity and category of debug messages:

```shell theme={null}
export GST_DEBUG=3
```

6. To stop the application, press **CTRL + C**

## Reference Documentation

* [**Run AI/ML sample applications**](https://docs.qualcomm.com/bundle/publicresource/topics/80-70020-50/ai-ml-sample-applications.html)
* [**Get started with the Qualcomm IM SDK**](https://docs.qualcomm.com/bundle/publicresource/topics/80-70020-51/install-sdk.html#panel-0-VWJ1bnR1)
