2021-04-16 11:49:17 |
You-Sheng Yang |
description |
Please backport v4l2loopback 0.12.5-1 (universe) from hirsute to focal, groovy.
Reason for the backport:
========================
Makes dkms module compatible with 5.8 kernels eg linux-generic-hwe-20.04-edge
Testing:
========
Mark off items in the checklist [X] as you test them, but please leave the checklist so that backporters can quickly evaluate the state of testing.
You can test-build the backport in your PPA with backportpackage:
$ backportpackage -u ppa:<lp username>/<ppa name> -s hirsute -d focal v4l2loopback
$ backportpackage -u ppa:<lp username>/<ppa name> -s hirsute -d groovy v4l2loopback
* focal:
[x] Package builds without modification
[x] v4l2loopback-source installs cleanly and runs
[x] v4l2loopback-dkms installs cleanly and runs
[x] v4l2loopback-utils installs cleanly and runs
* groovy:
[x] Package builds without modification
[x] v4l2loopback-source installs cleanly and runs
[x] v4l2loopback-dkms installs cleanly and runs
[x] v4l2loopback-utils installs cleanly and runs
Reverse dependencies:
=====================
The following reverse-dependencies need to be tested against the new version of v4l2loopback. For reverse-build-dependencies (-Indep), please test that the package still builds against the new v4l2loopback. For reverse-dependencies, please test that the version of the package currently in the release still works with the new v4l2loopback installed. Reverse- Recommends, Suggests, and Enhances don't need to be tested, and are listed for completeness-sake.
v4l2loopback-source
-------------------
v4l2loopback-dkms
-----------------
* gem-plugin-v4l2
[ ] focal (Reverse-Suggests)
[ ] groovy (Reverse-Suggests)
* xpra
[ ] focal (Reverse-Suggests)
[ ] groovy (Reverse-Suggests)
v4l2loopback-utils
------------------
|
[SRU Justification]
[Impact]
On a MIPI camera through Intel IPU6 platform that its raw V4L2 loopback interface is preserved for Intel Camera HAL libraries, a relay daemon + v4l2loopback is used to allow the usage of legacy V4L2 based apps.
By design, the relayd will open v4l2sink to v4l2loopback OUTPUT deivce, and it will only open libcamhal based GStreamer source element, and therefore underlying camera hardware, until received new client notifications via V4L2 Event API that is introduced in this SRU.
Besides, frame sizes/intervals enumeration is also fixed to meet better compliance with user apps.
[Test Plan]
v4l2loopback doesn't support V4L2 Event API until recently, so requests for the usage will always fail:
struct v4l2_event_subscription sub;
int fd;
memset (&sub, 0, sizeof (sub));
sub.type = ...;
if (ioctl (fd, VIDIOC_SUBSCRIBE_EVENT, &sub) == 0) // fail
With this fix, it shall support Event API operations, e.g. VIDIOC_SUBSCRIBE_EVENT, VIDIOC_UNSUBSCRIBE_EVENT, VIDIOC_DQEVENT.
[Where problems could occur]
While a custom type of V4L2 event is now registered for OEM projects, software expected same ID (numerically equivalent to V4L2_EVENT_PRIVATE_START) may get confused. While this falls in the private usage section, it's not supposed to be used in general, and when it does, it should be under some presumptions, e.g. selected hardware, so it's unlikely to happen on OEM projects.
For generic Ubuntu, programs may begin to take advantage of this new capability to update its UI, or to take other actions after receiving desired events. There might be behavior changes, but should be under the original design if was done carefully.
[Other Info]
For Focal backports, 0.12.5-1 is equivalent to 0.12.3-1ubuntu0.3 plus micro version updates, so there should be little risk backport a new release, and we can drop additional patches carried. This implies bug 1905613.
========= original bug report ==========
Please backport v4l2loopback 0.12.5-1 (universe) from hirsute to focal, groovy.
Reason for the backport:
========================
Makes dkms module compatible with 5.8 kernels eg linux-generic-hwe-20.04-edge
Testing:
========
Mark off items in the checklist [X] as you test them, but please leave the checklist so that backporters can quickly evaluate the state of testing.
You can test-build the backport in your PPA with backportpackage:
$ backportpackage -u ppa:<lp username>/<ppa name> -s hirsute -d focal v4l2loopback
$ backportpackage -u ppa:<lp username>/<ppa name> -s hirsute -d groovy v4l2loopback
* focal:
[x] Package builds without modification
[x] v4l2loopback-source installs cleanly and runs
[x] v4l2loopback-dkms installs cleanly and runs
[x] v4l2loopback-utils installs cleanly and runs
* groovy:
[x] Package builds without modification
[x] v4l2loopback-source installs cleanly and runs
[x] v4l2loopback-dkms installs cleanly and runs
[x] v4l2loopback-utils installs cleanly and runs
Reverse dependencies:
=====================
The following reverse-dependencies need to be tested against the new version of v4l2loopback. For reverse-build-dependencies (-Indep), please test that the package still builds against the new v4l2loopback. For reverse-dependencies, please test that the version of the package currently in the release still works with the new v4l2loopback installed. Reverse- Recommends, Suggests, and Enhances don't need to be tested, and are listed for completeness-sake.
v4l2loopback-source
-------------------
v4l2loopback-dkms
-----------------
* gem-plugin-v4l2
[ ] focal (Reverse-Suggests)
[ ] groovy (Reverse-Suggests)
* xpra
[ ] focal (Reverse-Suggests)
[ ] groovy (Reverse-Suggests)
v4l2loopback-utils
------------------ |
|