Comment 16 for bug 2044991

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

@Sebastien,

The upstream repository does not have semantic release tags as usually are. The releases they have are more like milestones that mark a certain condition. For the changes between the two releases, there are only 5 commits:

* README: Updated dependencies
* Fix compilation with kernels >= 6.6.0
* ipu6: Fix sensor driver compilation with kernels >= 6.6.0
* media: i2c: Add IVSC handshake support
* media: i2c: Fix coding issues

The thing we must have for this bug are the last two after requested to remove 6.6 compilation support in bug 2026402.

However, in oem projects we're based on the latest LTS, currently 22.04 Jammy, and run a much recent oem kernel, currently oem-6.5 forked from Mantic. As new platforms enabled and features requested, these out-of-tree drivers updates frequently and massively to adopt support for new kernel versions and new hardwares. This, however, becomes a problem that massive changes are always disfavored by stable release team, so ipu6-drivers/jammy will not receive updates necessary for oem-6.5 kernel, but only ipu6-drivers/mantic (before Noble is released) or ipu6-drivers/noble do.

Therefore we're actually compiling linux-modules-{ipu6,ivsc}-oem-22.04.d/jammy with ipu6-drivers, ivsc-driver from Mantic instead of those from Jammy. And ipu6-drivers, ivsc-driver dkms from Jammy do not compile against linux-oem-6.5/jammy, either. Even they do, the supported hardware list is different from that of linux-modules-{ipu6,ivsc}-oem-22.04.d, which is built from dkms packages from Mantic.

And to make things worse, Intel does not keep API/ABI compatibility between kernel and userspace HAL framework. Meaning the userspace HAL must be of the latest release to match the kernel drivers. And we're supposed to have only one copy of userspace HAL in Jammy after those HAL framework being MIRed, which follows we're going to break ancient models once done. Currently those HAL frameworks reside in a separate, per platform, oem archive.

All these messes can only be resolved in one way: to backport the latest drivers dkms packages to Jammy.

With that,

1. linux-modules-{ipu6,ivsc}-oem-22.04.d/jammy can be built from ipu6-drivers/jammy directly,

2. users installed {ipu6-drivers,ivsc-driver}/jammy will get exactly the same thing with linux-modules-{ipu6,ivsc}-oem-22.04.d/jammy,

3. userspace HAL and drivers will always match.

So, here is an attempt to check what will stable release team choose. I would like to end Jammy users' suffering, but I need the admission.