-
Notifications
You must be signed in to change notification settings - Fork 168
camx: package provide all components of the Qualcomm Camera X (CamX) #1231
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
lumag
left a comment
There was a problem hiding this 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" | |||
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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" | |||
There was a problem hiding this comment.
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" |
There was a problem hiding this comment.
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.
|
Please break into more commits, one single commit adding a bunch of recipes is not ideal. |
64768be to
78cfd3c
Compare
| @@ -0,0 +1,18 @@ | |||
| SUMMARY = "Qualcomm camera development related libraries, binary" | |||
| DESCRIPTION = "Collection of prebuilt libraries to support camera downstream functionality." | |||
There was a problem hiding this comment.
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).
There was a problem hiding this comment.
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" | |||
There was a problem hiding this comment.
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.
|
Please. Test your changes before sending the PR. Building |
|
Also, please fix your build system: |
lumag
left a comment
There was a problem hiding this 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" | |||
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still being ignored
78cfd3c to
3ff362b
Compare
3ff362b to
2c40208
Compare
0979b47 to
84daf9e
Compare
That's not an answer to the 'Why?' question. |
84daf9e to
57d0c52
Compare
@lumag , |
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. |
Test run workflowTest jobs for commit 57d0c52
|
|
@lumag / @ricardosalveti / @koenkooi , |
| 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." |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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
57d0c52 to
5dafec0
Compare
| 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" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Drop the file://${UNPACKDIR}
There was a problem hiding this comment.
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"
Test run workflowTest jobs for commit 5dafec0
|
5dafec0 to
b6d1da7
Compare
Test run workflowTest jobs for commit b6d1da7
|
b6d1da7 to
044d4d4
Compare
dynamic-layers/openembedded-layer/recipes-multimedia/camx/camxlib-lemans_1.0.4.bb
Show resolved
Hide resolved
| ${libdir}/camx/lemans/libcamxhwnodecontext*${SOLIBSDEV} \ | ||
| ${libdir}/camx/lemans/libcom.qti.eisv3*${SOLIBSDEV} \ | ||
| ${libdir}/camx/lemans/libcamxsettingsmanager*${SOLIBSDEV} \ | ||
| ${libdir}/camx/lemans/libopencv3a*${SOLIBSDEV} \ |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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} \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Who needs these files?
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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} \ |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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}/ \ |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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 "
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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).
There was a problem hiding this comment.
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.
dynamic-layers/openembedded-layer/recipes-multimedia/camx/camxlib-kodiak_1.0.4.bb
Outdated
Show resolved
Hide resolved
dynamic-layers/openembedded-layer/recipes-multimedia/camx/camxlib-lemans_1.0.4.bb
Outdated
Show resolved
Hide resolved
044d4d4 to
0a36a23
Compare
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>
0a36a23 to
1b6ad3d
Compare
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.