# Deploy Qualcomm IM SDK as a container Source: [https://docs.qualcomm.com/doc/80-70017-50/topic/application-deployment-within-container-api-gstd.html](https://docs.qualcomm.com/doc/80-70017-50/topic/application-deployment-within-container-api-gstd.html) Build Qualcomm IM SDK within the docker container and prepare the final device docker image, which can be deployed to the Qualcomm Linux enabled Edge device. This enables you to use the AI workflow microservices to build various types of AI pipelines using Qualcomm IM SDK. Figure : Qualcomm IM SDK within a container - architecture ![](data:image/jpeg;base64,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) The table lists the components that are required to build the Qualcomm IM SDK docker container from the source code: Table : Components for Qualcomm IM SDK docker container | Component | Description | | :--- | :--- | | Platform eSDK | | | Qualcomm IM SDK source code | Contains the source code of the plugins and recipe files, which
build and define the compile time dependencies. | | solutions-microservices | Provides the AI pipelines that are required for
microservices. | | sdk-tools | | ## Build Qualcomm IM SDK docker image Source: [https://docs.qualcomm.com/doc/80-70017-50/topic/application-deployment-within-container-api-gstd.html](https://docs.qualcomm.com/doc/80-70017-50/topic/application-deployment-within-container-api-gstd.html) ### Procedure 1. Create a root workspace: mkdir /iot-solutionsCopy to clipboard This root workspace contains the following: - Extracted platform eSDK - meta-qti-gst - gst-plugins-qti-oss - solutions-microservices - sdk-tools 2. Get the Platform eSDK. The Platform eSDK provides a collection of platform libraries for a specialized environment, which provides the developers with cross-development toolchain and libraries that are tailored to a specific Yocto-based Qualcomm Linux release. You can either use a pre-built Platform eSDK or generate your own. The table guides you to the specific instructions to do both: | Use Platform eSDK | Instructions | | :--- | :--- | | Pre-built Platform eSDK | [Download and install
Platform eSDK](https://docs.qualcomm.com/bundle/publicresource/topics/80-70017-51/install-sdk.html) | | Generate your own Platform eSDK | [Generate an
eSDK](https://docs.qualcomm.com/bundle/publicresource/topics/80-70015-254/how_to.html#generate-an-esdk) | 3. Clone the following projects: 1. Qualcomm IM SDK projects: # Clone QIM SDK plugins source cd /iot-solutions git clone https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss.git -b imsdk.lnx.2.0.0.r2-rel cd gst-plugins-qti-oss git fetch origin imsdk.lnx.2.0.0.r2-rel git checkout 49256b26148d10257959b2b8d55879f72888cb0f # Clone QIM SDK recipes cd /iot-solutions git clone https://git.codelinaro.org/clo/le/meta-qti-gst.git -b imsdk.lnx.2.0.0.r2-rel cd meta-qti-gst git fetch origin imsdk.lnx.2.0.0.r2-rel git checkout a4eea711214340f6b82412c971beca3d68adc551 Copy to clipboard 2. Solutions-Microservices project: cd /iot-solutions git clone https://git.codelinaro.org/clo/le/solutions-microservices.git -b iot-solutions.lnx.1.0 cd solutions-microservices git fetch origin iot-solutions.lnx.1.0 git checkout dbb4b5c065da1d66b07714ee634848caf32ff9dfCopy to clipboard 3. SDK-tools project: cd /iot-solutions git clone https://git.codelinaro.org/clo/le/sdk-tools.git -b imsdk-tools.lnx.1.0 cd sdk-tools git fetch origin imsdk-tools.lnx.1.0 git checkout bf0bcfcd87d2f4bc5e8724caaebf1f0d23cfd6f3Copy to clipboard 4. Linux Embedded (LE) services project: cd /iot-solutions git clone https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/le-services.git --single-branch -b le-services.lnx.1.0.r1-rel cd le-services git fetch origin le-services.lnx.1.0.r1-rel git checkout d6ebee13e44cc0d5ebf1fbd7751cb613567eb164Copy to clipboard 4. Configure the build: Note: If you are building the Qualcomm IM SDK docker build for the first time, to set up the docker on your machine, see [https://git.codelinaro.org/clo/le/sdk-tools/-/blob/imsdk-tools.lnx.1.0/qimsdk/README.md#Prerequisites](https://git.codelinaro.org/clo/le/sdk-tools/-/blob/imsdk-tools.lnx.1.0/qimsdk/README.md#Prerequisites). Update the JSON configuration file for the required target. Go to the targets directory. cd /sdk-tools/qimsdk/targetsCopy to clipboard Update the following entries in the config\_qcm6490.json file: "Additional_tag_container" [Optional] Append this string to docker image name. "Additional_tag_image" [Optional] Docker image Tag. "Docker_image_path" [Mandatory] Path to directory where docker image and docker run script will be exported to. "Target_device_ID" [Optional] adb device ID. You can check device ID with “adb devices” command. Keep it empty if device is not attached to PC. "Supported_targets" [Mandatory] Set device which you about to use (“qcm6490” or "qcs9100"). This will be removed soon. "IM_SDK_Source_Dir" [Mandatory] Path to director with QIM GST plugins source code. "IM_SDK_Meta_Dir" [Mandatory] Path to director with QIM GST plugins bitbake recipes folder. "Solution_Microservices_Dir" [Mandatory] Path to solutions-microservices directory, which contains all qimsdk microservices shell scripts. ***Note: Path provided must point to solutions-microservices directory!*** "LE_Services_Source_Dir" [Mandatory] Path to le-services directroy which contains all LE source files. "Path_to_eSDK_dir" [Mandatory] Path to directory where Platform eSDK is extracted. Copy to clipboard ![](data:image/png;base64,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) 5. Build and export the docker image: 1. Set the environment: cd /sdk-tools/qimsdkCopy to clipboard source scripts/docker_env_setup.shCopy to clipboard 2. Build the docker image: qimsdk-docker-build-image targets/config.jsonCopy to clipboard 3. Export the docker image and the docker run scripts to the Docker\_image\_path directory. qimsdk-docker-device-save-image targets/config.jsonCopy to clipboard 6. Install the docker image on the device: ssh root@Copy to clipboard The password is `oelinux123`. 1. Create the docker directory in the device shell: mkdir -p /opt/dockerCopy to clipboard chmod -R 777 /opt/dockerCopy to clipboard 2. Copy the docker image from Linux host to the target device: scp /* root@:/opt/dockerCopy to clipboard 3. Configure read/write privileges for /opt/data directory. The /opt/data directory is mounted from the platform device file system to device container file system. echo '{"data-root": "/mnt/overlay/docker"}' > /etc/docker/daemon.jsonCopy to clipboard Restart the docker: systemctl restart dockerCopy to clipboard rm -rf /var/lib/dockerCopy to clipboard Verify if the docker directory configuration is successful: docker info | grep StorageCopy to clipboard 4. Run the commands in the device shell: cd /opt/dockerCopy to clipboard docker load -i /opt/docker/Copy to clipboard mv docker-compose-qcm6490.yml docker-compose.ymlCopy to clipboard chmod 777 docker_run_qcm6490.shCopy to clipboard | Field | Description | | :--- | :--- | | <Docker\_image\_path> | Directory where the docker image TAR file and
scripts are installed. | | <qimsdk-docker-image> | Name of the file that contains the Qualcomm IM
SDK docker image. For example,
qimsdk.tar. | ## Run docker image for camera Source: [https://docs.qualcomm.com/doc/80-70017-50/topic/application-deployment-within-container-api-gstd.html](https://docs.qualcomm.com/doc/80-70017-50/topic/application-deployment-within-container-api-gstd.html) Note: This procedure is not merged with the current build and will be available for execution in a future release. ### Prerequisite [Build Qualcomm IM SDK docker image](https://docs.qualcomm.com/doc/80-70017-50/topic/application-deployment-within-container-api-gstd.html#build-and-run-qualcomm-im-sdk-docker-image). ### Procedure Run the Qualcomm IM SDK docker image using either of the following options: - Docker run commands: A docker run command is available in the shell script. 1. In a device shell, run the docker script: sh /opt/docker/docker_run_qcm6490.shCopy to clipboard 2. List all the running containers: docker ps -aCopy to clipboard 3. Enter the Qualcomm IM SDK container docker exec -it bashCopy to clipboard - Docker compose commands: Docker compose provides options to run multiple docker containers simultaneously. 1. In a device shell, go to the docker directory: cd /opt/dockerCopy to clipboard 2. Run the docker-compose bash script: docker-compose run bashCopy to clipboard | Field | Description | | :--- | :--- | | <qimsdk-docker-image-name> | The name of the Qualcomm IM SDK docker
image. | | qimsdk | The default docker image. | To check the action name, run the `docker images` command. ## Container use cases for camera Source: [https://docs.qualcomm.com/doc/80-70017-50/topic/application-deployment-within-container-api-gstd.html](https://docs.qualcomm.com/doc/80-70017-50/topic/application-deployment-within-container-api-gstd.html) ### Prerequisites - Enable the display: export XDG_RUNTIME_DIR=/dev/socket/weston && export WAYLAND_DISPLAY=wayland-1Copy to clipboard - Set the the following permissions and ensure that the docker runs with root access: chmod 730 /dev/socket/weston chmod 776 /dev/socket/weston/wayland-1 chmod 644 /dev/dma_heap/system chmod 644 /dev/dma_heap/qcom,system chmod 775 /tmp/socket/cam_server/le_cam_socket chmod 775 /tmp/socket/cam_serverCopy to clipboard ### Use cases See [Multimedia use cases](https://docs.qualcomm.com/doc/80-70017-50/topic/multimedia-use-cases.html). ## Run docker image for GStD Source: [https://docs.qualcomm.com/doc/80-70017-50/topic/application-deployment-within-container-api-gstd.html](https://docs.qualcomm.com/doc/80-70017-50/topic/application-deployment-within-container-api-gstd.html) Install GStD in the existing Qualcomm IM SDK container, and then perform port mapping to enable the client to communicate with GStD from the host and from within the container. ### Prerequisite [Build Qualcomm IM SDK docker image](https://docs.qualcomm.com/doc/80-70017-50/topic/application-deployment-within-container-api-gstd.html#build-and-run-qualcomm-im-sdk-docker-image). ### Procedure Run the Qualcomm IM SDK docker image using either of the following options: - Docker run commands: 1. In a device shell, run the following docker scripts: sed -i 's/--user qimsdk/--user root -p 5001:5001/g' /opt/docker/docker_run_qcm6490.shCopy to clipboard sh /opt/docker/docker_run_qcm6490.shCopy to clipboard docker ps -aCopy to clipboard docker exec -it bashCopy to clipboard 2. In the docker shell, configure and enable the display: export XDG_RUNTIME_DIR=/dev/socket/weston && export WAYLAND_DISPLAY=wayland-1Copy to clipboard Run GStD in the background: gstd-1.0 -a 0.0.0.0 -p 5001Copy to clipboard - Docker compose commands: Docker compose provides options to run multiple docker containers simultaneously. 1. In a device shell, go to the docker directory: cd /opt/dockerCopy to clipboard 2. Run the docker-compose bash script: docker-compose run bashCopy to clipboard | Field | Description | | :--- | :--- | | <qimsdk-docker-image-name> | The name of the Qualcomm IM SDK docker
image. | | qimsdk | The default docker image. | To check the action name, run the `docker images` command. ## Container use cases using GStD Source: [https://docs.qualcomm.com/doc/80-70017-50/topic/application-deployment-within-container-api-gstd.html](https://docs.qualcomm.com/doc/80-70017-50/topic/application-deployment-within-container-api-gstd.html) The following are a few container use cases for video encode and AI pipelines using GStD: Before running the use cases, ensure that you complete the [Prerequisites](https://docs.qualcomm.com/doc/80-70017-50/topic/application-deployment-within-container-api-gstd.html#container-use-cases-camera__section_zns_tgl_sdc). ### Video encode Encode a decoded stream, multiplex it, and save it to a common directory shared between the host and docker. 1. In the container, create the pipeline: gst-client-1.0 -a 0.0.0.0 -p 5001 pipeline_create enc filesrc location=/opt/data/1280_720_h264_30fps_1min.mp4 ! qtdemux ! queue ! h264parse ! v4l2h264dec capture-io-mode=5 output-io-mode=5 ! queue ! v4l2h264enc capture-io-mode=5 output-io-mode=5 ! h264parse ! queue ! mp4mux ! queue ! filesink location=/opt/data/docker_video.mp4Copy to clipboard 2. Control the pipeline: gst-client-1.0 -a 0.0.0.0 -p 5001 pipeline_play encCopy to clipboard gst-client-1.0 -a 0.0.0.0 -p 5001 bus_filter enc error+eosCopy to clipboard gst-client-1.0 -a 0.0.0.0 -p 5001 bus_read encCopy to clipboard The shell is blocked to check for errors for end of stream (EOS). 3. Stop the pipeline after the shell is unblocked: gst-client-1.0 -a 0.0.0.0 -p 5001 pipeline_stop encCopy to clipboard ### AI pipeline: Inference on a decoded stream and preview Perform the inference on a decoded stream, draw bounding boxes/text using the [qtioverlay](https://docs.qualcomm.com/doc/80-70017-50/topic/qtioverlay.html) plugin, and render it live on the display. 1. Do the post-processing in the docker: 1. Create the pipeline: gst-client-1.0 -a 0.0.0.0 -p 5001 pipeline_create postproc qtisocketsrc socket=/opt/data/tensors.sock ! neural-network/tensors, type=INT8, dimensions="<<1,8400,4>,<1,8400>,<1,8400>>" ! queue ! qtimlvdetection threshold=75.0 results=4 module=yolov8 constants="YoloV8,q-offsets=<-107.0,-128.0,0.0>,q-scales=<3.093529462814331,0.00390625,1.0>;" labels=/opt/data/yolov8n.labels ! text/x-raw ! filesink buffer-mode=unbuffered location=/opt/data/mloutput1.txtCopy to clipboard 2. Control the pipeline: gst-client-1.0 -a 0.0.0.0 -p 5001 pipeline_play postprocCopy to clipboard gst-client-1.0 -a 0.0.0.0 -p 5001 bus_filter postproc error+eos && gst-client-1.0 -a 0.0.0.0 -p 5001 bus_read postprocCopy to clipboard The shell is blocked to check for errors for EOS. 2. On the device, perform the inference: export XDG_RUNTIME_DIR=/dev/socket/weston && export WAYLAND_DISPLAY=wayland-1 && gst-launch-1.0 -e \ qtimlvconverter name=preproc mode=image-batch-non-cumulative \ qtimltflite name=inference delegate=external external-delegate-path=libQnnTFLiteDelegate.so external-delegate-options="QNNExternalDelegate,backend_type=htp,htp_precision=(string)1;" model=/opt/data/YoloV8N_Detection_Quantized.tflite \ filesrc location=/opt/data/1280_720_h264_30fps_1min.mp4 ! qtdemux ! queue ! h264parse ! v4l2h264dec capture-io-mode=5 output-io-mode=5 ! queue ! \ preproc. preproc. ! queue ! inference. inference. ! neural-network/tensors, type=INT8, dimensions="<<1,8400,4>,<1,8400>,<1,8400>>" ! qtisocketsink socket=/opt/data/tensors.sockCopy to clipboard 3. In the docker shell, stop the pipeline after the shell is unblocked: gst-client-1.0 -a 0.0.0.0 -p 5001 pipeline_stop postprocCopy to clipboard ### AI pipeline: Postprocessing of tensors within container, and preprocessing and inference in Native layer Transfer output tensors to the docker container using the [qtisocketsrc](https://docs.qualcomm.com/doc/80-70017-50/topic/qtisocketsrc.html) and [qtisocketsink](https://docs.qualcomm.com/doc/80-70017-50/topic/qtisocketsink.html) plugins. The use case shows how the multi-dimension tensors layout can be understood by the application that is running within a container. 1. In the docker: 1. Create the pipeline: gst-client-1.0 -a 0.0.0.0 -p 5001 pipeline_create postproc qtisocketsrc socket=/opt/data/tensors.sock ! neural-network/tensors, type=INT8, dimensions="<<1,8400,4>,<1,8400>,<1,8400>>" ! queue ! qtimlvdetection threshold=75.0 results=4 module=yolov8 constants="YoloV8,q-offsets=<-107.0,-128.0,0.0>,q-scales=<3.093529462814331,0.00390625,1.0>;" labels=/opt/data/yolov8n.labels ! text/x-raw ! filesink buffer-mode=unbuffered location=/opt/data/mloutput1.txtCopy to clipboard 2. Control the pipeline: gst-client-1.0 -a 0.0.0.0 -p 5001 pipeline_play postprocCopy to clipboard gst-client-1.0 -a 0.0.0.0 -p 5001 bus_filter postproc error+eos && gst-client-1.0 -a 0.0.0.0 -p 5001 bus_read postprocCopy to clipboard The shell is blocked to check for errors for EOS. 2. On the device, run the inference: export XDG_RUNTIME_DIR=/dev/socket/weston && export WAYLAND_DISPLAY=wayland-1 && gst-launch-1.0 -e \ qtimlvconverter name=preproc mode=image-batch-non-cumulative \ qtimltflite name=inference delegate=external external-delegate-path=libQnnTFLiteDelegate.so external-delegate-options="QNNExternalDelegate,backend_type=htp,htp_precision=(string)1;" model=/opt/data/YoloV8N_Detection_Quantized.tflite \ filesrc location=/opt/data/1280_720_h264_30fps_1min.mp4 ! qtdemux ! queue ! h264parse ! v4l2h264dec capture-io-mode=5 output-io-mode=5 ! queue ! \ preproc. preproc. ! queue ! inference. inference. ! neural-network/tensors, type=INT8, dimensions="<<1,8400,4>,<1,8400>,<1,8400>>" ! qtisocketsink socket=/opt/data/tensors.sockCopy to clipboard 3. In the docker shell, stop the pipeline after the shell unblocks: gst-client-1.0 -a 0.0.0.0 -p 5001 pipeline_stop postprocCopy to clipboard ### AI pipeline: Preprocessing within container, and inference and postprocessing in Native layer The use case shows how to transfer the camera frames with zero copy using the [qtisocketsrc](https://docs.qualcomm.com/doc/80-70017-50/topic/qtisocketsrc.html) and [qtisocketsink](https://docs.qualcomm.com/doc/80-70017-50/topic/qtisocketsink.html) plugins. 1. On the device, run the inference: export XDG_RUNTIME_DIR=/dev/socket/weston && export WAYLAND_DISPLAY=wayland-1 && gst-launch-1.0 -e \ qtimltflite name=inference delegate=external external-delegate-path=libQnnTFLiteDelegate.so external-delegate-options="QNNExternalDelegate,backend_type=htp,htp_precision=(string)1;" model=/opt/data/YoloV8N_Detection_Quantized.tflite \ qtimlvdetection name=postproc threshold=75.0 results=4 module=yolov8 constants="YoloV8,q-offsets=<-107.0,-128.0,0.0>,q-scales=<3.093529462814331,0.00390625,1.0>;" labels=/opt/data/yolov8n.labels \ qtisocketsrc socket=/opt/data/tensors.sock ! neural-network/tensors, type=INT8, dimensions="<<1,640,640,3>>" ! queue ! inference. inference. ! postproc. \ postproc. ! queue ! text/x-raw ! filesink buffer-mode=unbuffered location=/opt/data/mloutput2.txtCopy to clipboard 2. In the docker, create the pipeline: gst-client-1.0 -a 0.0.0.0 -p 5001 pipeline_create preproc filesrc location=/opt/data/1280_720_h264_30fps_1min.mp4 ! qtdemux ! queue ! h264parse ! v4l2h264dec capture-io-mode=5 output-io-mode=5 ! queue ! qtimlvconverter mode=image-batch-non-cumulative ! queue ! neural-network/tensors, type=INT8, dimensions="<<1,640,640,3>>" ! qtisocketsink socket=/opt/data/tensors.sockCopy to clipboard 1. Control the pipeline: gst-client-1.0 -a 0.0.0.0 -p 5001 pipeline_play preprocCopy to clipboard gst-client-1.0 -a 0.0.0.0 -p 5001 bus_filter preproc error+eos && gst-client-1.0 -a 0.0.0.0 -p 5001 bus_read preprocCopy to clipboard The shell is blocked to check for errors for EOS. 2. Stop the pipeline after the shell unblocks: gst-client-1.0 -a 0.0.0.0 -p 5001 pipeline_stop preprocCopy to clipboard ### AI Pipeline: Pre and post processing in container, and inference in Native layer Use [qtisocketsrc](https://docs.qualcomm.com/doc/80-70017-50/topic/qtisocketsrc.html) and [qtisocketsink](https://docs.qualcomm.com/doc/80-70017-50/topic/qtisocketsink.html) plugins to pass the data (camera frames and output tensors) with zero copy. 1. In the docker, create the pipeline: gst-client-1.0 -a 0.0.0.0 -p 5001 pipeline_create post qtisocketsrc socket=/opt/data/output.sock ! neural-network/tensors, type=INT8, dimensions="<<1,8400,4>,<1,8400>,<1,8400>>" ! queue ! qtimlvdetection threshold=75.0 results=4 module=yolov8 constants="YoloV8,q-offsets=<-107.0,-128.0,0.0>,q-scales=<3.093529462814331,0.00390625,1.0>;" labels=/opt/data/yolov8n.labels ! text/x-raw ! filesink buffer-mode=unbuffered location=/opt/data/mloutput3.txtCopy to clipboard 2. Control the pipeline: gst-client-1.0 -a 0.0.0.0 -p 5001 pipeline_play postCopy to clipboard gst-client-1.0 -a 0.0.0.0 -p 5001 bus_filter post error+eos && gst-client-1.0 -a 0.0.0.0 -p 5001 bus_read postCopy to clipboard The shell is blocked to check for errors for EOS. 3. On the device, run the inference: export XDG_RUNTIME_DIR=/dev/socket/weston && export WAYLAND_DISPLAY=wayland-1 && gst-launch-1.0 -e \ qtimltflite name=inference delegate=external external-delegate-path=libQnnTFLiteDelegate.so external-delegate-options="QNNExternalDelegate,backend_type=htp,htp_precision=(string)1;" model=/opt/data/YoloV8N_Detection_Quantized.tflite \ qtisocketsrc socket=/opt/data/input.sock ! neural-network/tensors, type=INT8, dimensions="<<1,640,640,3>>" ! queue ! inference. inference. ! \ qtisocketsink socket=/opt/data/output.sockCopy to clipboard 4. In the docker, create the pipeline: gst-client-1.0 -a 0.0.0.0 -p 5001 pipeline_create pre qtimlvconverter name=preproc mode=image-batch-non-cumulative \ filesrc location=/opt/data/1280_720_h264_30fps_1min.mp4 ! qtdemux ! queue ! h264parse ! v4l2h264dec capture-io-mode=5 output-io-mode=5 ! queue ! \ preproc. preproc. ! queue ! neural-network/tensors, type=INT8, dimensions="<<1,640,640,3>>" ! qtisocketsink socket=/opt/data/input.sockCopy to clipboard 5. Control the pipeline: gst-client-1.0 -a 0.0.0.0 -p 5001 pipeline_play preCopy to clipboard gst-client-1.0 -a 0.0.0.0 -p 5001 bus_filter pre error+eos && gst-client-1.0 -a 0.0.0.0 -p 5001 bus_read preCopy to clipboard The shell is blocked to check for errors for EOS. 6. In the docker shell, stop the pipeline after the shell unblocks: gst-client-1.0 -a 0.0.0.0 -p 5001 pipeline_stop preCopy to clipboard gst-client-1.0 -a 0.0.0.0 -p 5001 pipeline_stop postCopy to clipboard Last Published: Oct 01, 2026 [Previous Topic Customize a Python sample application](https://docs.qualcomm.com/bundle/publicresource/80-70017-50/topics/customize-a-python-sample-application.md) [Next Topic GStreamer command-line use cases](https://docs.qualcomm.com/bundle/publicresource/80-70017-50/topics/gstreamer-application-use-cases.md)