I am using a fully updated RasPi4B with 8GB of RAM running 64 bit Bookworm. I have done nothing but setting up the Pi and ran apt update and apt ful-upgrade. Now all I want to achieve is to see the rpicam-hello output (the stream). However, starting rpicam-hello always leads to below error. I have tried every solution I could find online, but I still have the error. Is there something I can do to debug this? Is there a solution I just have missed? In every tutorial I see it is just, take Pi, install Bookworm, connect cam and enjoy...
Below please see the error output I get from running rpicam-hello.
felix4b@raspi4b:~ $ rpicam-hello
Could not open any dmaHeap device
[0:52:27.945362119] [3591] INFO Camera camera_manager.cpp:325 libcamera v0.3.2+99-1230f78d
[0:52:27.990398626] [3594] WARN RPiSdn sdn.cpp:40 Using legacy SDN tuning - please consider moving SDN inside rpi.denoise
[0:52:27.992612532] [3594] INFO RPI vc4.cpp:447 Registered camera /base/soc/i2c0mux/i2c@1/imx477@1a to Unicam device /dev/media2 and ISP device /dev/media0
[0:52:27.992686494] [3594] INFO RPI pipeline_base.cpp:1120 Using configuration file '/usr/share/libcamera/pipeline/rpi/vc4/rpi_apps.yaml'
Made X/EGL preview window
Mode selection for 2028:1520:12:P
SRGGB10_CSI2P,1332x990/0 - Score: 3456.22
SRGGB12_CSI2P,2028x1080/0 - Score: 1083.84
SRGGB12_CSI2P,2028x1520/0 - Score: 0
SRGGB12_CSI2P,4056x3040/0 - Score: 887
[0:52:29.281632556] [3591] INFO Camera camera.cpp:1197 configuring streams: (0) 2028x1520-YUV420 (1) 2028x1520-SBGGR12_CSI2P
[0:52:29.282174107] [3594] INFO RPI vc4.cpp:622 Sensor: /base/soc/i2c0mux/i2c@1/imx477@1a - Selected sensor format: 2028x1520-SBGGR12_1X12 - Selected unicam format: 2028x1520-pBCC
dmaHeap allocation failure for rpicam-apps0
ERROR: *** failed to allocate capture buffers for stream ***
Steps tried to solve the issue
Checked integrity of the downloaded image.
sudo apt updatefollowed bysudo apt full-upgradeI reflashed bookworm onto the same sd card.
I reflashed bookworm to another sd card.
In this post I thought it is my problem and answer: How to fix the libcamera error 'Could not open any dmaHeap device'
However, adding
SUBSYSTEM=="dma_heap", GROUP="video", MODE="0660"to/etc/udev/rules.d/raspberrypi.ruleshas no impact, same error. I have ensured my user is in thevideogroup.I have added more RAM to the GPU
gpu_mem=512also no impact same error.I tried running
rpi-hellowithsudoand without. I get the same error in both cases.I even tried the solution outlined here: Troubleshooting dma-heap memory issues. Also adding:
dtoverlay=vc4-kms-v3d,cma-512 dtoverlay=rpivid-v4l2to
/boot/config.txthas no effect.
Can anybody help, or should I just return the Pi and cam as broken?