Comment 0 for bug 1921474

Revision history for this message
You-Sheng Yang (vicamo) wrote :

In addition to kernel/firmware proposed in bug 1921345, several user space daemons/libraries, as well as fixes/features in v4l2loopback-dkms, are also required to have seamless support for legacy/existing Linux kernel V4L2 API based applications to adopt libcamera or Intel libcamhal provided camera interfaces.

The idea is to add a v4l2 streaming relay daemon (currently developed in [1] and packaged in [2]) that helps redirecting V4L2 buffer streams into v4l2loopback output device, and then legacy apps open v4l2loopback capture device in the ordinary way.

  hw -> libcamera/libcamhal -> v4l2-relayd -> v4l2loopback -> v4l2-based apps

To achieve this, we'd like v4l2-relayd to only open GStreamer icamerasrc pipeline (provided by [3],[4]) when there is actual usage request from v4l2-based apps for privacy and power consumption's concerns. However, current (0.12.5 and therefore Ubuntu/Debian 0.12.5-1) doesn't have any available mechanism for this, therefore a V4L2 Event API based proposal has been sent and accepted by upstream[5][6].

This is needed for Ubuntu OEM projects with MIPI cameras through Intel IPU6 (Imaging Processing Unit version 6).

[1]: https://gitlab.com/vicamo/v4l2-relayd
[2]: https://code.launchpad.net/~oem-solutions-engineers/v4l2-relayd/+git/packaging
[3]: https://github.com/intel/ipu6-camera-hal
[4]: https://github.com/intel/icamerasrc
[5]: https://github.com/umlaeute/v4l2loopback/pull/345
[6]: https://github.com/umlaeute/v4l2loopback/pull/352