cancel
Showing results for 
Search instead for 
Did you mean: 

VD56G3 compatibility with Raspberry Pi CM5 module + CM5IO board

3FTI
Associate III

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

 

6 REPLIES 6
3FTI
Associate III

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
Associate III

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 ]---
CyrilTechPro
ST Employee

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 

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

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.


Our community relies on fruitful exchanges and good quality content. You can thank and reward helpful and positive contributions by marking them as 'Accept as Solution'. When marking a solution, make sure it answers your original question or issue that you raised.

ST Employees that act as moderators have the right to accept the solution, judging by their expertise. This helps other community members identify useful discussions and refrain from raising the same question. If you notice any false behavior or abuse of the action, do not hesitate to 'Report Inappropriate Content'

Hi @MeganeG, awesome, thanks. I will give this a try and report back.

Best,

Chad