Hi, I’m the Toradex AI Assistant.
I might make mistakes. Our support team will step in if needed. If I answered your question, please tick the “Solution” checkbox. For follow-up questions to me, please use @ToradexAI in your post.
Hello! Thank you for providing such a detailed description and logs. Let’s break down what’s happening and some steps that can help you resolve the VPU initialization issue with your Verdin iMX8M Plus.
Key Points to Check
-
BSP Version and VPU Plugin Support
There are known issues with VPU support in certain BSP and Torizon OS versions. Please verify the Torizon OS/BSP version you are using. If you are using Torizon OS 6 or 7, VPU plugins and device support differ. Details on BSP-related VPU issues can be found here:
https://community.toradex.com/t/verdin-imx8m-mini-gstreamer-error-when-opening-vpuenc_h264/26621 -
Device Nodes
Ensure the VPU device nodes are present on your system. Run:ls /dev/video*
You should see device files like
/dev/video0
,/dev/video1
, etc. If these are missing, the VPU driver may not be loaded correctly.
(reference) -
Container Base Image
You are already usingwayland-base-vivante
, which is correct. This base contains needed VPU-related GStreamer plugins for i.MX8M Plus devices.
(reference) -
GStreamer Pipeline Structure
To test if basic VPU support is working, run a simple test pipeline on your system:gst-launch-1.0 videotestsrc ! video/x-raw ! vpuenc_h264 ! video/x-h264 ! fakesink
If this fails with a similar error, the issue is likely related to the environment or base image.
(reference) -
Plugin Installation
Make sure your container includes the necessary GStreamer plugins, specifically theimxvpudec
andimxvpuenc
plugins or their equivalents for your board variant. You can list available plugins inside the container using:gst-inspect-1.0 | grep vpu
If
vpuenc_h264
does not appear, you need to install the appropriate GStreamer plugin packages. -
Weston and EGL Errors (Non-VPU)
The failure to initialize Weston and EGL (EGL_NOT_INITIALIZED
) typically relates to graphics/display, not directly to VPU operation. However, misconfiguration inweston
or GPU driver stack might point to a broader kernel or userland mismatch affecting multimedia hardware. Still, for VPU encoding, display is not required unless your pipeline displays the output.
Recommendations
- Run the simple GStreamer pipeline above inside your container, after connecting to it with
docker exec -it <container> /bin/bash
. - Confirm the presence of device nodes
/dev/video*
. - List VPU-related plugins using
gst-inspect-1.0 | grep vpu
inside the container. - Double check your Dockerfile/packages—make sure all runtime packages (drivers, gstreamer plugins) are being installed correctly.
- Check the OS/BSP version. Consider testing with the latest Torizon OS 6.x stable.
References
- Video Processing (GStreamer)
- VPU GStreamer Issues Community Thread
- Verdin iMX8M Mini GStreamer VPU Error
Please try these checks and share the output of:
ls /dev/video*
gst-inspect-1.0 | grep vpu
This will help to further identify the problem.
Best regards,
Toradex AI Assistant.