How to push stream to display in iMX95 Verdin EVK with the NXP os08a20 camera I have recently bought the X-IMX-OS08A20 camera module from https://www.nxp.com/design/design-center/development-boards-and-designs/4K-MIPI-CMOS-CAMERA-MODULE. I have connected it to the iMX95 Verdin EVK kit and the camera gets detected properly and probes successfully. I am using the following dtb- imx95-19x19-verdin-os08a20-isp-lt8912.dtb I am running the following v4l2 commands and I could get the v4l2 stream with stream-mmap command. The following is the commands which I use media-ctl -d /dev/media0 -l "'os08a20 2-0036':0 -> 'csidev-4ad30000.csi':0[1]" media-ctl -d /dev/media0 -l "'csidev-4ad30000.csi':1 -> '4ac10000.syscon:formatter@20':0[1]" media-ctl -d /dev/media0 -l "'4ac10000.syscon:formatter@20':1 -> 'crossbar':2[1]" media-ctl -d /dev/media0 -l "'crossbar':5 -> 'mxc_isi.0':0[1]" media-ctl -d /dev/media0 -l "'mxc_isi.0':1 -> 'mxc_isi.0.capture':0[1]" echo "media setting" media-ctl -d /dev/media0 -R "'os08a20 2-0036' [1/0->0/0[1]]" media-ctl -d /dev/media0 -R "'csidev-4ad30000.csi' [0/0->1/0[1]]" media-ctl -d /dev/media0 -R "'4ac10000.syscon:formatter@20' [0/0->1/0[1]]" media-ctl -d /dev/media0 -R "'crossbar' [2/0->5/0[1]]" echo "routing done" media-ctl -d /dev/media0 -V "'os08a20 2-0036':0/0 [fmt:SBGGR10/3840x2160 field:none]" media-ctl -d /dev/media0 -V "'csidev-4ad30000.csi':0/0 [fmt:SBGGR10/3840x2160 field:none]" media-ctl -d /dev/media0 -V "'4ac10000.syscon:formatter@20':0/0 [fmt:SBGGR10/3840x2160 field:none]" media-ctl -d /dev/media0 -V "'crossbar':2/0 [fmt:SBGGR10/3840x2160 field:none]" media-ctl -d /dev/media0 -V "'mxc_isi.0':0/0 [fmt:SBGGR10/3840x2160 field:none]" echo "linking Completed " I run the following command to get the frames with v4l2 and I am able to get the expected 30 fps. v4l2-ctl -d /dev/video0 --set-fmt-video=width=3840,height=2160,pixelformat=BG10 --stream-mmap <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30.04 fps <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30.04 fps <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30.04 fps I am trying to push it to the display and i face this issue. root@imx95-19x19-verdin:~# gst-launch-1.0 libcamerasrc ! video/x-raw,format=BGRx,width=3840,height=2160 ! videoconvert ! fpsdisplaysink video-sink=autovideosink text-overlay=true Setting pipeline to PAUSED ... [0:01:33.994814097] [774] INFO Camera camera_manager.cpp:326 libcamera v0.5.0+330-7fce0333-dirty (2025-06-04T12:23:54UTC) Pipeline is live and does not need PREROLL ... [0:01:34.098980249] [780] WARN ISI imx8-isi.cpp:353 Cannot find a supported YUV/RGB format Pipeline is PREROLLED ... Setting pipeline to PLAYING ... ERROR: from element /GstPipeline:pipeline0/GstLibcameraSrc:libcamerasrc0: Internal data stream error. Additional debug info: /usr/src/debug/libcamera/0.5.0.imx/src/gstreamer/gstlibcamerasrc.cpp(682): gst_libcamera_src_task_enter (): /GstPipeline:pipeline0/GstLibcameraSrc:libcamerasrc0: streaming stopped, reason not-negotiated (-4) ERROR: pipeline doesn't want to preroll. Execution ended after 0:00:00.000314034 Setting pipeline to NULL ... [0:01:34.099615025] [780] WARN ISI imx8-isi.cpp:353 Cannot find a supported YUV/RGB format ERROR: from element /GstPipeline:pipeline0/GstLibcameraSrc:libcamerasrc0: Internal data stream error. Additional debug info: /usr/src/debug/libcamera/0.5.0.imx/src/gstreamer/gstlibcamerasrc.cpp(682): gst_libcamera_src_task_enter (): /GstPipeline:pipeline0/GstLibcameraSrc:libcamerasrc0: streaming stopped, reason not-negotiated (-4) Freeing pipeline ... cam -c 1 --info [0:01:09.047021603] [772] INFO Camera camera_manager.cpp:326 libcamera v0.5.0+330-7fce0333-dirty (2025-06-04T12:23:54UTC) [0:01:09.152506530] [772] WARN ISI imx8-isi.cpp:353 Cannot find a supported YUV/RGB format Using camera /base/soc/bus@42000000/i2c@42530000/os08a20_mipi@36 as cam0 0: 3840x2160-SBGGR10 * Pixelformat: SBGGR10 (3840x2160)-(3840x2160)/(+1,+1) - 3840x2160 * Pixelformat: SBGGR12 (3840x2160)-(3840x2160)/(+1,+1) - 3840x2160 Till now I have not exported MATCH_LIST regarding the libcamera and the above are those logs. After this I export export LIBCAMERA_PIPELINES_MATCH_LIST='nxp/neo,imx8-isi' root@imx95-19x19-verdin:~# cam -c 1 --info [0:01:46.524765885] [782] INFO Camera camera_manager.cpp:326 libcamera v0.5.0+330-7fce0333-dirty (2025-06-04T12:23:54UTC) [0:01:46.642824790] [783] INFO NxpNeoIPA neo_ipa.cpp:128 nxpneo: IPANxpNeo NXPNEO_IPA_v0.5.0+330-7fce0333-dirty (2025-06-04T12:23:54UTC) Using camera /base/soc/bus@42000000/i2c@42530000/os08a20_mipi@36 as cam0 0: 3840x2160-BGR888 * Pixelformat: R8 (1920x1080)-(3840x2160)/(+0,+0) - 1920x1080 - 3840x2160 * Pixelformat: R10 (1920x1080)-(3840x2160)/(+0,+0) - 1920x1080 - 3840x2160 * Pixelformat: R12 (1920x1080)-(3840x2160)/(+0,+0) - 1920x1080 - 3840x2160 * Pixelformat: R16 (1920x1080)-(3840x2160)/(+0,+0) - 1920x1080 - 3840x2160 * Pixelformat: NV21 (1920x1080)-(3840x2160)/(+0,+0) - 1920x1080 - 3840x2160 * Pixelformat: NV61 (1920x1080)-(3840x2160)/(+0,+0) - 1920x1080 - 3840x2160 * Pixelformat: NV12 (1920x1080)-(3840x2160)/(+0,+0) - 1920x1080 - 3840x2160 * Pixelformat: XBGR8888 (1920x1080)-(3840x2160)/(+0,+0) - 1920x1080 - 3840x2160 * Pixelformat: BGR888 (1920x1080)-(3840x2160)/(+0,+0) - 1920x1080 - 3840x2160 * Pixelformat: RGB888 (1920x1080)-(3840x2160)/(+0,+0) - 1920x1080 - 3840x2160 * Pixelformat: XRGB8888 (1920x1080)-(3840x2160)/(+0,+0) - 1920x1080 - 3840x2160 * Pixelformat: NV16 (1920x1080)-(3840x2160)/(+0,+0) - 1920x1080 - 3840x2160 * Pixelformat: YUYV (1920x1080)-(3840x2160)/(+0,+0) - 1920x1080 - 3840x2160 * Pixelformat: XVUY8888 (1920x1080)-(3840x2160)/(+0,+0) - 1920x1080 - 3840x2160 * Pixelformat: UYVY (1920x1080)-(3840x2160)/(+0,+0) - 1920x1080 - 3840x2160 After this when I run the following gstreamer command the stream does not begin. There is no response for this process until it gets killed. root@imx95-19x19-verdin:~# GST_DEBUG=3 gst-launch-1.0 libcamerasrc ! videoconvert ! autovideosink Setting pipeline to PAUSED ... [0:04:17.443233635] [794] INFO Camera camera_manager.cpp:326 libcamera v0.5.0+330-7fce0333-dirty (2025-06-04T12:23:54UTC) [0:04:17.562332552] [798] INFO NxpNeoIPA neo_ipa.cpp:128 nxpneo: IPANxpNeo NXPNEO_IPA_v0.5.0+330-7fce0333-dirty (2025-06-04T12:23:54UTC) Pipeline is live and does not need PREROLL ... 0:00:00.203418021 794 0xffffa4000b70 FIXME default gstutils.c:4169:gst_element_decorate_stream_id_internal: Creating random stream-id, consider implementing a deterministic way of creating a stream-id Pipeline is PREROLLED ... Setting pipeline to PLAYING ... 0:00:00.203987701 794 0xffffa4000b70 WARN default gstlibcamera-utils.cpp:345:gst_libcamera_stream_formats_to_caps: Unsupported DRM format R10 0:00:00.204038448 794 0xffffa4000b70 WARN default gstlibcamera-utils.cpp:345:gst_libcamera_stream_formats_to_caps: Unsupported DRM format R12 New clock: GstSystemClock 0:00:00.204228106 794 0xffffa4000b70 WARN default gstlibcamera-utils.cpp:345:gst_libcamera_stream_formats_to_caps: Unsupported DRM format XVUY [0:04:17.578186764] [799] INFO Camera camera.cpp:1205 configuring streams: (0) 3840x2160-NV21 0:00:00.0 / 99:99:99. How to overcome this issue. Can you please guide me on this. Re: How to push stream to display in iMX95 Verdin EVK with the NXP os08a20 camera I don't have this board to reproduce this issue, I tested hdmi with imx95-19x19-evk-os08a20-isp-it6263-lvds0.dtb without any issue, pls contact the vendor to support this, or try to use other dtb file to test again Re: How to push stream to display in iMX95 Verdin EVK with the NXP os08a20 camera https://community.nxp.com/t5/i-MX-Processors/How-to-display-video-capture-by-OS08A20-camera-via-HDMI-LT8912/m-p/2170756/page/2 The above link contains the same query regarding the streaming. Can you please check and confirm what solution was provided as I couldnt find one. Thanks. Re: How to push stream to display in iMX95 Verdin EVK with the NXP os08a20 camera Is there any solution for this , as I see many of them struggling with the same issue. We have bought the kit as well as the camera. It would be of great help if you could help Re: How to push stream to display in iMX95 Verdin EVK with the NXP os08a20 camera currently we don't support Verdin EVK since imx95 has still under preproduction stage, and I couldn't reproduce this on my board, refer to your log, the issue is related to the display side, you need contact the third party company to check if they verify this or not Re: How to push stream to display in iMX95 Verdin EVK with the NXP os08a20 camera you can contact this
https://www.toradex.com/support Re: How to push stream to display in iMX95 Verdin EVK with the NXP os08a20 camera the issue is related to the lt8912 which isn't supported by the nxp imx95 evk board, so I couldn't reproduce this and debug this, and current policy for Verdin board support is that customer needs to contact Verdin to check, because imx95 is still under preproduction stage, we didn't support the third party company board yet, if I can reproduce this on my board, I can try to give you suggestion or solution, but since this issue is only can be reproduced on their board with their SW, pls contact them directly in current stage Re: How to push stream to display in iMX95 Verdin EVK with the NXP os08a20 camera I have cloned the kernel source from NXP and I am using it ( regarding SW). Also the camera gets probed properly in my case and could get v4l2 stream. Is it possible for you to loop me with the Verdin contact for clarifying this issue. Thanks
View full article