Skip to content

Conversation

@gkhose-qipl
Copy link
Contributor

@gkhose-qipl gkhose-qipl commented Nov 20, 2025

The camx-lib package provides all camera libraries, shared across all components of the Qualcomm Camera X (CamX).
This recipe help to create separate camx packages.

Copy link
Contributor

@lumag lumag left a comment

Choose a reason for hiding this comment

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

I reviewed the first recipe. Please apply that to all recipes in the PR

@@ -0,0 +1,21 @@
SUMMARY = "Qualcomm camera core driver and pipeline related libraries"
Copy link
Contributor

Choose a reason for hiding this comment

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

Please write a proper commit message. Describe your design decisions, issues, etc. It should be a text, rather than a bullet list.

Copy link
Contributor

Choose a reason for hiding this comment

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

This is still not addressed.

@@ -0,0 +1,21 @@
SUMMARY = "Qualcomm camera core driver and pipeline related libraries"
DESCRIPTION = "Collection of prebuilt libraries to support camera downstream functionality."
LICENSE = "CLOSED"
Copy link
Contributor

Choose a reason for hiding this comment

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

Please add a proper license. It should actual use and distribution terms.

SRC_URI = "https://qartifactory-edge.qualcomm.com/artifactory/qsc_releases/software/chip/component/camx.qclinux.0.0/251120/prebuilt_yocto/${BPN}_${PV}_armv8-2a.tar.gz;subdir=${BPN}-${PV}"
SRC_URI[sha256sum] = "c0b2f23c0c87df6b113466b83948cf2baf80b38492e1899984193108a0bab8e3"

DEPENDS += "camxfirmware fastrpc protobuf-native protobuf protobuf-native libxml2 virtual/egl virtual/libgles2"
Copy link
Contributor

Choose a reason for hiding this comment

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

No, libs don't depend on the firmware. Especially not at the build time.

@ricardosalveti
Copy link
Contributor

Please break into more commits, one single commit adding a bunch of recipes is not ideal.

@gkhose-qipl gkhose-qipl force-pushed the camx_downstream branch 2 times, most recently from 64768be to 78cfd3c Compare November 20, 2025 20:39
@@ -0,0 +1,18 @@
SUMMARY = "Qualcomm camera development related libraries, binary"
DESCRIPTION = "Collection of prebuilt libraries to support camera downstream functionality."
Copy link
Contributor

Choose a reason for hiding this comment

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

Summary and description for most recipes are quite similar here, you should make it cover just this component (explain why it exists).

Copy link
Contributor

Choose a reason for hiding this comment

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

Like, what chicdk even means?

@@ -0,0 +1,18 @@
SUMMARY = "Qualcomm camera development related libraries, binary"
DESCRIPTION = "Collection of prebuilt libraries to support camera downstream functionality."
LICENSE = "CLOSED"
Copy link
Contributor

Choose a reason for hiding this comment

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

Need proper license.

Also add NOTICE (from the tarball) in LIC_FILES_CHKSUM.

@lumag
Copy link
Contributor

lumag commented Nov 21, 2025

Please. Test your changes before sending the PR. Building camxlib package fails with a lot of QA errors. I don't want to review nor test the half-backed solutions.

@lumag
Copy link
Contributor

lumag commented Nov 21, 2025

Also, please fix your build system:

..... in package camxlib doesn't have GNU_HASH

Copy link
Contributor

@lumag lumag left a comment

Choose a reason for hiding this comment

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

On top of everything. Please rename the packages in a sensible way.
Instead of -kt use -kodiak. Likewise add sensible suffix to qcs9100-related packages.

@@ -0,0 +1,19 @@
SUMMARY = "Qualcomm camera common utility API used by camera driver"
Copy link
Contributor

Choose a reason for hiding this comment

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

This package includes files under /usr/lib/qcs9100/. Why are they a part of this package? Why is it split from camxlib?

Copy link
Contributor

Choose a reason for hiding this comment

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

Also, we are definitely going to have several other versions of camx-something. Please name all packages according to platforms they support.

Copy link
Contributor

Choose a reason for hiding this comment

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

These comments were totally ignored.

Copy link
Contributor

Choose a reason for hiding this comment

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

Still being ignored

@gkhose-qipl gkhose-qipl changed the title camx: add camera userspace libs camxcommon: package provide common utility API used by all CamX components Nov 22, 2025
@lumag
Copy link
Contributor

lumag commented Dec 9, 2025

Colleagues. I'm starting to be really angry. Why did the version go BACKWARDS??

done, updated to 1.0.3 as last version was 1.0.2

That's not an answer to the 'Why?' question.

@gkhose-qipl
Copy link
Contributor Author

Colleagues. I'm starting to be really angry. Why did the version go BACKWARDS??

done, updated to 1.0.3 as last version was 1.0.2

That's not an answer to the 'Why?' question.

@lumag ,
we initially kept the version as 1.0.0 to maintain a proper version history information. However, as per our discussion, updating the version to 1.0.3.
In HWE, we have the camx version as 1.0.0, and there are currently no recipes hosted in meta-qcom. Now that we've renamed the recipes in meta-qcom, we're starting the version from 1.0.3,

@lumag
Copy link
Contributor

lumag commented Dec 9, 2025

Colleagues. I'm starting to be really angry. Why did the version go BACKWARDS??

done, updated to 1.0.3 as last version was 1.0.2

That's not an answer to the 'Why?' question.

@lumag , we initially kept the version as 1.0.0 to maintain a proper version history information. However, as per our discussion, updating the version to 1.0.3. In HWE, we have the camx version as 1.0.0, and there are currently no recipes hosted in meta-qcom. Now that we've renamed the recipes in meta-qcom, we're starting the version from 1.0.3,

Why are you again talking about recipes? The question is about release versions.

@gkhose-qipl
Copy link
Contributor Author

Colleagues. I'm starting to be really angry. Why did the version go BACKWARDS??

done, updated to 1.0.3 as last version was 1.0.2

That's not an answer to the 'Why?' question.

@lumag , we initially kept the version as 1.0.0 to maintain a proper version history information. However, as per our discussion, updating the version to 1.0.3. In HWE, we have the camx version as 1.0.0, and there are currently no recipes hosted in meta-qcom. Now that we've renamed the recipes in meta-qcom, we're starting the version from 1.0.3,

Why are you again talking about recipes? The question is about release versions.

release version for all QLI release was 1.0.0 in hwe.

@github-actions
Copy link

github-actions bot commented Dec 9, 2025

Test run workflow

Test jobs for commit 57d0c52

@gkhose-qipl
Copy link
Contributor Author

@lumag / @ricardosalveti / @koenkooi ,
can you please help to review PR, we have address comments.

This package provides the foundational utility libraries shared across all \
components of the Qualcomm Camera X (CamX). It is separated \
from the main qcom-camx package to resolve build dependencies, as these \
utilities are required by camx, chi-cdk, and camx-lib during compilation."
Copy link
Contributor

Choose a reason for hiding this comment

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

Again, this doesn't make sense. We don't perform builds here.

It might help if you explain, what are the components. What is chi-cdk? Who uses it? What is the difference between camx and camx-lib? Doesn't camx depend on camx-lib? Does chi-cdk depend on camx? On camx-lib?

Copy link
Contributor

Choose a reason for hiding this comment

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

I mean, explain here, in the comment (or in the commit message). Not in the package description.

Copy link

Choose a reason for hiding this comment

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

I mean, explain here, in the comment (or in the commit message). Not in the package description.

I'd say even the description here should be something that people with little background can understand when looking at just the description embedded in package, so no short forms if possible like chi-cdk.

Copy link
Contributor Author

@gkhose-qipl gkhose-qipl Dec 10, 2025

Choose a reason for hiding this comment

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

Again, this doesn't make sense. We don't perform builds here.

It might help if you explain, what are the components. What is chi-cdk? Who uses it? What is the difference between camx and camx-lib? Doesn't camx depend on camx-lib? Does chi-cdk depend on camx? On camx-lib?

Dependency flow.
camxcommon
camxlib (depends on camxcommon)
camx (depends on camxlib)
chicdk (depnds on camx)

chi-cdk:- (Camera Hardware Interface Customization Development Kit).

did not get "Who uses it? " can you please elaborate

from the main qcom-camx package as these utilities are required by camx, \
chi-cdk, and camx-lib during compilation."
LICENSE = "LICENSE.qcom-2"
LIC_FILES_CHKSUM = "file://${UNPACKDIR}/usr/share/doc/${BPN}/NO.LOGIN.BINARY.LICENSE.QTI.pdf;md5=7a5da794b857d786888bbf2b7b7529c8"
Copy link
Contributor

Choose a reason for hiding this comment

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

Drop the file://${UNPACKDIR}

Copy link
Contributor Author

Choose a reason for hiding this comment

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

sure will update with below, is that fine ?
LIC_FILES_CHKSUM = "file://usr/share/doc/${BPN}/NO.LOGIN.BINARY.LICENSE.QTI.pdf;md5=7a5da794b857d786888bbf2b7b7529c8"

@github-actions
Copy link

Test run workflow

Test jobs for commit 5dafec0

@github-actions
Copy link

Test run workflow

Test jobs for commit b6d1da7

@gkhose-qipl gkhose-qipl changed the title camxcommon: package provide common utility API used by all CamX components camx: package provide all components of the Qualcomm Camera X (CamX) Jan 5, 2026
${libdir}/camx/lemans/libcamxhwnodecontext*${SOLIBSDEV} \
${libdir}/camx/lemans/libcom.qti.eisv3*${SOLIBSDEV} \
${libdir}/camx/lemans/libcamxsettingsmanager*${SOLIBSDEV} \
${libdir}/camx/lemans/libopencv3a*${SOLIBSDEV} \
Copy link
Contributor

Choose a reason for hiding this comment

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

I have pointed it out, but you choose to ignore it. OpenCV is NOT covered by LICENSE.qcom-2.

Copy link
Contributor Author

@gkhose-qipl gkhose-qipl Jan 6, 2026

Choose a reason for hiding this comment

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

it was not ignored, LOST team asked us to add "NOTICE" file for same.

Choose a reason for hiding this comment

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

As OpenCV bins are distributed as part of CAMX stack the overall license LICENSE.QCOM-2 applies to all the components in CAMX stack. Since we are delivering OpenCV binaries we have the applicable NOTICES in NOTICE file.

Copy link
Contributor

Choose a reason for hiding this comment

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

Which version of OpenCV is it and under which licence it was provided? It needs to be documented (e.g. in the commit message or in the comment). OpenCV 4.5+ is licensed under Apache 2 licence, so you need to be explicit, which version and which licence are applicable here.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

3.1 version of openCV is being used & it is under BSD-3-Clause license

${libdir}/camx/lemans/libiccprofile*${SOLIBSDEV} \
${libdir}/camx/lemans/camera/components/com.qti.node*${SOLIBSDEV} \
${libdir}/camx/lemans/camera/com.qti.sensor*${SOLIBSDEV} \
${libdir}/camx/lemans/hw/com.qti.chi*${SOLIBSDEV} \
Copy link
Contributor

Choose a reason for hiding this comment

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

Who needs these files?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

no one is going to use, it is just by product of compilation.
can you suggest way to ignore this without QA error ?
example error:-
camxlib-lemans: 297 installed and not shipped files. [installed-vs-shipped]
ERROR: camxlib-lemans-1.0.4-r0 do_package: Fatal QA errors were found, failing task.

is it fine if we remove .a (which are not needed) and .so (unversioned) files in do_install block

Copy link
Contributor

Choose a reason for hiding this comment

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

Yes, you can just remove them.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@lumag ,
but we run into below error. do we need to use QA skip flag ?
example error:-
camxlib-lemans: 297 installed and not shipped files. [installed-vs-shipped]
ERROR: camxlib-lemans-1.0.4-r0 do_package: Fatal QA errors were found, failing task.

${libdir}/camx/lemans/libhdr10plus*${SOLIBSDEV} \
${libdir}/camx/lemans/libcamera_metadata*${SOLIBSDEV} \
${libdir}/camx/lemans/libcamximageformatutils*${SOLIBSDEV} \
${libdir}/camx/lemans/camera/components/com.qti.stats*${SOLIBSDEV} \
Copy link
Contributor

Choose a reason for hiding this comment

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

Who is going to use these files?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

no one is going to use, it is just by product of compilation.
FILES:${PN}-dev = " ${libdir}/camx/lemans/*${SOLIBSDEV} " is this expected here?
how else are we going to package .a and .so(unversioned) libs

Copy link
Contributor

Choose a reason for hiding this comment

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

No, you need to rm -f unnecessary files.

${libdir}/camx/lemans/camera/com.qti.sensor*${SOLIBS} \
${libdir}/camx/lemans/hw/com.qti.chi.*${SOLIBS} \
/etc/camera/test/NHX/ \
${bindir}/ \
Copy link
Contributor

Choose a reason for hiding this comment

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

Which packages are to be installed in order to get CamX functional? Doesn't ${PN} depend on other packages? Or is it being handled automatically? Could you please open a draft PR, integrating CamX into meta-qcom-distro?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

below is distro change.
--- a/recipes-products/images/qcom-multimedia-proprietary-image.bb
+++ b/recipes-products/images/qcom-multimedia-proprietary-image.bb
@@ -11,6 +11,8 @@ CORE_IMAGE_BASE_INSTALL += "
iris-video-dlkm
kgsl-dlkm
qcom-adreno
++ chicdk-lemans \
++ chicdk-kodiak "

Copy link
Contributor Author

Choose a reason for hiding this comment

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

we only add chicdk-lemans and chicdk-kodiak

Copy link
Contributor

Choose a reason for hiding this comment

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

This is a bit counterintuitive. This requires knowing what is chicdk and how it is related to CamX. I'd prefer if we list camx packages here.

Copy link
Contributor Author

Choose a reason for hiding this comment

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


Dependency flow.
camxcommon
camxlib (depends on camxcommon)
camx (depends on camxlib)
chicdk (depnds on camx)

chi-cdk:- (Camera Hardware Interface Customization Development Kit).

Copy link
Contributor

Choose a reason for hiding this comment

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

One definitely doesn't need "Development Kit" if one wants to capture camera images.

@gkhose-qipl gkhose-qipl marked this pull request as ready for review January 6, 2026 05:49
@gkhose-qipl gkhose-qipl requested a review from lumag January 7, 2026 04:36
The camx-lib package provides all camera libraries,
 shared across all components of the Qualcomm Camera X (CamX).
This recipe help to create separate camx packages.
3.1 version of openCV is being used.

Signed-off-by: Ganesh Khose <gkhose@qti.qualcomm.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants