Librem 5 camera software

i thought about cheese, but it was designed for webcam. we can’t use cheese in it’s current form

1 Like



:open_mouth::open_mouth: ah, will be made to compete with other camera apps like google or ios?? will cheese be upgrade to have all sort of functions that we have in mobile phones?


I wouldn’t get my hopes up too terribly high as far as camera functionality goes on the L5. I don’t think it’s that high on the priority list for Purism.

People should really lower their expectations towards the camera. A lot of very sophisticated algorithmic work and research goes into modern photography equipment. And this chip is a very old budget chip.
Obviously the camera performance will never be anywhere close to modern phones. It was never expected at all.
The chip is actually okay-ish. You can find pictures made with it on the internet. It is surprisingly sharp (still not what we would call “sharp” nowadays). The colours are not very distinct, not very deep. The noise performance is very poor. Even in daylight you see plenty of noise in the shadows. I dont remember if there were any low-light shots, but you should expect the low-light performance to be virtually non-existent. I expect the lens to be absolutely horrific and it will take a lot of time and effort to compensate for parts of that in software. It’s likely that things like distortion, colour fringing and chromatic aberration of out-of-camera-pics will never be compensated to an acceptable amount.
If i remember correctly the pictures were taken with proprietary software. Open software will produce worse results.

In short, once the camera is usable (if it will ever be usable at all), you can use it to take snapshots of price tags in the supermarket or timetables at a bus station. you will never create a picture of decent enough quality to be confident to share it with anybody. The pictures will always stand out by their ancient, sub-sub-standard quality. Expect the quality of a ten to fifteen year old budget phone.

But good photography never came from picture quality anyway :slight_smile:


Cheese is pretty basic. It has photo mode, burst mode and video mode, plus a timer and 27 special effects modes that you can play with, but I’ve only found 1 of them to be useful, because there is no adjustment of the special effects. When I use Cheese with the web cam on my laptop, there is basic auto-focus and color adjustment, but I assume these are all automatic settings in the webcam hardware. I don’t see anything to set the focus or do color adjustment inside the API for Cheese nor in the API of its base library, gstreamer (here’s a tutorial).

It looks like it will take Purism a lot of work to add all the features to Cheese which are currently found in Android camera apps such as gcam and Snap. The i.MX 8M Quad processor on the Librem 5 doesn’t have an image signal processor or digital signal processor, so it won’t be able to do any specialized image processing very fast and then there is all the proprietary code to process images. In other words, I would only plan on basic photo and video functionality at first.


Much of the picture quality of smartphone type cameras is based on software nowadays. Look at how many devs Google has, look at how many devs Apple has… then look at how many devs employs … sigh deeply … and adjust your expectations. This thing is not going to get prices for advanced photography, and no, it is not even going to be on par with the OnePlus One.
Sorry if that disappoints but better to set expectations straight from early on.

On the plus side, it might be better quality than my 100$ budget Android phone :grinning:


Maybe spell out what are the important functions that you actually use.

The best camera app I have used in my life was the Lumia Camera (on Windows phone). I remember it was a model of ergonomics, so easy to understand and play with, even by a beginner :


That’s sorta true. Android and IPhones have multiple front-facing cameras and probably dedicated hardware for post-processing power efficiently. Not much you can do about only having one camera instead of 3, but the post-processing algorithms are fairly well characterized. Between OpenCV, ffmpeg, and ImageMagick, you can do about as well as the top of the line proprietary software for image quality, subject to the limits of the camera itself. There isn’t a whole lot of information out there for toolchain setup, since it tends to be rather camera specific, but since there will be a bunch of us using the same camera, it shouldn’t be too hard to write something that can use the above mentioned tools in a reasonably automated fashion.

1 Like

famous last words :-). I would love to see something, but given that we seem to start from Cheese, a webcam selfie-taker, there is clearly a long way to go. The issue tracker has suggested community involvement in this area, so this is an area purism cannot (or does not want to) tackle. OTOH, I love OpenCamera on Android which is open source, so a decent open source camera is clearly possible.


I wasn’t planning on starting from Cheese… ffmpeg can read a camera directly. With a little luck, we’ll be able to set the camera parameters, at least focal distance, optical zoom, and ISO. If the camera can’t set those we may be SOL. As I said, ffmpeg, Open Computer Vision, and ImageMagick work quite well together for taking and editing pictures. My current setup is for using the camera on a raspberry pi, using multiple frames to de-noise the kinda poor camera it has. Customizing the settings to get decent photos out of the L5’s camera should be an afternoon’s work. The hard part will be wrapping that up in a fancy GUI program (not cheese) which lets you adjust parameters as needed.


Sounds good. Would be great!

1 Like

Sometimes yes, but ot depends a lot on the hardware. There’s a reason why projects like libcamera exists nowadays.

1 Like

hmm ffmpeg?

So we could use VLC as a camera / mirror? :smiley:

I don’t see why not… I’d suggest mplayer or mpv instead, they embed into other windows more easily (default to non decorated).

1 Like

Hmm, so it might actually be worse than my OnePlus One rather than better? That would be a pain, as I would have to carry two devices.

Do you have a link to what the specific camera page is? It looks like the FAQ spec list is a dead link now.

1 Like

As for my question about the OnePlus One, it seems the answer is likely no (´• ᨓ •`) . Hopefully the camera will at least be able to be upgraded.

I looked in the schematics to get the hardware for the camera, and I can’t find the CMOS image sensors used by the schematics. Does anyone know what is the camera hardware?

PS: Here are some of the things that I found on page 17, but no image sensors:

  • Texas Instruments LM3560 Synchronous Boost Flash Driver

  • STMicroelectronics LDCL015MR 150 mA capless ultra low drop linear regulator ICs

  • Texas instruments SN74LVC1G125 Single Bus Buffer Gate With 3-State Output

  • Nexperia PCMF3USB3S Common-mode EMI filter for differential channels with integrated ESD protection


I would also like to know the type of connector the sensor uses, in case a camera upgrade is needed.