I am working with Apalis iMX8QM and trying to develop a video player app. I have already tried several Torizon containers with Vivante support to use VPU/GPU hardware acceleration, but I am facing an issue with the plugins. For VPU decoding, I need the v4l2h264dec and also to convert imxvideoconvert_g2d GStreamer plugins, but none of the example containers(wayland-base-vivante, qt5-wayland-vivante, qt6-wayland-vivante, qt5-wayland-examples-vivante etc.) seem to have these plugins.
I have followed this article but the result is same.
Hi, I’m the Toradex AI Assistant. The Toradex Support team will follow up with you shortly!
Did you like my answer?
Hi MC,
It seems like you’re encountering an issue with missing GStreamer plugins for VPU decoding and video conversion on your Apalis iMX8QM module. Here are a few steps you can take to resolve this issue:
Verify Plugin Availability:
First, ensure that the required plugins (v4l2h264dec and imxvideoconvert_g2d) are indeed missing. You can use the gst-inspect-1.0 tool to list all available plugins:
Install Missing Plugins:
If the plugins are missing, you may need to install additional GStreamer packages. You can do this by modifying your Dockerfile to include the necessary packages. For example:
Check Compatibility:
Ensure that the versions of the GStreamer plugins you are installing are compatible with your TorizonCore version. Sometimes, specific versions of plugins are required to work with the hardware acceleration features of the i.MX8QM.
Use the Correct Container Image:
Make sure you are using the correct container image that supports hardware acceleration. The torizon/wayland-base-vivante image is typically used for i.MX8 modules with Vivante GPU support.
Custom Build:
If the required plugins are not available in the pre-built images, you might need to build a custom Docker image with the necessary plugins. You can refer to the Torizon documentation for instructions on building custom images.
Consult Documentation:
Refer to the following articles for more detailed instructions and troubleshooting tips:
If you have followed these steps and are still encountering issues, please provide more details about the errors you are seeing, and any logs that might help diagnose the problem further.
Best regards,
[Your Name]
Please, also check if these links can help you solve your problem:
I just tried this myself on Apalis-imx8 and it works fine for me. The resulting container image built from this sample has both the v4l2h264dec and imxvideoconvert_g2d plugins available for use. The vputests script that’s included in the sample also uses these plugins, I was able to execute this script successfully as well.
Some notes. As the README in the sample says, make sure to set the MACHINE variable in the Dockerfile prior to building. Also in the Dockerfile set BASE_VERSION to 3.3. This version works the best for accelerated VPU at the moment.
Thank you for the quick response. After reviewing your test results, I revisited the repo and realized that we had missed some device group rules and volume bindings. Since we weren’t using a compose file, we didn’t fully understand the importance of these rules. For future readers facing similar issues, it’s important to pay attention to the steps regarding bindings and device group rules in the compose file!