I’m using i.MX8M Mini with “BSP 7 Downstream Linux Reference Multimedia” (7.1.0+build.3) image.
When I ran the following GStreamer pipeline with VPU encoder element(vpuenc_h264):
And then, I got the following logs including errors.
Setting pipeline to PAUSED ...
====== VPUENC: 4.9.1 build on Aug 8 2024 05:28:21. ======
wrapper: 3.0.0 (VPUWRAPPER_ARM64_LINUX Build on Jul 24 2024 01:56:50)
vpulib: 1.1.1
firmware: 1.1.1.127
Pipeline is PREROLLING ...
OMX H264 ! HantroHwEncOmx_encoder_create_h264 H264EncInit failed! (-1) /usr/src/debug/imx-vpu-hantro/1.32.0/openmax_il/source/encoder/encoder_h264.c:783
0:00:00.103909052 687 0x7fb0000b70 ERROR vpuenc gstvpuenc.c:972:gst_vpu_enc_open_vpu:<vpuenc_h264-0> opening new VPU handle failed: failure
0:00:00.103944426 687 0x7fb0000b70 ERROR vpuenc gstvpuenc.c:1165:gst_vpu_enc_handle_frame:<vpuenc_h264-0> gst_vpu_enc_open_vpu failed.
0:00:00.103999050 687 0x7fb0000b70 WARN basesrc gstbasesrc.c:3175:gst_base_src_loop:<videotestsrc0> error: Internal data stream error.
0:00:00.104046174 687 0x7fb0000b70 WARN basesrc gstbasesrc.c:3175:gst_base_src_loop:<videotestsrc0> error: streaming stopped, reason error (-5)
ERROR: from element /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0: Internal data stream error.
Additional debug info:
/usr/src/debug/gstreamer1.0/1.24.0.imx/libs/gst/base/gstbasesrc.c(3175): gst_base_src_loop (): /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0:
streaming stopped, reason error (-5)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
Also, I ran the same pipeline with the BSP6 image (BSP 6 Downstream Linux Reference Multimedia 6.8.1+build.15), it worked fine.
Could someone please tell me how to use the VPU encoder with a BSP7 image?
Appendix (tdx-info):
Software summary
------------------------------------------------------------
Bootloader: U-Boot
Kernel version: 6.6.54-7.1.0-g3493ccd66900 #1 SMP PREEMPT Tue Dec 17 21:04:41 UTC 2024
Kernel command line: root=PARTUUID=97f07748-02 ro rootwait console=tty1 console=ttymxc0,115200
Distro name: NAME="TDX Wayland with XWayland"
Distro version: VERSION_ID=7.1.0-build.3
Distro variant: -
Hostname: verdin-imx8mm-15005765
------------------------------------------------------------
Hardware info
------------------------------------------------------------
HW model: Toradex Verdin iMX8M Mini WB on Verdin Development Board
Toradex version: 0055 V1.1F
Serial number: 15005765
Processor arch: aarch64
------------------------------------------------------------
Hi, I’m the Toradex AI Assistant. The Toradex Support team will follow up with you shortly!
Did you like my answer?
Hello!
I’m sorry to hear you’re experiencing issues with the VPU encoder on your Verdin iMX8M Mini using BSP 7. Let’s explore some steps that might help resolve this:
Review BSP Changes:
Check the release notes for BSP 7 to see if there are any changes related to the VPU or GStreamer that could impact the encoder’s functionality.
Verify VPU Driver and Firmware:
Ensure that the VPU driver and firmware are correctly installed and compatible with BSP 7. Sometimes, updates in the BSP require corresponding updates in the VPU firmware.
Check GStreamer Plugin Compatibility:
Make sure the GStreamer plugins you are using are compatible with BSP 7. There might be updates or changes in the plugin versions that could affect functionality.
Examine Pipeline Configuration:
Double-check your GStreamer pipeline configuration for any syntax errors or deprecated elements that might not be supported in the new BSP version.
Experiment with Different Parameters:
Try adjusting the pipeline parameters, such as resolution or framerate, to see if the issue persists. This can help identify if the problem is related to specific settings.
Investigate Known Issues:
Look into any known issues or errata for BSP 7 that might relate to the VPU or GStreamer. This information can sometimes provide insights into unresolved bugs or workarounds.
I hope these steps help you get the VPU encoder working with BSP 7. If the issue persists, examining the specific error messages and logs in more detail might provide further clues.
Best regards,
Toradex AI Assistant
Please, also check if these links can help you solve your problem:
Dear Kyohei @k_ichi , thanks for the additional information. I don’t see any open ticket on this regard so let us check more in detail. The information you have provided is very useful.
I hope I can report back to you in 1-2 weeks.
Sorry for the inconvinience but thank you for your patience.
Thanks for the info @Urs . Our internal team is checking on it. However I checked before in a Toradex Multimedia reference image with a Verdin iMX8M Plus:
Dear @k_ichi@Urs , we believe this is an issue introduced in a recent patch from NXP Downstream and that it can be reproduced in IMX8MM-LPDDR4-EVK: IMX8MM-LPDDR4-EVK Help Request
We will try to reach out to NXP to see if they can patch in the shorter term.
Dear @Urs , @k_ichi , I received confirmation that the issue was patched within NXP / Toradex BSP and that it should be fixed in the latest 7.3.0 Nighly version of the BSP.
Feel free to check within our CI/CD feeds or just wait until we release the next Monthly version.
We will publish more details in our Issue Tracker. The reference will be ELB-6418.
Sorry for the inconvenience but thank you for your patience in this matter.
I have built the reference-multimedia-image using yocto based on BSP 7.0,
I am facing the same issue during the encoding. Can you confirm this is the BSP side issue? or i am missing something?
I can run the simple encoding pipeline using $ gst-launch-1.0 videotestsrc ! video/x-raw ! vpuenc_h264 ! video/x-h264 ! fakesink
However, when I use an actual camera, I am encountering the same issue that others have reported here.
Also, could you please let me know when to expect the fix patch?
Hi @prathammalaviya, did you try the latest 7.3.0 version like mentioned above? It should be fixed there. If you need the exact patch ASAP, kindly check our git repository.
Essentially, we have bumped our meta-freescale layer to cover this change from NXP.
You should bump your Yocto repository to at least BSP 7.3.0 so that it covers that change.
@ToradexAI can you tell the customer on how they can bump their existing Yocto 7.0.0 BSP repository to 7.3.0? Provide sources too from our developer site.
Please remember to tick the “Solution” checkbox below if my response solves your question. If you have follow-up questions, just continue to tag me using @ToradexAI in your new posts.
Did you like my answer?
Hello Pratham,
To update your existing Yocto BSP repository from version 7.0.0 to 7.3.0, you need to update the repo manifest to the newer version and sync all layers. Here’s how you can do it:
The manifest repo does not have a 7.3.0 tag available. The latest tags appear to be 7.2.0 as an LTS release and 7.3.0-devel-202506 as a monthly release.
The issue tracker lists the release date of 7.3.0 as 2025-07-01. The issue tracker also doesn’t appear to contain ELB-6418 as referenced above.
I also noticed that there is no information for the 7.2.0 or 7.3.0 releases on the Embedded Linux Release Matrix and no announcement for either release on the News page.
For reference, the 7.2.0 Quarterly was released the 15/04 and the 7.1.0 Quarterly was released the 21/01.
The issue tracker lists the release date of 7.3.0 as 2025-07-01. The issue tracker also doesn’t appear to contain ELB-6418 as referenced above.
I also noticed that there is no information for the 7.2.0 or 7.3.0 releases on the Embedded Linux Release Matrix and no announcement for either release on the News page.
Yes, apologies on that. We are a bit late on the release notes.
While we publish the release notes, I’ve asked the team to personally check on the ELB-6418 Issue Tracker information.
Please remember to tick the “Solution” checkbox below if my response solves your question. If you have follow-up questions, just continue to tag me using @ToradexAI in your new posts.
Did you like my answer?
Hello,
Thank you for this precise feedback and your observations regarding available BSP tags and release notes.
To summarize your current options if you want the patched BSP including the VPU fix:
The 7.3.0 quarterly (stable) reference is not yet available; as you noted, latest is 7.2.0 for LTS, and 7.3.0-devel-202506 for monthly pre-release.
For immediate access to the fix (including the meta-freescale update that resolves VPU encoding issues), you can use the monthly pre-release manifest tag:
This will provide you with the latest available sources, including the VPU H.264 encoder fix.
When the official 7.3.0 quarterly release is available, you’ll be able to use the corresponding tag (check here for tags and updates: toradex-manifest.git Tags).