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

# Experience AI Applications with Qdemo UI

> Run AI use cases on Qualcomm Dragonwing IOT platform using Qdemo

Qualcomm Dragonwing™ platform come preinstalled with Qdemo, a graphical user interface (GUI) application designed to run AI use cases. Use the Qdemo application to explore the AI capabilities of the development kit.

The following table lists the AI sample applications that you can run using Qdemo.

**Sample applications supported in Qdemo**

| Application | Description |
| - | - |
| Daisychain Pose | Performs cascaded object detection and pose detection streamed from a camera. |
| FaceDetection | Processes inputs from a camera and uses the Qualcomm® AI Hub detection model for face |
| Multistream | Shows AI inference (object detection) on input streams from a camera or a file. |
| ObjectDetection | Performs object detection on streams from a camera. |
| Parallel-AI-Fusion | Performs object detection, image classification, pose detection, and image segmentation on an input stream from a camera. |
| DashCamera | Displays two simultaneous camera feeds side by side. |
| Record live video | Records live video from a camera source, simultaneously displaying the stream and saving it as an H.264-encoded MP4 file (video\_out.mp4). |
| VideoTestSrc | Renders a GStreamer test pattern using videotestsrc, useful for verifying the display pipeline without a physical camera. |
| VideoWall | Plays a previously recorded MP4 file using the Record live video application across a 2×2 tile grid for a 4-up video wall display. |

For the complete list of available applications, see [Qualcomm IM SDK sample applications](https://imsdkdocs.qualcomm.com/sample-application/ai-sample-applications).

<Note>
  `Qdemo` application is not supported on `IQ-2390` and `CQ-2390`.
</Note>

## Prerequisites

* **Qualcomm Linux multimedia image**: The device must be flashed with the prebuilt Qualcomm Linux multimedia proprietary image (`qcom-multimedia-proprietary-image`), which includes Qdemo and the Qualcomm IM SDK.
* **HDMI monitor**: Connect to the device to view Qdemo output.
* **Mouse and keyboard**: Required to interact with the Weston desktop and the Qdemo application.
* **USB camera (optional)**: Required for camera-based sample applications. If connected, select it from the `Source` list in Qdemo.
* **Set up the debug UART**:
  The debug UART provides serial-console access to the device, allowing you to sign in and verify the device after flashing.
  <Note>
    Follow the debug UART setup instructions in the EVK guide for the specific device you are using. For example, see [Set up the debug UART for Qualcomm Dragonwing IQ9](https://dragonwingdocs.qualcomm.com/Linux/devices/iq9075-evk/set-up-the-device#set-up-the-debug-uart).
  </Note>
* **Connect to Wi-Fi**:
  AI sample applications require a Wi-Fi connection to download models and labels from GitHub. Multimedia applications do not require Wi-Fi.
  <Note>
    Follow the Wi-Fi connection instructions in the EVK guide for the specific device you are using. For example, see [Connect to Wi-Fi for Qualcomm Dragonwing IQ9](https://dragonwingdocs.qualcomm.com/Linux/devices/iq9075-evk/set-up-the-device#wi-fi).
  </Note>
* **Verify GStreamer installation**:
  Launch the `weston terminal` by clicking on the `terminal` icon on the screen:
  <Frame>
    <img src="https://mintcdn.com/qualcomm-staging/blZpKs_b9On5nj-y/archives/2.1/Key-Documents/AI-Developer-Workflow/_images/device-terminal.png?fit=max&auto=format&n=blZpKs_b9On5nj-y&q=85&s=1c5d8ce36641a97c5bdc1b39b897fb98" alt="Qdemo weston terminal" width="384" height="362" data-path="archives/2.1/Key-Documents/AI-Developer-Workflow/_images/device-terminal.png" />
  </Frame>
  After launching the `weston terminal`, run the following command to verify Gstreamer installation:
  ```shell theme={null}
  gst-launch-1.0 --version
  ```
* **Enable Camera**:
  To use camera-based applications, SSH into the target device from the host computer:
  ```shell theme={null}
  ssh root@<IP address of the target device>
  ```
  Then run the following commands on the target device to enable `qticamsrc`:
  ```shell theme={null}
  echo -n "camx" > /var/data
  efivar -n 882f8c2b-9646-435f-8de5-f208ff80c1bd-VendorDtbOverlays -w -f /var/data
  efivar -n 882f8c2b-9646-435f-8de5-f208ff80c1bd-VendorDtbOverlays -p
  sync
  reboot
  ```

## Run sample applications using Qdemo

<Steps>
  <Step title="Connect the peripherals and power on the device">
    Connect the mouse, keyboard, and HDMI monitor to the device, then power it on.

    After the device powers on, the following screen appears on the monitor.

    <img src="https://mintcdn.com/qualcomm-staging/blZpKs_b9On5nj-y/archives/2.1/Key-Documents/AI-Developer-Workflow/_images/startup-screen.png?fit=max&auto=format&n=blZpKs_b9On5nj-y&q=85&s=0a54747cac643cdfd1e9e6600721fea4" alt="Qdemo startup screen on the monitor" width="999" height="517" data-path="archives/2.1/Key-Documents/AI-Developer-Workflow/_images/startup-screen.png" />
  </Step>

  <Step title="Launch the Qdemo application">
    Run the Qdemo application by clicking the `Q` icon on the screen.

    <img className="mx-auto" src="https://mintcdn.com/qualcomm-staging/blZpKs_b9On5nj-y/archives/2.1/Key-Documents/AI-Developer-Workflow/_images/qdemo-icon.png?fit=max&auto=format&n=blZpKs_b9On5nj-y&q=85&s=4dca0f671db66c9e02a24cf709e04f1d" alt="Qdemo icon on the monitor" width="221" height="221" data-path="archives/2.1/Key-Documents/AI-Developer-Workflow/_images/qdemo-icon.png" />

    The **Experience Application Demo** window displays.

    <img src="https://mintcdn.com/qualcomm-staging/blZpKs_b9On5nj-y/archives/2.1/Key-Documents/AI-Developer-Workflow/_images/qdemo-pop-up.jpg?fit=max&auto=format&n=blZpKs_b9On5nj-y&q=85&s=0145fe89956287ca47eb06635e1a9d8e" alt="Qdemo startup screen on the monitor" width="1345" height="972" data-path="archives/2.1/Key-Documents/AI-Developer-Workflow/_images/qdemo-pop-up.jpg" />

    <Note>
      `Wi-Fi` connection is already done.
    </Note>
  </Step>

  <Step title="Select the camera source">
    In the **Source** list, select the required camera.

    If you connect a USB camera to the device, use the **Source** list to select the USB camera. By default, the **On-Device-Camera** is selected.
  </Step>

  <Step title="Start an application">
    In the **Applications** list, select an application and click **Start**.

    The selected application starts running, and a pop-up window displays the output on the screen.

    <Note>
      During the first run, the application may take more than a minute to start, as it downloads AI models and labels from GitHub.
    </Note>

    The following figure shows the sample output of the Object Detection application, identifying two objects including a person and a dog:

    <img src="https://mintcdn.com/qualcomm-staging/blZpKs_b9On5nj-y/archives/2.1/Key-Documents/AI-Developer-Workflow/_images/rb3-sample-output-object-detection_app.png?fit=max&auto=format&n=blZpKs_b9On5nj-y&q=85&s=e2a8bf84ef750de27cae6d70f361c7ca" alt="Sample output of the ObjectDetection application in Qdemo" width="975" height="548" data-path="archives/2.1/Key-Documents/AI-Developer-Workflow/_images/rb3-sample-output-object-detection_app.png" />
  </Step>

  <Step title="Stop the sample application">
    Close the output window to stop the sample application.
  </Step>

  <Step title="Exit Qdemo">
    Select **Exit** to close the Qdemo application.
  </Step>
</Steps>
