# Software Source: [https://docs.qualcomm.com/doc/80-70015-20/topic/software.html](https://docs.qualcomm.com/doc/80-70015-20/topic/software.html) The video software modules and the corresponding binaries are available in the `meta-qcom-multimedia` image as part of the entire software build package. For more information on the procedure to sync and build the `meta-qcom-multimedia` image, see [Qualcomm Linux Build Guide](https://docs.qualcomm.com/bundle/publicresource/topics/80-70015-254/introduction.html). Information on the video software, V4L2 build instructions, and the GStreamer plugins is described in the following topics. ## V4L2 for video The following is the information related to the source tree, VPU driver build instructions, and the commands that help push the video firmware. **Source tree** The video software modules include the Adreno VPU driver, the video device tree, and the firmware binary. - Adreno VPU driver BitBake recipe file. | Chip product | VPU driver BitBake recipe file path | | --- | --- | | QCS6490 | <workspace-path>/layers/meta-qcom-hwe/recipes-multimedia/video/qcom-videodlkm\_1.0.bb | | QCS9075 | <workspace-path>/layers/meta-qcom-hwe/recipes-multimedia/video/qcom-videodlkm\_1.0.bb | | | | - Video device tree BitBake recipe file: The video device tree node is a part of the root device tree file. | Chip product | Device tree BitBake recipe file path | | --- | --- | | QCS6490 | <workspace-path>/layers/meta-qcom-hwe/recipes-multimedia/video/qcom-videodtb\_1.0.bb | | QCS9075 | <workspace-path>/layers/meta-qcom-hwe/recipes-multimedia/video/qcom-videodtb\_1.0.bb | | | | **VPU driver build instructions** Use `devtool` to add the debug changes and compile the VPU driver (`iris_vpu.ko`). To build the VPU driver, do the following: 1. To access the source code for VPU drivers, run the following BitBake command: devtool modify qcom-videodlkmCopy to clipboard 2. Make the required debug changes to the VPU driver code available at: <workspace-path>/build-qcom-wayland/workspace/sources/videodlkm. After making the debug changes, build the VPU using the following command: devtool build qcom-videodlkmCopy to clipboard 3. After the compilation is complete, the corresponding `iris_vpu.ko` will be available at: <workspace-path>/build-qcom-wayland/workspace/sources/videodlkm/iris\_vpu.ko. 4. Push the compiled library to the device using the following command after you enter the SSH shell: Note: Before you run an SSH command, ensure that you enable SSH. For instructions, see [Use SSH](https://docs.qualcomm.com/bundle/publicresource/topics/80-70015-254/how_to.html#use-ssh). mount -o rw,remount /Copy to clipboard 5. Change the following command according to your <workspace-path>, and the <IP address of the device>, and run the command on the host: scp /build-qcom-wayland/workspace/sources/videodlkm/iris_vpu.ko root@/lib/modules/6.6.38-02695-g9d53679ea3d3/updates/Copy to clipboard Note: When you are prompted for a password, enter `oelinux123`. 6. To see the updated debug changes, power OFF and then power ON the device. **Video device tree** The video device tree node is a part of the root device tree file. To access the VPU device tree, do the following: 1. To access the source code for the VPU device tree, use the following BitBake command: devtool modify qcom-videodtbCopy to clipboard 2. Make the required debug changes to the VPU driver code available at: <workspace-path>/build-qcom-wayland/workspace/sources/videodlkm. After making the debug changes, build the VPU using the following command: devtool build qcom-videodlkmCopy to clipboard The VPU device tree code is available at: <workspace-path>/build-qcom-wayland/workspace/sources/videodtb **Video firmware** The video firmware binary is a prebuilt image from Qualcomm. Use the following command to push the video firmware binary to your device: | Chip product | Command | | --- | --- | | QCS6490 | cd /build-qcom-wayland/tmp-glibc/work/qcs6490_rb3gen2_vision_kit-qcom-linux/qcom-multimedia-image/1.0-r0/rootfs/lib/firmware/qcom/vpu-2.0Copy to clipboard




scp vpu20_1v.mbn root@/lib/firmware/qcom/vpu-2.0/Copy to clipboard




scp vpu20_1v_unsigned.mbn root@/lib/firmware/qcom/vpu-2.0/Copy to clipboard | | QCS9075 | cd /build-qcom-wayland/tmp-glibc/work/qcs9100_ride_sx-qcom-linux/qcom-multimedia-image/1.0-r0/rootfs/lib/firmware/qcom/vpu-3.0Copy to clipboard




scp vpu30_4v.mbn root@/lib/firmware/qcom/vpu-3.0/Copy to clipboard




scp vpu30_4v_unsigned.mbn root@/lib/firmware/qcom/vpu-3.0/Copy to clipboard | Note: When you are prompted for a password, enter `oelinux123`. ## GStreamer plugins for video The GStreamer plugins for video decoder and encoder are part of the IM SDK. Download the IM SDK to use the `v4l2h264dec`, `v4l2h265dec`, `v4l2h264enc`, `v4l2h265enc`, and the `v4l2vp9dec` GStreamer plugins. The following table lists the GStreamer plugins and their corresponding reference links: | Plug-in | Description/Reference link | | --- | --- | | `v4l2h264dec` | [Decode the H.264 video
stream](https://docs.qualcomm.com/bundle/publicresource/topics/80-70015-50/v4l2h264dec.html) | | `v4l2h265dec` | [Decode the H.265 video
stream](https://docs.qualcomm.com/bundle/publicresource/topics/80-70015-50/v4l2h265dec.html) | | `v4l2h264enc` | [Encode the H.264 video
stream](https://docs.qualcomm.com/bundle/publicresource/topics/80-70015-50/v4l2h264enc.html) | | `v4l2h265enc` | [Encode the H.265 video
stream](https://docs.qualcomm.com/bundle/publicresource/topics/80-70015-50/v4l2h265enc.html) | | `v4l2vp9dec` | [Decode the VP9 video
stream](https://docs.qualcomm.com/bundle/publicresource/topics/80-70015-50/v4l2vp9dec.html) | For more information on the steps to download and build, see [Qualcomm Intelligent Multimedia Product (QIMP) SDK](https://docs.qualcomm.com/bundle/publicresource/topics/80-70015-51/introduction.html). Last Published: Oct 15, 2024 [Previous Topic Interfaces](https://docs.qualcomm.com/bundle/publicresource/80-70015-20/topics/interfaces.md) [Next Topic Verify](https://docs.qualcomm.com/bundle/publicresource/80-70015-20/topics/bring-up.md)