Hello,
Could you please tell me how to display video captured by the OS08A20 camera via HDMI(LT8912)?
GST_DEBUG=3 gst-launch-1.0 v4l2src device=/dev/video0 ! "video/x-raw,width=1920,height=1080,format=YUYV" ! videoconvert ! autovideosink
■ Result
0:00:00.083718541 916 0xaaaaf3247f20 ERROR GST_PIPELINE grammar.y:1138:gst_parse_perform_link: could not link v4l2src0 to videoconvert0, neither element can handle caps video/x-raw, width=(int)1920, height=(int)1080, format=(string)YUYV WARNING: erroneous pipeline: could not link v4l2src0 to videoconvert0, neither element can handle caps video/x-raw, width=(int)1920, height=(int)1080, format=(string)YUYV
If any additional information is needed, please let me know.
Thank you in advance!
Hi @kazuhito_morita ,
Dtb file I use this one: fdtfile=imx95-19x19-evk-os08a20-isp-it6263-lvds0.dtb
For the
You need I add them to the attachment.
By the way, if still not work in your side. You can use the support way I share you last time.
We do not have your board in hand, so can not debug it for, I confirmed in our side, for the in iMX95 Verdin board support you can contact the Toradex
Hope this can do help for you
Wish you have a nice day
Best Regads
Rita
Hi @Rita_Wang
Thank you for your reply despite being busy.
The BSP version is the same as my environment.
I’m also using 6.12.34_2.1.0 now. However, the issue has not been resolved yet.
I’m looking forward to receiving the other two pieces of information.
best regards
I am using the newest version BSP in our website:
For the others
I will test on our board later and then give you reply, so sorry for late test on it, too many task in hand.
I am on the new prodcut training this week, I will try again next week when I go to office, then test for you. Thanks.
Hi, @Rita_Wang
Could you please share the following information about your environment?
Good news it work now.
I will send you next week I go to office and then share it to you.
hi, @Rita_Wang
Thank you very much for all your support so far.
You were able to output the input image from the OS08A20 camera via HDMI, and I would like to refer to your implementation.
Would it be possible for you to share the following information?
Hi @kazuhito_morita ,
We do not have your board in hand, so can not debug it for, I confirmed in our side, for the in iMX95 Verdin board support you can contact the Toradex
Hope this can do help for you
Wish you have a nice day
Best Regards
Rita
@Rita_Wang
Thank you for your advice.
However, I still cannot display the camera image.
Here are the steps I executed:
The counter remains at 0:00:00.0 and does not count up.
When I boot the NXP BSP, Weston seems to start automatically.
A gray background and some application icons are displayed — could this be affecting the camera display?
Hi @kazuhito_morita ,
Thank you, I am back and discussed with my colleague,you also need to run the following commend :
export LIBCAMERA_PIPELINES_MATCH_LIST='nxp/neo,imx8-isi,uvcvideo'
You can try it, I will wait for your test result. If still not work tell me.
Wish you have a nice day
Best Regards
Rita
Thank you very much for your support.
Wishing you a wonderful holiday!
Hi @kazuhito_morita ,
I see the board you are using, it is not our EVK board, here I will test the OS08A20 camera via HDMI on our EVK board and then tell you the result.
By the way, in China we will have the China National days leave from today and I will test i for you when I back to office on the Oct 9th. Thanks for kindly understandings.
Wish you have a nice day
Best Regards
Rita
Hi, @Rita_Wang
Thank you for your cheking.
I’m attaching a photo of the board.
Please take a look and let me know what you think.
best regards.
Hi @kazuhito_morita ,
Can you share the board picture to me? I do not know the verison Board in your side, B0 or A1 version, thanks.
Wish you have a nice day
Best Regards
Rita
@Rita_Wang
Thank you for checking.
I tried the GStreamer pipeline you suggested, but I encountered an error.
I will investigate the details of the error.
root@imx95evk:~# gst-launch-1.0 libcamerasrc ! queue ! autovideosink
Setting pipeline to PAUSED ...
[0:01:47.980555800] [624] INFO Camera camera_manager.cpp:315 libcamera v0.0.0+4594-lf-6.6.23-2.0.0-dirty (2025-09-05T01:32:47+00:00)
[0:01:48.031624883] [629] INFO NxpNeo neo_utils.cpp:629 Parsing pipeline config file /usr/share/libcamera/pipeline/nxp/neo/config.yaml
[0:01:48.033805175] [629] WARN CameraSensor camera_sensor.cpp:248 'os08a20 2-0036': Recommended V4L2 control 0x009a0922 not supported
[0:01:48.033880508] [629] WARN CameraSensor camera_sensor.cpp:315 'os08a20 2-0036': The sensor kernel driver needs to be fixed
[0:01:48.033911467] [629] WARN CameraSensor camera_sensor.cpp:317 'os08a20 2-0036': See Documentation/sensor_driver_requirements.rst in the libcamera sources for more information
[0:01:48.034876550] [629] WARN CameraSensorProperties camera_sensor_properties.cpp:262 No static properties available for 'os08a20'
[0:01:48.034923050] [629] WARN CameraSensorProperties camera_sensor_properties.cpp:264 Please consider updating the camera sensor properties database
[0:01:48.034952592] [629] WARN CameraSensor camera_sensor.cpp:461 'os08a20 2-0036': Failed to retrieve the camera location
[0:01:48.034980800] [629] WARN CameraSensor camera_sensor.cpp:483 'os08a20 2-0036': Rotation control not available, default to 0 degrees
Pipeline is live and does not need PREROLL ...
ERROR: from element /GstPipeline:pipeline0/GstLibcameraSrc:libcamerasrc0: Internal data stream error.
Pipeline is PREROLLED ...
Additional debug info:
/usr/src/debug/libcamera/0.2.0.imx/src/gstreamer/gstlibcamerasrc.cpp(645): gst_libcamera_src_task_enter (): /GstPipeline:pipeline0/GstLibcameraSrc:libcamerasrc0:
streaming stopped, reason not-negotiated (-4)
Setting pipeline to PLAYING ...
ERROR: pipeline doesn't want to preroll.
I would appreciate it if you could advise me on anything else I should try or check.
I have tried on the i.MX 95 EVK running 6.12.20_2.0.0 BSP, it can run well.
Run the example Gstreamer pipeline to verify camera stream
root@imx95evk:~# gst-launch-1.0 libcamerasrc ! queue ! autovideosink
Can you share the board picture to me?
Thank you for your response.
The box is labeled as follows:
iMX95 Verdin EVK V1.1D
PN: 05241103
SN: 36204509
The board itself is labeled as follows:
iMX95 Verdin EVK CB V1.3A
PN:05211300
SN:35873003
best regards
Thank you for your response.
The box is labeled as follows:
iMX95 Verdin EVK V1.1D
PN: 05241103
SN: 36204509
The board itself is labeled as follows:
iMX95 Verdin EVK CB V1.3A
PN:05211300
SN:35873003
best regards
For the i.MX95 19x19 EVK boar which version are you using, B0 or others?
I tried to capture an image using v4l2-ctl, then the kernel crashed.
When I try to start a video capture using the following command, the kernel crashes (Oops) every time.
v4l2-ctl -d /dev/video0 --stream-mmap=1 --stream-count=1
Internal error: Oops: 0000000096000004 [#1] PREEMPT SMP
CPU: 1 PID: 691 Comm: v4l2-ctl Not tainted 6.6.23-lts-next-06236-gb586a521770e #1
Hardware name: NXP i.MX95 19X19 board (DT)
pc : formatter_subdev_enable_streams+0xb0/0x22c
...
Call trace:
formatter_subdev_enable_streams+0xb0/0x22c
v4l2_subdev_enable_streams+0xe4/0x268
mxc_isi_crossbar_enable_streams+0x12c/0x1d0
v4l2_subdev_enable_streams+0xe4/0x268
mxc_isi_pipe_enable+0x204/0x2ac
mxc_isi_vb2_start_streaming+0xa0/0xe4
vb2_start_streaming+0x68/0x15c
vb2_core_streamon+0xf8/0x1bc
vb2_streamon+0x18/0x64
mxc_isi_video_streamon+0x28c/0x314
v4l_streamon+0x24/0x30
__video_do_ioctl+0x32c/0x3f8
The media graph is active with crossbar/csi/formatter/ISI routing.
(See attached details below. media-ctl.txt)
...
Hi ,
I am also facing the same issue in my iMX95 Verdin EVK kit. The following are the details.
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:
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.
Can you please provide a solution for this.
Hi, was this issue resolved ?