Camera development progress

Interested application developers can start testing the kernel:


Where will (auto)focus be handled? Would utilities such as libcamera make sense?

The rear camera at full resolution with (rough) manual focus:

More details:


Wow, that’s amazing. Greetings to your cat. :blush:

And now anyone should tell “camera is not working mimimi” in any review. I don’t know if you finished this driver completely (i guess no?), what are the next plans with application etc?

1 Like

Wow looks really good, a big thanks to @dos and the cat.


Focus will be handled in v4l2 in the kernel (needs work), autofocus is up to applications.

I didn’t investigate yet, there’s still a bunch of work kernel-side.

Let the community take care of that while finishing the kernel side :slight_smile:


Kudos to @dcz - looking good

I’m still of the mind that we need an L5 selfie (an I mean of the phone). Either L5 on L5 or via mirror. Optionally via 7th dimension or using gravimetric lensing to turn the view in on itself :wink:

1 Like

@dos posted this one earlier:


Big thanks to @dcz @cat @purism :smiley:


This is amazing. Thanks for the great work to get the cameras working! The last excuse I had is gone now–I placed my Librem 5 order last night :heart:


How does this work?

It was supposed to mean “using one L5 to take pic of another L5” …but if I’d get to choose, I’d go for the gravimetric lensing, bends the light 180+ degrees - I just wouldn’t want to be anywhere near the same region of galaxy that would have an object capable of that much warp :milky_way: :new_moon_with_face:


Thanks for supporting Purism
I have a L5 Evergreen it working amazing on every update, Purism developer they doing the best work to Librem 5.


Or make it scriptable… When you take a picture, look for the QR code, if a QR code is found, present a notification asking if you’d want to open that URL.

1 Like

Sure, that’s more or less what mainstream phones are doing. It isn’t even necessary to take a picture. Just activating the camera app and pointing it at a QR code and letting it focus … is enough to solicit a prompt asking whether you want to open that URL (presuming that the QR code does encode a URL).

For where we are at the moment, I wasn’t asking for anything more than being able to take a picture of the QR code. I would like to test that because the next concern is that the relevant government web site doesn’t work with the web browser on the Librem 5. (With care and hassle I could probably test this now.)


I installed zbar-tools on the Librem 5 and that worked fine to decode an example QR code from an image file (.png in my case). Next, I need to get hold of a current actual COVID QR code.


I’d containerize all my browsers and force them to resize to fit the window they’re in via GSettings

I’ve tested a bit more. With my (one line) script of

epiphany `zbarimg -q --raw QR.JPG`

it works well. (There’s no confirmation there of course. For this purpose just verifying that the domain is the appropriate government domain would suffice.)

The only outstanding problem is that if the image arrives as a RAW file, I don’t know whether ImageMagick supports RAW / I don’t know how to convert a RAW file to a JPG file (or anything else that will work).

1 Like

Posted 10h ago…

Yes : megapixels working on Librem5

Since the cat is out of the bag, I might as well call for alpha-contributions.

The repository is: and it’s rather hacky.

There is a known problem where if you crash the application, camera will hang and you need to reboot. That’s not going away soon.

Contributors are needed for:

  • adding the selfie camera
  • properly adding support for 10-bit modes instead of the hacky way
  • testing all resolutions
  • providing white balance parameters
  • adding brightness controls (you may need to work with us drectly)
  • turning hacks adding legacy v4l2 support into something upstreamable
  • eliminating crashes

The more this moves forward, the more time we have to fix the kernel side properly (even better if some kernel dev who knows media controls comes to help).