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.
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.
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
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:
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?
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.
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:
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).
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.
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.
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.