Skip to main content
3FTI
Associate III
Jul 2, 2025 7:51 PM UTC
Solved

VD56G3 compatibility with Raspberry Pi CM5 module + CM5IO board

Do the current VD56G3 drivers support the CM5 module? 

I have followed the installation guides several times (including building libcamera from the ST source files) and I can't get libcamera to stream the camera. Here is the error message:

$ libcamera-hello
[0:18:08.863706754] [1547] INFO Camera camera_manager.cpp:326 libcamera v0.5.0
[0:18:08.870764844] [1548] INFO RPI pisp.cpp:720 libpisp version v1.2.0 50426319aa1a 02-07-2025 (19:52:09)
[0:18:08.887921079] [1548] INFO RPI pisp.cpp:1179 Registered camera /base/axi/pcie@1000120000/rp1/i2c@88000/fox@10 to CFE device /dev/media2 and ISP device /dev/media0 using PiSP variant BCM2712_D0
Preview window unavailable
Mode selection for 562:682:12:P
 R8,320x240/0 - Score: 3558.98
 R8,480x640/0 - Score: 2470.14
 R8,640x480/0 - Score: 2614.48
 R8,768x1024/0 - Score: 2359.14
 R8,1024x768/0 - Score: 2327.98
 R8,720x1280/0 - Score: 2973.64
 R8,1024x1280/0 - Score: 2337.14
 R8,1120x1360/0 - Score: 2310.55
 R8,1124x1364/0 - Score: 2311
 R10_CSI2P,320x240/0 - Score: 2558.98
 R10_CSI2P,480x640/0 - Score: 1470.14
 R10_CSI2P,640x480/0 - Score: 1614.48
 R10_CSI2P,768x1024/0 - Score: 1359.14
 R10_CSI2P,1024x768/0 - Score: 1327.98
 R10_CSI2P,720x1280/0 - Score: 1973.64
 R10_CSI2P,1024x1280/0 - Score: 1337.14
 R10_CSI2P,1120x1360/0 - Score: 1310.55
 R10_CSI2P,1124x1364/0 - Score: 1311
Stream configuration adjusted
[0:18:08.889118042] [1547] INFO Camera camera.cpp:1205 configuring streams: (0) 562x682-YUV420 (1) 1120x1360-MONO_PISP_COMP1
[0:18:08.889224597] [1548] INFO RPI pisp.cpp:1483 Sensor: /base/axi/pcie@1000120000/rp1/i2c@88000/fox@10 - Selected sensor format: 1120x1360-Y10_1X10 - Selected CFE format: 1120x1360-PC1M
[0:18:08.898858724] [1548] ERROR V4L2 v4l2_videodevice.cpp:2049 /dev/video6[18:cap]: Failed to start streaming: Invalid argument
ERROR: *** failed to start camera ***

 

Dmesg output:

[Wed Jul 2 19:59:20 2025] vd56g3: loading out-of-tree module taints kernel.
[Wed Jul 2 19:59:20 2025] rp1-cfe 1f00110000.csi: Using sensor vd56g3 10-0010 for capture
[Wed Jul 2 19:59:20 2025] rp1-cfe 1f00110000.csi: Registered [rp1-cfe-csi2_ch0] node id 0 successfully as /dev/video0
[Wed Jul 2 19:59:20 2025] rp1-cfe 1f00110000.csi: Registered [rp1-cfe-embedded] node id 1 successfully as /dev/video1
[Wed Jul 2 19:59:20 2025] rp1-cfe 1f00110000.csi: Registered [rp1-cfe-csi2_ch2] node id 2 successfully as /dev/video2
[Wed Jul 2 19:59:20 2025] rp1-cfe 1f00110000.csi: Registered [rp1-cfe-csi2_ch3] node id 3 successfully as /dev/video3
[Wed Jul 2 19:59:20 2025] rp1-cfe 1f00110000.csi: Registered [rp1-cfe-fe_image0] node id 4 successfully as /dev/video4
[Wed Jul 2 19:59:20 2025] rp1-cfe 1f00110000.csi: Registered [rp1-cfe-fe_image1] node id 5 successfully as /dev/video5
[Wed Jul 2 19:59:20 2025] rp1-cfe 1f00110000.csi: Registered [rp1-cfe-fe_stats] node id 6 successfully as /dev/video6
[Wed Jul 2 19:59:20 2025] rp1-cfe 1f00110000.csi: Registered [rp1-cfe-fe_config] node id 7 successfully as /dev/video7
[Wed Jul 2 19:59:20 2025] vd56g3 10-0010: Successfully probe vd56g3 sensor

v4l2-ctl output:

 $ v4l2-ctl --list-devices
pispbe (platform:1000880000.pisp_be):
 /dev/video20
 /dev/video21
 /dev/video22
 /dev/video23
 /dev/video24
 /dev/video25
 /dev/video26
 /dev/video27
 /dev/video28
 /dev/video29
 /dev/video30
 /dev/video31
 /dev/video32
 /dev/video33
 /dev/video34
 /dev/video35
 /dev/media2
 /dev/media3

rp1-cfe (platform:1f00110000.csi):
 /dev/video0
 /dev/video1
 /dev/video2
 /dev/video3
 /dev/video4
 /dev/video5
 /dev/video6
 /dev/video7
 /dev/media1

rpi-hevc-dec (platform:rpi-hevc-dec):
 /dev/video19
 /dev/media0

 

This topic has been closed for replies.
MeganeG
MeganeGBest answer
ST Technical Moderator
Aug 11, 2025 9:46 PM UTC

Hi @3FTI,

We have updated our driver to support the Raspberry Pi Compute Module 5. The latest version is now available on st.com.

Please note that the device tree overlay usage has changed:

  • CM5 supports only the cam0 connector.
  • Cam1 is now the default camera connector. To select cam0, add ",cam0" at the end of your dtoverlay line, for example: dtoverlay=youroverlay,cam0.

Thanks, Megane.

In order to give better visibility on the answered topics, please click on 'Best answer' on the reply which solved your issue or answered your question.

6 replies

3FTI
3FTIAuthor
Associate III
Jul 3, 2025 11:59 AM UTC

here is the kernel log when I run the `libcamera-hello` command:

[56187.220771] rp1-cfe 1f00110000.csi: Using a link rate of 804 Mbps
[56187.220917] rp1-cfe 1f00110000.csi: stream on failed in subdev
[56187.223000] ------------[ cut here ]------------
[56187.223002] WARNING: CPU: 3 PID: 30123 at drivers/media/v4l2-core/v4l2-subdev.c:455 call_s_stream+0xf4/0x108 [videodev]
[56187.223029] Modules linked in: snd_seq_dummy snd_hrtimer snd_seq snd_seq_device rfkill binfmt_misc vd56g3(O) v4l2_cci regmap_i2c spidev aes_ce_blk aes_ce_cipher ghash_ce gf128mul libaes sha2_ce sha256_arm64 sha1_ce sha1_generic raspberrypi_hwmon rp1_cfe rpi_hevc_dec pisp_be v4l2_mem2mem v4l2_fwnode rp1_pio i2c_brcmstb videobuf2_dma_contig v4l2_async videobuf2_memops spi_bcm2835 videobuf2_v4l2 gpio_keys videodev rp1 rp1_adc dwc2 videobuf2_common mc i2c_designware_platform i2c_designware_core raspberrypi_gpiomem nvmem_rmem rp1_mailbox i2c_dev ledtrig_pattern fuse dm_mod ip_tables x_tables ipv6 vc4 snd_soc_hdmi_codec snd_soc_core snd_compress snd_pcm_dmaengine snd_pcm snd_timer snd v3d drm_display_helper drm_dma_helper drm_shmem_helper cec drm_kms_helper gpu_sched drm drm_panel_orientation_quirks backlight uio_pdrv_genirq uio
[56187.223090] CPU: 3 UID: 1000 PID: 30123 Comm: libcamera-hello Tainted: G W O 6.12.25+rpt-rpi-2712 #1 Debian 1:6.12.25-1+rpt1
[56187.223096] Tainted: [W]=WARN, [O]=OOT_MODULE
[56187.223097] Hardware name: Raspberry Pi Compute Module 5 Rev 1.0 (DT)
[56187.223099] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[56187.223102] pc : call_s_stream+0xf4/0x108 [videodev]
[56187.223117] lr : cfe_stop_streaming+0xdc/0x210 [rp1_cfe]
[56187.223123] sp : ffffc0008a98bae0
[56187.223124] x29: ffffc0008a98bae0 x28: ffffd06fc012cbe8 x27: ffffd06fbff490f8
[56187.223127] x26: 0000000000000000 x25: ffff800080ae3e98 x24: ffff8000c171bf00
[56187.223131] x23: ffff800080ae0370 x22: 0000000000000000 x21: 0000000000000000
[56187.223134] x20: ffff800080ae0000 x19: 0000000000000008 x18: 0000000000000000
[56187.223138] x17: 0000000000000000 x16: ffffd06fcf18efa0 x15: 00007fff94053c30
[56187.223141] x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000
[56187.223144] x11: 0000000000000000 x10: 0000000000000000 x9 : ffffd06fc011b264
[56187.223148] x8 : ffffc0008a98bda8 x7 : 0000000000000005 x6 : 0000000000000025
[56187.223151] x5 : ffff800080ae4358 x4 : 0000000000000000 x3 : ffffd06fbff0eb08
[56187.223154] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff8001807f5088
[56187.223158] Call trace:
[56187.223159] call_s_stream+0xf4/0x108 [videodev]
[56187.223174] cfe_stop_streaming+0xdc/0x210 [rp1_cfe]
[56187.223177] __vb2_queue_cancel+0x34/0x2d8 [videobuf2_common]
[56187.223184] vb2_core_streamoff+0x2c/0xd0 [videobuf2_common]
[56187.223189] vb2_ioctl_streamoff+0x54/0xa0 [videobuf2_v4l2]
[56187.223195] v4l_streamoff+0x2c/0x40 [videodev]
[56187.223211] __video_do_ioctl+0x170/0x3e0 [videodev]
[56187.223226] video_usercopy+0x1bc/0x780 [videodev]
[56187.223240] video_ioctl2+0x20/0x38 [videodev]
[56187.223255] v4l2_ioctl+0x48/0x70 [videodev]
[56187.223269] __arm64_sys_ioctl+0xb4/0x100
[56187.223275] invoke_syscall+0x50/0x120
[56187.223280] el0_svc_common.constprop.0+0x48/0xf0
[56187.223283] do_el0_svc+0x24/0x38
[56187.223286] el0_svc+0x30/0xd0
[56187.223290] el0t_64_sync_handler+0x100/0x130
[56187.223293] el0t_64_sync+0x190/0x198
[56187.223296] ---[ end trace 0000000000000000 ]---
3FTI
3FTIAuthor
Associate III
Jul 3, 2025 3:00 PM UTC

this is the kernel message log when calling `libcamera-hello`:

rp1-cfe 1f00110000.csi: Using a link rate of 804 Mbps
rp1-cfe 1f00110000.csi: stream on failed in subdev
------------[ cut here ]------------
WARNING: CPU: 0 PID: 1568 at drivers/media/v4l2-core/v4l2-subdev.c:457 call_s_stream+0xf4/0x108 [videodev]
Modules linked in: cfg80211 snd_seq_dummy snd_hrtimer snd_seq snd_seq_device rfkill binfmt_misc vd56g3(O) v4l2_cci regmap_i2c spidev aes_ce_blk aes_ce_cipher ghash_ce gf128mul libaes sha2_ce sha256_arm64 sha1_ce sha1_generic raspberrypi_hwmon rp1_cfe rpi_hevc_dec v4l2_fwnode v4l2_mem2mem pisp_be rp1_pio v4l2_async videobuf2_dma_contig spi_bcm2835 videobuf2_memops videobuf2_v4l2 videodev i2c_brcmstb gpio_keys videobuf2_common mc rp1_fw i2c_designware_platform i2c_designware_core rp1_adc raspberrypi_gpiomem rp1_mailbox nvmem_rmem i2c_dev ledtrig_pattern fuse dm_mod ip_tables x_tables ipv6 vc4 snd_soc_hdmi_codec snd_soc_core snd_compress snd_pcm_dmaengine snd_pcm snd_timer snd drm_display_helper v3d drm_dma_helper drm_shmem_helper cec drm_kms_helper gpu_sched drm drm_panel_orientation_quirks backlight uio_pdrv_genirq uio
CPU: 0 UID: 1000 PID: 1568 Comm: libcamera-hello Tainted: G W O 6.12.34+rpt-rpi-2712 #1 Debian 1:6.12.34-1+rpt1~bookworm
Tainted: [W]=WARN, [O]=OOT_MODULE
Hardware name: Raspberry Pi Compute Module 5 Rev 1.0 (DT)
pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : call_s_stream+0xf4/0x108 [videodev]
lr : cfe_stop_streaming+0xdc/0x210 [rp1_cfe]
sp : ffffc000871d3ae0
x29: ffffc000871d3ae0 x28: ffffd06fcab18be8 x27: ffffd06fca8910f8
x26: 0000000000000000 x25: ffff8001c09e3e98 x24: ffff800040212dc0
x23: ffff8001c09e0370 x22: 0000000000000000 x21: 0000000000000000
x20: ffff8001c09e0000 x19: 0000000000000008 x18: 0000000000000000
x17: 0000000000000000 x16: 0000000000000000 x15: 00007ffedc0437d0
x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000
x11: 0000000000000000 x10: 0000000000000000 x9 : ffffd06fcab0728c
x8 : ffffc000871d3d48 x7 : 0000000000000005 x6 : 0000000000000025
x5 : ffff8001c09e4358 x4 : 0000000000000000 x3 : ffffd06fca906b90
x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff800140a5f888
Call trace:
 call_s_stream+0xf4/0x108 [videodev]
 cfe_stop_streaming+0xdc/0x210 [rp1_cfe]
 __vb2_queue_cancel+0x34/0x2d8 [videobuf2_common]
 vb2_core_streamoff+0x2c/0xd0 [videobuf2_common]
 vb2_ioctl_streamoff+0x54/0xa0 [videobuf2_v4l2]
 v4l_streamoff+0x2c/0x40 [videodev]
 __video_do_ioctl+0x170/0x3e0 [videodev]
 video_usercopy+0x1c0/0x790 [videodev]
 video_ioctl2+0x20/0x38 [videodev]
 v4l2_ioctl+0x48/0x70 [videodev]
 __arm64_sys_ioctl+0xb4/0x100
 invoke_syscall+0x50/0x120
 el0_svc_common.constprop.0+0x48/0xf0
 do_el0_svc+0x24/0x38
 el0_svc+0x30/0x100
 el0t_64_sync_handler+0x100/0x130
 el0t_64_sync+0x190/0x198
---[ end trace 0000000000000000 ]---
ST Employee
Jul 21, 2025 9:17 AM UTC

Hello 3FT, 

 

Our Software is working on the subject they confirm the issue and try to solve it.

i will give you more information soon 

 

Thank 

bye 

3FTI
3FTIAuthor
Associate III
Aug 1, 2025 4:17 PM UTC

That's great, looking forward to resolving this issue so we can continue with the development.

MeganeG
MeganeGBest answer
ST Technical Moderator
Aug 11, 2025 9:46 PM UTC

Hi @3FTI,

We have updated our driver to support the Raspberry Pi Compute Module 5. The latest version is now available on st.com.

Please note that the device tree overlay usage has changed:

  • CM5 supports only the cam0 connector.
  • Cam1 is now the default camera connector. To select cam0, add ",cam0" at the end of your dtoverlay line, for example: dtoverlay=youroverlay,cam0.

Thanks, Megane.

In order to give better visibility on the answered topics, please click on 'Best answer' on the reply which solved your issue or answered your question.