pmaports/temp/libcamera/0003-libcamera-simple-Enable-softISP-for-the-Pinephone.patch
Robert Mader f77dc643c9
temp/libcamera: fork for temporary downstream patches (MR 5162)
which are probably too experimental to ask Alpine to carry them, while being
very helpful for devices that pmOS targets. The explicit goal is to help
Libcamera development and drop the fork again.

For the dma heaps permissions see the ongoing debate in
https://lore.kernel.org/all/bb372250-e8b8-4458-bc99-dd8365b06991@redhat.com/
It's possible that Libcamera will switch to another solution in a future
release or that memory accounting issues around dma heaps will need to
get fixed in the kernel before the permissions can be set by default by
distros.

Regarding `libcamera: simple:` patches:
 - 0001-0003 can likely be dropped once the Libcamera SoftISP gains
   support for raw (bayer) streams passthrough (on top of converting to
   RGB or YUV formats).
 - 0004 will likely be needed until Megi downstream patches for the
   Pinephone get improved/upstreamed and Libcamera adopted accordingly.

With these patches libcamera and pipewire based applications should work
on the Librem5, Pinephone and - hopefully soon - devices like the OP6.

See https://gitlab.com/postmarketOS/pmaports/-/merge_requests/5162 for
more context.
[ci:skip-build]: already built successfully in CI
2024-05-21 20:23:50 +02:00

32 lines
1.2 KiB
Diff

From ac83a8feb2d7d9539456dd301c08f89f1cd08b7d Mon Sep 17 00:00:00 2001
From: Robert Mader <robert.mader@collabora.com>
Date: Wed, 1 May 2024 18:12:02 +0200
Subject: [PATCH 3/4] libcamera: simple: Enable softISP for the Pinephone
In theory the PP should be able to use the actual HW ISP, however in
practice this does not work well yet - especially as the driver for the
front camera in Megi differs heavily from the upstream one.
Thus enable the swISP to make both cameras work reliably for now. This
is essentially what Megapixels does as well. If the HW ISP situation
improves, this can be dropped again.
---
src/libcamera/pipeline/simple/simple.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp
index 0ccbfa90..71a44237 100644
--- a/src/libcamera/pipeline/simple/simple.cpp
+++ b/src/libcamera/pipeline/simple/simple.cpp
@@ -204,7 +204,7 @@ static const SimplePipelineInfo supportedDevices[] = {
{ "mtk-seninf", { { "mtk-mdp", 3 } }, false },
{ "mxc-isi", {}, false },
{ "qcom-camss", {}, true },
- { "sun6i-csi", {}, false },
+ { "sun6i-csi", {}, true },
};
} /* namespace */
--
2.45.1