Re: [External] Re: Missing MIPI IPU6 camera driver for Intel Alder Lake laptops

From: Laurent Pinchart
Date: Wed Aug 17 2022 - 05:35:46 EST


Hi Mark,

On Mon, Aug 15, 2022 at 11:14:52AM -0400, Mark Pearson wrote:
> On 8/15/22 03:40, Laurent Pinchart wrote:
> > On Mon, Aug 15, 2022 at 04:24:19PM +0900, Sergey Senozhatsky wrote:
> >> On (22/08/15 09:14), Greg KH wrote:
> >>>> Definitely not today. Someday, for sure :)
> >>>>
> >>>> I don't want to promise any timelines. But we are certainly not
> >>>> talking "weeks", we are talking "months". Several months is a
> >>>> realistic timeline.
> >>>
> >>> Ok, so getting this merged is a good year out at the best, realisticly 2
> >>> years given that once you submit the first version for review, the real
> >>> work will start happening.
> >>
> >> Well, nothing is really set in stone here. We may revisit our strategy,
> >> say turn it upside down, and hit upstream mailing list as soon as possible
> >> instead.
> >>
> >>> So I'll stick with my original statement, don't buy this hardware
> >> ... if you plan on running vanilla kernel. Otherwise do buy :)
> >
> > If you want to run a proprietary OS.
> >
> Not sure where best to jump in...but just to add some perspective from a
> Lenovo perspective.
>
> 100% agreed - don't buy the platforms (X1 Carbon G10, X1 Yoga G7, X1
> Nano G2) with the MIPI camera (called 'computer vision' on the Lenovo
> site) if you plan to run Linux. We are disabling that config on our
> Linux preload.
>
> From the 'reaching out to the community' perspective that was flagged
> earlier in the thread - I've been discussing MIPI with Red Hat,
> Canonical and Intel for a year now. We knew it was going to be a problem
> and in fairness to Intel they've been very clear that initially the
> 'workaround' was going to be available and that the full solution will
> be coming later. I've had some disappointments with progress but I also
> don't have the expertise to be able to solve it myself and fully
> appreciate these things don't happen overnight. Intel have been working
> with us on this and I appreciate their support.
>
> If there are people I should be engaged with let me know and we can
> discuss offline. Going forward - I guess the good news is we have some
> platforms with MIPI on to work with....having HW usually helps. I'm also
> very open to any ideas of suggestions for accelerating getting this done
> and where Lenovo can help. We're limited on a technical resource side of
> things, but we do have HW :)

Thank you for the insight.

Focussing on the IPU6, we need two things: an upstream kernel driver,
and corresponding support in the libcamera project (if you're familiar
with the Linux display stack, that would be the equivalent of a DRM
driver and corresponding support in Mesa for a GPU).

The kernel driver likely needs to come first, and there we have two
options. The first one is implementing a V4L2 driver, as that's the
camera API in the Linux kernel today. As mentioned by Sakari, it can be
done, but isn't a great match due to the IPU6 hardware complexity. V4L2
is generally considered as a dead end for recent ISPs, it may still be
able to cover that space for some time, but its days are counted (in
this area only, the API works fine for lots of other use cases).

The second option is to create a better kernel API, and then implement
an IPU6 driver for it. Ideas have been brainstormed for a few years now,
and the Google Chrome OS proposal that was unveiled by Ricardo at the
Kernel Recipes conference in June is one particular embodiment of this.
There is however no consensus on that proposal (that may be the biggest
euphemism I've ever made).

--
Regards,

Laurent Pinchart