Pivariety OG02B10 camera won't work on RPi 3 B+ Buster; libcamera-still fails

Hi, I have a Pivariety OG02B10 2MP Color Global Shutter Camera Module and I honestly have never got it to work. I’m running it on a Raspberry Pi 3 B+. I’ve been following the kernel driver install guide here: Redirecting...

libcamera-still just fails to run against the camera. Can someone tell me which OS version I should actually be running? On my current Buster install, Glamor is not available as an option at all, so I can’t enable it. What is the latest version of Raspbian that your software supports? What version of OS and drivers do I need? This board does not seem to want to work - how do I get it to work?

Hi, sorry to hear you’re stuck. Let’s get some details first so we can narrow this down.

Can you confirm:

  • Which Raspberry Pi OS image you have flashed (full version and build date)?
  • The hostname you’re running on?
  • The exact commands you’re running and the full output you get?

Also, when you say Glamor can’t be enabled, can you paste the exact error or tell us where in raspi-config you’re looking? That’ll help us figure out whether it’s a driver problem or a GPU/EGL config problem.

Hostname is arducamBuster. I’m on Raspberry Pi OS (Buster) right now, but I’ve also tested the latest RPi-OS.

I’ve tried the latest version of RPI-OS and the version referenced on the Arducam page from 2021. I followed the unboxing/install docs here: Redirecting... which links to:
https://downloads.raspberrypi.org/raspios_full_armhf/images/raspios_full_armhf-2021-03-25/2021-03-04-raspios-buster-armhf-full.zip

And I also tried the latest from the Raspberry site:
https://downloads.raspberrypi.org/raspios_full_armhf/images/raspios_full_armhf-2022-04-07/

The problem is on Buster the Glamor option just isn’t present in raspi-config, so I can’t enable it. I’ve been running libcamera-still and checking kernel messages via dmesg.

Thanks, that’s helpful. Can you run these two commands and paste the full output?

  1. libcamera-still -t 5000 -o test.jpg
  2. dmesg | grep arducam

That will tell us whether the kernel driver actually bound to the sensor, or whether it’s failing before it gets that far.

Here’s the first one:

behrouz@arducamBuster:~ $ libcamera-still -t 5000 -o test.jpg
libEGL warning: DRI2: failed to authenticate
[0:02:40.803341244] [1425] INFO Camera camera_manager.cpp:293 libcamera v0.0.0+3139-5baab39e
terminate called without an active exception
Aborted

And the dmesg:

behrouz@arducamBuster:~ $ dmesg | grep arducam
[ 4.237937] systemd[1]: Set hostname to .
[ 9.798179] arducam: loading out-of-tree module taints kernel.
[ 9.846746] arducam-pivariety: arducam_read: Reading register 0x103 failed
[ 9.846784] arducam-pivariety 10-000c: probe failed
[ 33.754550] arducam_vddl: disabling
[ 33.754567] arducam_vdig: disabling
[ 33.754577] arducam_vana: disabling

OK, that’s actually very informative. Two separate-looking things going on:

  • The driver loads (the out-of-tree module taints the kernel), but then fails to talk to the sensor: arducam_read: Reading register 0x103 failed followed by probe failed. When the probe fails, the regulator supplies get shut down, which is exactly what you’re seeing with arducam_vddl, arducam_vdig and arducam_vana: disabling.
  • Separately, the libEGL warning: DRI2: failed to authenticate and the terminate called without an active exception / Aborted point at a GPU/EGL (Glamor) misconfiguration affecting libcamera.

So the camera isn’t probing, and libcamera is also unhappy about the GL setup. Before we go further on the probe side, let’s deal with the Glamor part since that’s a known requirement.

Can you run:

sudo raspi-config

Then go to 6. Advanced Options → A8 Glamor and enable it. After that, reboot the Pi and try the camera again with the libcamera command.

That’s the thing though - on Buster, A8 Glamor is not there. Under Advanced Options I don’t get a Glamor entry at all, so there’s nothing for me to enable. That’s why I’m asking what OS version you actually want me to run. Do I need to be on the 2021 image, the latest image, or something specific? I’ve tried both and I’m going in circles.

That’s fair - if the menu entry isn’t present then the whole Glamor path is moot on that install, which lines up with the libEGL: DRI2 failed to authenticate error you’re getting.

Let’s verify the state directly. In a terminal, run:

vcgencmd get_mem gpu
raspi-config nonint get_glamor

and also:

ls /usr/lib/arm-linux-gnueabihf/dri/ | grep -i vc4

What I want to confirm is whether the firmware/GL stack on that card is even set up to use the vc4 driver and the fake-KMS GL path. If get_glamor errors out or returns a non-zero state, that tells us Glamor isn’t wired into this image at all and we should switch to a build where the option exists.

Also, just to make sure we’re chasing the right thing: did you ever get a frame out of this module at all, on any image? Even a broken/green image?

Never. Not once, on any image. No frame, no preview, nothing - just that terminate/Aborted and the probe failures.

Let me run the commands you asked and report back.

Got it. While you’re grabbing those, do the mechanical checks too, since a register 0x103 read failed is very often the module not being seen on the I2C bus at all:

  • Reseat the camera ribbon in the Pi’s CSI port and make sure the contacts face the correct direction for your board revision, and that the FFC is fully pushed in on the module side as well.
  • Confirm I2C is enabled (sudo raspi-config → Interface Options → I2C) and then check:
sudo i2cdetect -y 10

For Pivariety on a Pi 3 B+ you should see the sensor answering at 0x0c. If the address is missing, the driver can’t read register 0x103 and the probe failure is expected.

Paste whichever output you get - both the Glamor checks and the i2cdetect - and we’ll take it from there.

OK so here’s where I’m at:

  • Glamor: as I said, there’s just no Glamor option on this Buster install, so I can’t enable it. On the newer image I’ve been trying to get it going too.
  • i2cdetect: I’ll run sudo i2cdetect -y 10 next.
  • I re-seated the ribbon already, both ends.

Sorry to keep bouncing back on this, I just want a concrete “flash this image, do this, run this” set of steps because I’ve burned a lot of time on the 2021 image and the latest image already.

Understood, and no problem. Here’s the concrete path, in order:

  1. Use a Raspberry Pi OS image where the Glamor option actually exists in raspi-config (the older Buster builds you linked often don’t expose it, which is why you couldn’t enable it).
  2. Enable it: sudo raspi-config → 6. Advanced Options → A8 Glamor → enable → reboot.
  3. After reboot, re-check the camera:
libcamera-still -t 5000 -o test.jpg
dmesg | grep arducam

If A8 Glamor still isn’t in the menu on the image you’re on, tell us and we’ll pin down the exact build - it’s image/build dependent.

  1. Separately, run sudo i2cdetect -y 10 and tell us if 0x0c shows up. That reading is the deciding factor for the probe failure - if the sensor isn’t on the bus, no amount of Glamor tweaking will produce a frame, and we’d be looking at a connection/module-side issue instead.

If it helps, I can send you a specific image/build note privately - check your messages.

Alright, I’ll go through that. Quick recap of what I’ve got so the thread is clear for anyone else hitting this:

  • sudo raspi-config → 6. Advanced Options → A8 Glamor → enable, then reboot, then test the camera with the libcamera command.
  • libcamera-still -t 5000 -o test.jpg
  • dmesg | grep arducam
  • sudo i2cdetect -y 10 to check for 0x0c

Current symptoms on my end:

libEGL warning: DRI2: failed to authenticate
terminate called without an active exception
Aborted

arducam-pivariety: arducam_read: Reading register 0x103 failed
arducam-pivariety 10-000c: probe failed
arducam_vddl: disabling
arducam_vdig: disabling
arducam_vana: disabling

I’ll report back with the Glamor and i2cdetect results.

Perfect summary, thanks.

To wrap up where we are: the driver is loading, but the camera fails to probe (Reading register 0x103 failed → probe failed → regulators vddl/vdig/vana disabled), and libcamera is separately aborting on the libEGL: DRI2: failed to authenticate path, which is the Glamor/EGL configuration problem. The first fix to try is enabling Glamor via raspi-config (Advanced Options → A8 Glamor), rebooting, then re-testing with libcamera-still -t 5000 -o test.jpg and re-checking dmesg | grep arducam.

If Glamor still isn’t available on your image, post back and we’ll confirm the right build, and the i2cdetect -y 10 result for 0x0c will tell us whether there’s also a hardware-side connection issue. We’re not calling it resolved yet - just get us those two outputs and we’ll continue from there.

Additional references if useful: Forums https://www.arducam.com/forums/ and Documentation Arducam Wiki.

Dion from Arducam Support Team