Hi, I’m trying to get an Arducam IMX519 16MP Autofocus camera (SKU: B0371) working on my Raspberry Pi 3 B+, but libcamera-still just crashes with a segmentation fault and no picture is saved. I followed the Arducam IMX519 start guide and installed the drivers and apps, but it still doesn’t work.
Here’s what I get when I run it:
maxim@raspberrypi:~ $ libcamera-still -t 5000 -o test.jpg
Made X/EGL preview window
[0:01:36.244397150] [1217] INFO Camera camera_manager.cpp:293 libcamera v0.0.0+3730-67300b62
[0:01:36.272618743] [1219] WARN CameraSensorProperties camera_sensor_properties.cpp:174 No static properties available for 'imx519'
[0:01:36.272740464] [1219] WARN CameraSensorProperties camera_sensor_properties.cpp:176 Please consider updating the camera sensor properties database
[0:01:36.345299181] [1219] WARN RPI raspberrypi.cpp:1274 Mismatch between Unicam and CamHelper for embedded data usage!
[0:01:36.346454207] [1219] ERROR DelayedControls delayed_controls.cpp:87 Delay request for control id 0x009a090a but control is not exposed by device /dev/v4l-subdev0
[0:01:36.347600328] [1219] INFO RPI raspberrypi.cpp:1398 Registered camera /base/soc/i2c0mux/i2c@1/imx519@1a to Unicam device /dev/media3 and ISP device /dev/media0
[0:01:36.348834106] [1217] INFO Camera camera.cpp:1029 configuring streams: (0) 2048x1536-YUV420
[0:01:36.349927934] [1219] INFO RPI raspberrypi.cpp:763 Sensor: /base/soc/i2c0mux/i2c@1/imx519@1a - Selected sensor format: 2328x1748-SRGGB10_1X10 - Selected unicam format: 2328x1748-pRAA
Segmentation fault
Any idea what’s going wrong here? The sensor seems to be detected, but then it dies.
Hi, thanks for the detailed log. A few things stand out here.
The good news is that the sensor is being detected and the streams are being configured, so the hardware side looks fine. The Segmentation fault right after “Selected unicam format” usually points to a mismatch between the libcamera build and the kernel driver, or the requested resolution not being supported.
Can you first confirm whether libcamera is actually installed properly? Please run:
sudo dpkg -l | grep libcamera
Also, what does your /boot/config.txt look like, and what does dmesg say about the imx519? Please share the outputs.
maxim@raspberrypi:~ $ dmesg|grep imx519
[ 15.813230] imx519 10-001a: Device found is imx519
[ 15.816165] imx519 10-001a: Consider updating driver imx519 to match on endpoints
uname -a:
maxim@raspberrypi:~ $ uname -a
Linux raspberrypi 5.15.32-v7+ #1538 SMP Thu Mar 31 19:38:48 BST 2022 armv7l GNU/Linux
Thanks, that helps a lot. Your dmesg confirms the driver found the sensor but is warning about the endpoint matching, and the fact that you’re getting a segfault right after stream configuration is a classic sign that the libcamera packages aren’t installed correctly (or not installed at all) for the IMX519 on this platform.
Step 1: verify libcamera is actually installed. Run:
sudo dpkg -l | grep libcamera
If nothing or only the stock packages show up, you need to install the Arducam Pivariety/libcamera packages plus the IMX519 kernel driver:
The segfault is likely because the default resolution the app picks (2048x1536) isn’t a valid mode for this sensor config. Forcing a resolution that’s actually in the list should avoid it.
That makes sense, thanks. So just to confirm the plan: check with sudo dpkg -l | grep libcamera, and if libcamera isn’t there, install libcamera_dev, libcamera_apps, and imx519_kernel_driver_low_speed using the install_pivariety_pkgs.sh script, then run libcamera-still --list-cameras to see the supported modes, and finally capture with --width 1920 --height 1080.
Exactly, that’s the plan. To recap the key insight:
Verify the libcamera installation with sudo dpkg -l | grep libcamera.
If it’s missing, install libcamera_dev, libcamera_apps, and imx519_kernel_driver_low_speed via install_pivariety_pkgs.sh.
List the supported cameras/resolutions with libcamera-still --list-cameras.
Test capturing with an explicit supported resolution, e.g. libcamera-still -t 5000 -o test.jpg --width 1920 --height 1080.
Let us know how it goes - if the segfault persists even with an explicit resolution from the list, we can dig further into the kernel driver version. I’ve also sent you a couple of packages/details through private message, so check those if you need them.
Just wanted to report back - specifying a resolution from the list did the trick! Once I ran libcamera-still --list-cameras and then captured with --width 1920 --height 1080, it worked and saved the image instead of segfaulting.
Great to hear it’s working now. To wrap up the current conclusion:
The segmentation fault was caused by libcamera defaulting to a resolution that isn’t a valid mode for the IMX519 configuration on the Pi 3 B+. After ensuring libcamera was properly installed and listing the supported modes with libcamera-still --list-cameras, capturing with an explicit supported resolution (--width 1920 --height 1080) resolved the crash and the picture saved correctly.
So for anyone hitting a similar segfault: check your libcamera install, then always pick a resolution that’s actually listed for your sensor rather than relying on the default. If the crash ever returns with a listed resolution, feel free to post back with the full log and we’ll take another look.