Skip to content

libcamera: add package - #30794

Merged
dangowrt merged 2 commits into
openwrt:masterfrom
dangowrt:add-libcamera
Oct 19, 2026
Merged

dangowrt merged 2 commits into
openwrt:masterfrom
dangowrt:add-libcamera

Conversation

@dangowrt

@dangowrt dangowrt commented Oct 17, 2026 •

Copy link
Copy Markdown
Member

📦 Package Details

Maintainer: @dangowrt

Description:
libcamera is a userspace camera stack with pipeline handlers for ISPs and image sources, and image processing algorithms that run in loadable IPA modules. Package the library, the libcamerasrc GStreamer element, the V4L2 compatibility layer with libcamerify, the cam tool and one package per IPA module with its tuning data (IPU3, Mali-C55, rkisp1, rkisp2, Raspberry Pi VC4 and the software ISP) as separate packages. All pipeline handlers except the Raspberry Pi PiSP, which needs libpisp, and the vimc and virtual test handlers are built. Devices are enumerated through libudev-zero.

The package carries patches in three groups, by number:

  • 001-067: backports from libcamera master that the rkisp2 pipeline handler builds on, among them the V4L2Stats, AwbAlgorithm, CcmAlgorithm and LscAlgorithm rework of libipa and the DelayedControls changes;
  • 100-119: the rkisp2 pipeline handler and IPA of Paul Elder, which are still under review;
  • 200-215: a build option to leave IPA modules unsigned, fixes for the rkisp2 pipeline handler, the IPA proxy, the GStreamer element and the AGC, and the support for the RV1126 with the IMX415.

🧪 Run Testing Details

  • OpenWrt Version: snapshow
  • OpenWrt Target/Subtarget: rockchip/armv7
  • OpenWrt Device: rv1126-herospeed-imx415

✅ Formalities

  • I have reviewed the CONTRIBUTING.md file for detailed contributing guidelines.

If your PR contains a patch:

  • It can be applied using git am
  • It has been refreshed to avoid offsets, fuzzes, etc., using
    make package/<your-package>/refresh V=s
  • It is structured in a way that it is potentially upstreamable
    (e.g., subject line, commit description, etc.)
    We must try to upstream patches to reduce maintenance burden.

Comment thread multimedia/libcamera/Makefile Outdated
Comment on lines +1 to +4
Jinja2==3.1.6 --hash=sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d
MarkupSafe==2.1.5 --hash=sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b
ply==3.11 --hash=sha256:00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3
PyYAML==6.0.2 --hash=sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not right. We are not using this anymore.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So how is that Python crap to be done "properly"? I'm still using this structure in the video feed for packages which have similar Python build dependencies btw...

@BKPepe BKPepe left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, I am not quite. sure, if we want to add so many patches.

@BKPepe

BKPepe commented Oct 17, 2026

Copy link
Copy Markdown
Member

The Python modules that the build needs come from host-pip-requirements.txt.

Please check #20657 and as well in your video feed, it can be dropped - openwrt/video@094bf58#commitcomment-173713551

@dangowrt

Copy link
Copy Markdown
Member Author

Regarding the patches: It's effectively 15 downstream patches, and some of those are fixes for pending patches which I have reported upstream. All the rest are either clean backports, or (recent) pending upstream work. I expect 90%+ of it to go away with the next libcamera release. Meanwhile it is needed so the one application of libcamera I'm interested in (RV1126+IMX415) actually works, and can be used to validate the Rockchip camera driver stack end-to-end.

The libcamera Mojom parser imports PLY directly. Restore the package for
host builds so libcamera can declare it as a build dependency instead
of installing it through pip.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
libcamera is a userspace camera stack with pipeline handlers for ISPs
and image sources, and image processing algorithms that run in loadable
IPA modules. Package the library, the libcamerasrc GStreamer element,
the V4L2 compatibility layer with libcamerify, the cam tool and one
package per IPA module with its tuning data (IPU3, Mali-C55, rkisp1,
rkisp2, Raspberry Pi VC4 and the software ISP) as separate packages.
All pipeline handlers except the Raspberry Pi PiSP, which needs libpisp,
and the vimc and virtual test handlers are built. Devices are enumerated
through libudev-zero.

The package carries patches in three groups, by number:

 - 001-067: backports from libcamera master that the rkisp2 pipeline
   handler builds on, among them the V4L2Stats, AwbAlgorithm,
   CcmAlgorithm and LscAlgorithm rework of libipa and the DelayedControls
   changes;
 - 100-119: the rkisp2 pipeline handler and IPA of Paul Elder, which are
   still under review;
 - 200-215: a build option to leave IPA modules unsigned, fixes for the
   rkisp2 pipeline handler, the IPA proxy, the GStreamer element and the
   AGC, and the support for the RV1126 with the IMX415.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>

@openwrt-ai openwrt-ai left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed 2 new commits; one nit inline.


Generated by Claude Code

Comment thread multimedia/libcamera/Makefile
@dangowrt
dangowrt merged commit 3b7cdf0 into openwrt:master Oct 19, 2026
9 of 14 checks passed
@dangowrt
dangowrt deleted the add-libcamera branch October 19, 2026 09:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants