Online / 5 & 6 February 2022


Status of camera support on mobile FOSS devices

An open discussion about the state of cameras on Linux-powered mobile devices

Camera support has traditionally been a pain point when it comes to Linux phones.

Years and years of competition on the photography capabilities of consumer devices have pushed vendors to adopt more and more custom, closed source implementations, leaving users of free software powered mobile devices with nothing but poor solutions limited to work on the single devices they have been developed for.

With the increasing maturation of libcamera, a complete user space camera stack for Linux devices is now finally available, and Linux phones developers can now cooperate on more mature camera solutions for their devices.

The BoF will serve for phone developers and camera developers as a cooperation space, to better understand their mutual needs and move forward camera support for the whole Linux ecosystem.

Cameras have traditionally been a distinguishing factor in the traditional mobile/smartphone market. Year after year the number of pixels available in a phone's camera have become a stable part of the phone producers marketing material and as a direct consequence of such fierce competition everything around cameras has usually been quite secretive, with vendors implementing rather cumbersome software architectures to work around the software licensing requirements which would have otherwise required them to open at least part of what they consider their secret sauces.

Vendor's reluctance to discuss and innovate in a common shared space and the undeniable deficiencies (or better, the complete lack of existence) of anything resembling a camera stack in the Linux ecosystem has pushed camera support to a quite uncomfortable position when it comes to FOSS-powered mobile devices. Until very recently nothing comparable to what could be achieved by a rather cheap Android phone, running binary blobs both in user and kernel space, can be easily realized by using a fully open infrastructure.

Three years after starting of the libcamera project, its adoption as the default camera stack for the Raspberry Pi ecosystem and its increasing permeation in the x86 device space thanks to the support of vendors like ChromeOS and a more robust integration in Pipewire, it's now time to finally address the camera issue in the FOSS phone space.

With the recent interest from Librem5 and Pinephone communities in the project, this BoF intends to provide a space where phone developers, libcamera developers and hopefully vendors can discuss their mutual headaches and try to sketch a way forward in order to provide to free-software equipped mobile device a camera support that can do more than what an Android phone was capable of 10+ years ago.


Jacopo Mondi