Hi everyone, I’m stuck and hoping someone can point me in the right direction. I’m using an Arducam 4-channel 64MP camera on a Raspberry Pi with PiCamera2 over V4L2. I can’t get the maximum resolution working — at the V4L2 layer it fails to allocate enough ring buffers for the full 64MP across all four channels, so PiCamera2 recording is capped at 1920x1080 and I can’t break past that. I’ve already tried to allocate the ring buffer at the V4L2 layer for the 4-channel max resolution, but it fails every time. Separately, I’d also really like to find the Bayer filter (RGB) frequency response curve for the 64MP sensor and the sensor manual. Any help would be appreciated.
Thanks for the detailed report. Let’s start with the recording resolution, because that one has a clear answer: this is a Raspberry Pi platform limitation, not a limitation of the 64MP sensor. The 4-channel 64MP maximum resolution can’t allocate enough ring buffers at the V4L2 layer, which is exactly why PiCamera2 recording stays limited to 1920x1080. It may be removed in a future Raspberry Pi product generation, but on the current platform there’s no workaround for that specific limit.
That makes sense, thanks. While I’ve been testing I’m also seeing a few other issues: an ‘embedded buffer parsing failed’ error, the recorded image comes out inverted (flipped), PiCamera photo capture crashes sometimes, and the autofocus on the four 64MP cameras drifts out of sync. Are those related to the same platform limit, or separate? And is the Bayer curve / sensor manual something that can be shared here?
Those are separate issues, so let me break them down. The ‘embedded buffer parsing failed’ message comes from Arducam libcamera trying to parse the embedded data — it’s not a hardware fault. The inverted recording is just an orientation issue, the image is flipped 180°. The PiCamera photo capture crash is a known bug, generally tied to insufficient CMA; increasing CMA may help but it’s not guaranteed. The autofocus desync across the four cameras is related to how focus is controlled (I’ll come back to that). As for the Bayer filter (RGB) frequency response curve and the 64MP sensor manual — those aren’t available from the support side, you’d need to contact our marketing/operations team directly for them.
Understood. Can you walk me through the exact steps for the fixes? Also, how do I confirm my libcamera install is actually Arducam’s version? I want to make sure I’m not debugging against the wrong build.
Sure. First, confirm you’re on Arducam’s libcamera by running: dpkg -l | grep libcamera. The output should match the Arducam version shown in the getting started guide; if it doesn’t, install it from the libcamera user guide at libcamera and rpicam-apps - Arducam Wiki. Second, make sure the 64MP driver is loaded — run ./install_pivariety_pkgs.sh -p 64mp_pi_hawk_eye_kernel_driver, or add dtoverlay=arducam-64mp to config.txt. Third, to clear the embedded buffer parse failure, set: export LIBCAMERA_NOTPARSE_EMBEDDED_DATA=1
Thanks. I ran dpkg -l | grep libcamera and the version matches the Arducam one now. The driver loaded and after setting LIBCAMERA_NOTPARSE_EMBEDDED_DATA=1 the parse error went away. But the image is still flipped 180°. How do I fix the rotation in libcamera and in PiCamera2? And for the PiCamera capture crash, is there a guide for increasing the CMA?
Good progress. For the inverted image with libcamera, add --rotation 180 to your command. For PiCamera2, use the rotation example from the repo: picamera2/examples/rotation.py at 0759b0ec3252dc665043bff77e363b02e0937f5d · raspberrypi/picamera2 · GitHub. For the PiCamera capture crash, try increasing the Raspberry Pi CMA — the FAQ covers the steps here: How to use arducam_64mp & arducam_64mp FAQ - #2 by Edward. Just keep in mind increasing CMA may help but it’s not guaranteed.
Got it. One more thing — does the Bullseye OS built-in libcamera conflict with Arducam’s libcamera? I have both installed and I’m worried they’re fighting each other. Also, how does autofocus actually work across the four 64MP cameras? Mine keep drifting out of sync.
No, the Bullseye OS built-in libcamera does not conflict with Arducam’s libcamera. For the 64MP camera, the ipa file needs the json file that Arducam provides, so just make sure that’s in place. Native cameras like imx219 and imx477 work fine with the Bullseye built-in libcamera. On the autofocus: focus is controlled by the camera on the Rx0 port — when the subject in front of the Rx0 camera moves, it triggers autofocus across all four cameras, so slight timing differences between Rx0 and the other three are possible. That’s the desync you’re seeing. So to summarize where we’ve landed: the 1920x1080 recording limit has no workaround on the current Pi platform; the embedded parse error is handled with LIBCAMERA_NOTPARSE_EMBEDDED_DATA=1; the inverted image is fixed with --rotation 180 (or the PiCamera2 rotation example); and the capture crash is the known CMA issue where increasing CMA may help but isn’t guaranteed.