17-19 October 2023
Palexco
Europe/Madrid timezone

Camera stack for Complex Camera

Not scheduled
2h
Palexco

Palexco

Muelle de Trasatlánticos, s/n, 15003 A Coruña, A Coruña, Spain
Workshop Discussion Topic Workshop

Speaker

Ricardo Ribalda (Google)

Description

Through the last years cameras' ISPs have evolved from something configurable to something programmable, just like the video cards.

Unfortunately, video4linux2 (v4l2) has not evolved in the same way. It still abstracts the cameras as a set of blocks that send video streams to others in well known formats that have controls (the media controller). This has these problems:

  • v4l2 drivers builds abstractions that do not match the hardware, resulting in extremely large drivers (complex drivers)
  • v4l2 drivers have fixed functionality. Vendors cannot have differentiating features on their camera stack. (lack of innovation)
  • v4l2 subsystem obliges that all the access to the hardware is documented, which can lead to lawsuits if cores use patented algos unknowingly (legal uncertainty)

In comparison, Android has avoided v4l2 on their stack, instead they expect that vendors support a very abstracted userspace API, not imposing any limitation to vendors on how they access their hardware.

To solve this problem, Google has been working on KCAM, a new camera kernel infrastructure that lets you send command buffers directly to ISPs. It mimics very much DRM in that sense, most of the driver lives in userspace not in kernelspace. Memory operations are abstracted as well as unsafe commands.

The objective of the workshop is to discuss how Kcam fits on the camera and kernel ecosystem and the openness requirements.

GSoC, EVoC or Outreachy No
In-person or virtual presentation In-person
Code of Conduct Yes

Primary author

Presentation Materials

There are no materials yet.
2025 Host
Technische Universität Wien
2025 Gold Sponsors
AMD
Arm
Collabora
Microsoft
Snap AR
2025 Silver Sponsors
CodeWeavers
FEX-Emu
Igalia
Qualcomm
The Linux Foundation
2025 Bronze Sponsors
Khronos Group
Libre Computer