# Compile and install reference apps This example demonstrates the steps to build the `gst-ai-classification` sample application. The `$ESDK_ROOT/layers/meta-qcom-qim-product-sdk/recipes-gst/gstreamer-sample-apps/` directory contains the available AI sample applications. All AI sample applications are named `qcom-gst-ai-*`. Replace `gst-ai-classification` with the sample app of your choice in the steps that follow. 1. Setup the environment: cd $ESDK_ROOT Copy to clipboard source environment-setup-armv8-2a-qcom-linux Copy to clipboard 2. Download the reference application source code. cd $ESDK_ROOT Copy to clipboard devtool modify qcom-gst-ai-classification Copy to clipboard Where `qcom-gst-ai-classification` is the bitbake recipe that downloads the source code of the reference applications. NOTE: Starting bitbake server... Loading cache: 100% |######################################| Time: 0:00:00 Loaded 9814 entries from dependency cache. Parsing recipes: 100% |####################################| Time: 0:00:01 Parsing of 6704 .bb files complete (6674 cached, 30 parsed). 9842 targets, 842 skipped, 0 masked, 0 errors. NOTE: Resolving any missing task queue dependencies Initialising tasks: 100% |#################################| Time: 0:00:55 Sstate summary: Wanted 10 local 0 mirrors 0 Missed 10 Current 10 (0% match, 50% complete) NOTE: Executing Tasks NOTE: Tasks Summary: Attempted 93 tasks of which 90 didn't need to be rerun and all succeeded. INFO: Source tree extracted to /local/mnt/workspace/QIMSDK_ESDK_6490/workspace/sources/qcom-gst-ai-classification Copy to clipboard The reference application source code is downloaded to `$ESDK_ROOT/workspace/sources/qcom-gst-ai-classification`. [/local/mnt/workspace/QIMSDK_ESDK_6490/workspace/sources/qcom-gst-ai-classification]$ ls CMakeLists.txt main.c [/local/mnt/workspace/QIMSDK_ESDK_6490/workspace/sources/qcom-gst-ai-classification]$ Copy to clipboard 3. After customizing, use the following commands to rebuild the reference app. devtool build qcom-gst-ai-classification Copy to clipboard NOTE: Starting bitbake server... Loading cache: 100% |################################################| Time: 0:00:00 Loaded 9814 entries from dependency cache. Parsing recipes: 100% |##############################################| Time: 0:00:01 Parsing of 6704 .bb files complete (6674 cached, 30 parsed). 9842 targets, 842 skipped, 0 masked, 0 errors. NOTE: Resolving any missing task queue dependencies Initialising tasks: 100% |###########################################| Time: 0:00:55 Checking sstate mirror object availability: 100% |###################| Time: 0:01:06 Sstate Summary: Wanted 391 Local 0 Mirrors 0 Missed 391 Current 381 (0% match, 49% complete) NOTE: Executing Tasks NOTE: qcom-gst-ai-classification: compiling from external source tree /local/mnt/workspace/QIMSDK_ESDK_6490/workspace/sources/qcom-gst-ai-classification Copy to clipboard 4. Generate the application installer (`.ipk`) to install the application on the device. devtool package qcom-gst-ai-classification Copy to clipboard Verify that the installable package is present at the following path. ls $ESDK_ROOT/tmp/deploy/ipk/armv8-2a | grep qcom-gst-ai-classification qcom-gst-ai-classification_1.0-r0_armv8-2a.ipk qcom-gst-ai-classification_dbg_1.0-r0_armv8-2a.ipk qcom-gst-ai-classification_dev_1.0-r0_armv8-2a.ipk qcom-gst-ai-classification_src_1.0-r0_armv8-2a.ipk [/local/mnt/workspace/QIMSDK_ESDK_6490/workspace/sources/qcom-gst-ai-classification]$ Copy to clipboard 5. Copy the `qcom-gst-ai-classification_1.0-r0_armv8-2a.ipk` to the RB3Gen2 device to install the compiled reference apps. 6. Connect to the device through the SSH shell: ssh root@ Copy to clipboard Note If prompted, enter `oelinux123` as the password for the SSH shell. 7. Run the following command on the target device. mount -o remount,rw / exit Copy to clipboard 8. Run the following on the host computer: cd $ESDK_ROOT/tmp/deploy/ipk/armv8-2a/ Copy to clipboard scp qcom-gst-ai-classification_1.0-r0_armv8-2a.ipk root@:/opt/ Copy to clipboard 9. Connect to the device through the SSH shell: ssh root@ Copy to clipboard 10. Run the following on the target device: opkg --force-depends --force-reinstall --force-overwrite install /opt/qcom- gst-ai-classification_1.0-r0_armv8-2a.ipk Copy to clipboard 11. Verify that installation is successful as shown below: Installing qcom-gst-ai-classification (1.0) on root Configuring qcom-gst-ai-classification. sh-5.1# Copy to clipboard Now you can run the modified application by starting it from the terminal. **For example:** 1. Enable the display by running the following command: export XDG_RUNTIME_DIR=/dev/socket/weston && export WAYLAND_DISPLAY=wayland-1 Copy to clipboard 2. Use the following command to run the application: /usr/bin/gst-ai-classification Copy to clipboard Last Published: Jan 21, 2026 [Previous Topic Download and install the Platform eSDK](https://docs.qualcomm.com/bundle/publicresource/80-70017-15B/topics/download-install-platform-esdk.md) [Next Topic Compile and install Qualcomm IM SDK plugins](https://docs.qualcomm.com/bundle/publicresource/80-70017-15B/topics/compile-install-imsdk-plugins.md)