Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
PLATFORM = "hamoa"
PBT_BUILD_DATE = "260616"

require common.inc

SRC_URI[camxlib.sha256sum] = "fa862d980478564abb2c8efff81e2783cd1269cc4d38cb215f9a1e2d02e23269"
SRC_URI[camx.sha256sum] = "1b59111f0ef43bb96d2fed3e189108d8b6027672268bd03747121d7d6bc0385e"
SRC_URI[chicdk.sha256sum] = "c20d1b44137eb3cf69cda234ece46be1b0b3bc41acf3940eb4000ec49c0efce5"
SRC_URI[camxcommon.sha256sum] = "c1c54b93e1844dc27e5467fef941fa7ba8d41b53417d15526a27c60840630d58"
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ LICENSE = "LICENSE.qcom-2"
LIC_FILES_CHKSUM = "file://usr/share/doc/${BPN}/LICENSE.QCOM-2.txt;md5=165287851294f2fb8ac8cbc5e24b02b0 \
file://usr/share/doc/${BPN}/NOTICE;md5=04facc2e07e3d41171a931477be0c690"

PBT_BUILD_DATE = "260515"
PBT_BUILD_DATE = "260617"
SRC_URI = " \
https://qartifactory-edge.qualcomm.com/artifactory/qsc_releases/software/chip/component/camx.qclinux.0.0/${PBT_BUILD_DATE}/prebuilt_yocto/${BPN}_${PV}_armv8-2a.tar.gz;name=camxlib \
https://qartifactory-edge.qualcomm.com/artifactory/qsc_releases/software/chip/component/camx.qclinux.0.0/${PBT_BUILD_DATE}/prebuilt_yocto/camx-kodiak_${PV}_armv8-2a.tar.gz;name=camx \
https://qartifactory-edge.qualcomm.com/artifactory/qsc_releases/software/chip/component/camx.qclinux.0.0/${PBT_BUILD_DATE}/prebuilt_yocto/chicdk-kodiak_${PV}_armv8-2a.tar.gz;name=chicdk \
"
SRC_URI[camxlib.sha256sum] = "51cc525d7cf9572b890ea9576fcb1a97fb3d7670f1ff4db368c365fa07dcde60"
SRC_URI[camx.sha256sum] = "2477d93fc5da81806086d252624787b5d6c330cfbfcdcf9373330381179005a0"
SRC_URI[chicdk.sha256sum] = "d328d0889417c28bc2ff88a20a7ddf020e0123db1a05399a977a8490798c9256"
SRC_URI[camxlib.sha256sum] = "25972b1932bb3dc06c73c5261c16ce047645e7ed95162810f4bb243c1816a025"
SRC_URI[camx.sha256sum] = "e83ad33e4c2dc823339ac9512d45a02dfe7f316cb60d34f27aea5637f9c80b0e"
SRC_URI[chicdk.sha256sum] = "8adc152ebdb6d0a105f9b4f8ccaae0bfde9f05058605ebcc07b7057dfcc55c61"

S = "${UNPACKDIR}"

Expand All @@ -36,6 +36,10 @@ do_install:append() {
install -d ${D}${datadir}/doc/chicdk-kodiak

cp -r ${S}/usr/lib/* ${D}${libdir}
# copy Deep Learning based binary
cp -r ${S}/usr/share/camx ${D}${datadir}
# copy skel file
cp -r ${S}/usr/share/qcom ${D}${datadir}
Comment thread
gkhose-qipl marked this conversation as resolved.

# Install bin files only if /usr/bin exists in ${S}
if [ -d "${S}${bindir}" ]; then
Expand Down Expand Up @@ -65,7 +69,7 @@ do_install:append() {
fi
}

PACKAGE_BEFORE_PN += "camx-kodiak chicdk-kodiak"
PACKAGE_BEFORE_PN += "camx-kodiak chicdk-kodiak ${PN}-skel"
RDEPENDS:${PN} += "chicdk-kodiak"
RDEPENDS:${PN}-dev += "camxcommon-headers-dev"
RRECOMMENDS:${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'opencl', 'virtual-opencl-icd', '', d)} sensinghub qcom-sensors-binaries"
Expand Down Expand Up @@ -100,6 +104,10 @@ FILES:chicdk-kodiak = "\
${libdir}/camx/kodiak/hw/com.qti.chi.*${SOLIBS} \
${bindir}/ \
"
FILES:${PN}-skel = "\
${datadir}/camx \
${datadir}/qcom \
"
FILES:${PN} = "\
${libdir}/libcamera_metadata_kodiak*${SOLIBS} \
${libdir}/camx/kodiak/*${SOLIBS} \
Expand All @@ -112,10 +120,14 @@ FILES:${PN}-dev = "\
"
FILES:${PN}-staticdev = "${libdir}/camx/kodiak/*.a"

# Preserve ${PN} naming to avoid ambiguity in package identification.
# Preserve ${PN},${PN}-skel naming to avoid ambiguity in package identification.
DEBIAN_NOAUTONAME:${PN} = "1"
DEBIAN_NOAUTONAME:${PN}-skel = "1"

# Algo librarires are pre-compiled, pre-stripped.
# Skipping QA checks: 'already-stripped' because:
# Skipping QA checks: 'already-stripped', 'arch', 'libdir' because:
# - Library files are Pre-stripped (already-stripped)
# - skel binaries/library are not AArch64 (arch mismatch) (arch)
# - Files are installed under /usr/share (non-libdir path) (libdir)
INSANE_SKIP:${PN} = "already-stripped"
INSANE_SKIP:${PN}-skel += " arch libdir already-stripped"
Comment thread
gkhose-qipl marked this conversation as resolved.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
PLATFORM = "lemans"
PBT_BUILD_DATE = "260616"

require common.inc

SRC_URI[camxlib.sha256sum] = "97d494798573681192147acdd87411dbe0413157d820ddaec81d51a9a2c6dadf"
SRC_URI[camx.sha256sum] = "b84903c48932462e4373934c7c10d311b8ad80f5ff822375de3008a3553245fd"
SRC_URI[chicdk.sha256sum] = "e563a96bc45f4685d0b7514400a1a81d07cb1b48c3dc2bef19438a48f2d09986"
SRC_URI[camxcommon.sha256sum] = "91d79a5530f926571e6921bd38b8eb22d7b223867cd2d375d28441e2282c88c1"

DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'opencl', 'qcom-adreno virtual/libopencl1', '', d)}"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Why?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

similar we have Opencl dependency for SWMCTF feature on lemans.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

What is SWMCTF?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

It is software solution for Temporal Noise Reduction.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Ok. Anyway, make sure that the package actually builds if opencl and opengl are disabled.


do_install:append() {
# Copy json only when /etc folder exists in ${S}
if [ -d "${S}/etc" ]; then
install -d ${D}${sysconfdir}/camera/test/NHX/
cp -r ${S}/etc/camera/test/NHX/*.json ${D}${sysconfdir}/camera/test/NHX/
fi
# copy Deep Learning based binary
cp -r ${S}/usr/share/camx ${D}${datadir}
# copy skel file
cp -r ${S}/usr/share/qcom ${D}${datadir}
Comment thread
gkhose-qipl marked this conversation as resolved.
}

RPROVIDES:${PN} = "camxlib-monaco"
PACKAGE_BEFORE_PN += "camx-nhx ${PN}-skel"
RRECOMMENDS:${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'opencl', 'virtual-opencl-icd', '', d)}"

FILES:camx-nhx = "\
${bindir}/nhx.sh \
${sysconfdir}/camera/test/NHX/ \
"
FILES:${PN}-skel = "\
${datadir}/camx \
Comment thread
gkhose-qipl marked this conversation as resolved.
${datadir}/qcom \
"
# OpenCL-related camx files
CAMX_OPENCL_FILES = " \
${libdir}/camx/${PLATFORM}/*.cl \
${libdir}/camx/${PLATFORM}/libmctf_cl_program.bin \
"
FILES:${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'opencl', '${CAMX_OPENCL_FILES}', '', d)}"

# Algo librarires are pre-compiled, pre-stripped.
# Skipping QA checks: 'already-stripped', 'arch', 'libdir' because:
# - Library files are Pre-stripped (already-stripped)
# - skel binaries/library are not AArch64 (arch mismatch) (arch)
# - Files are installed under /usr/share (non-libdir path) (libdir)
INSANE_SKIP:${PN}-skel += " arch libdir already-stripped"

# Preserve ${PN}-skel naming to avoid ambiguity in package identification.
DEBIAN_NOAUTONAME:${PN}-skel = "1"
Comment thread
gkhose-qipl marked this conversation as resolved.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
PLATFORM = "talos"
PBT_BUILD_DATE = "260616"

require common.inc

SRC_URI[camxlib.sha256sum] = "3bba0daa67089e529b807961101e920d12109dfbc585901f8db979716094ec5a"
SRC_URI[camx.sha256sum] = "bab2573930951360e58eca159eec8c5777043eb6c1c57725dffae499a75475df"
SRC_URI[chicdk.sha256sum] = "9b08fe81bc9177826fe5d9aff185de16bdb216cab20304bfea60a8c8a5c2eb48"
SRC_URI[camxcommon.sha256sum] = "9e8a7b595242916962bb018f2dffc3136c399f1bf80b0aecd91f4ac97f6293f9"

DEPENDS += "virtual/egl virtual/libgles2 ${@bb.utils.contains('DISTRO_FEATURES', 'opencl', 'qcom-adreno virtual/libopencl1', '', d)}"
Comment thread
gkhose-qipl marked this conversation as resolved.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Why do you need qcom-adreno as a build-time dependency?
Also, EGL and GL ES2 are optional features which can be disabled on a distro level.

@kripal-qipl kripal-qipl Jun 18, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

qcom-adreno is needed here because the Talos EIS/LDC build compiles OpenCL-based code and currently fails without the Qualcomm OpenCL extension headers.
"fatal error: CL/cl_ext_qcom.h: No such file or directory"
EGL and GLES2 features are enabled by default in the base Config1 image; therefore, the required graphics stack is already available in the standard build configuration.
Also we are getting error for all dependent library on meta qcom if we don't include in DEPENDS.

ERROR: camxlib-talos-1.0.27-r0 do_package_qa: QA Issue: /usr/lib/camx/talos/camera/components/libiwarp.so.0.1.0 contained in package camxlib-talos requires libOpenCL.so.1(OPENCL_1.1)(64bit), but no providers found in RDEPENDS:camxlib-talos? [file-rdeps]
ERROR: camxlib-talos-1.0.27-r0 do_package_qa: QA Issue: /usr/lib/camx/talos/camera/components/libiwarp.so.0.1.0 contained in package camxlib-talos requires libEGL.so.1()(64bit), but no providers found in RDEPENDS:camxlib-talos? [file-rdeps]
ERROR: camxlib-talos-1.0.27-r0 do_package_qa: QA Issue: /usr/lib/camx/talos/camera/components/libiwarp.so.0.1.0 contained in package camxlib-talos requires libGLESv2.so.2()(64bit), but no providers found in RDEPENDS:camxlib-talos? [file-rdeps]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

What exactly are you building here? Move build dependencies to the place where the build happens.
Regarding the link errors. Guard your additions by the DISTRO_FEATURES check. You can check that it works by performing a nodistro build and removing the opengl and opencl features from the nodistro. The build should succeed without requiring non-existing libs.

@kripal-qipl kripal-qipl Jun 18, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

are you looking to add condition check for virtual/egl virtual/libgles2 package just like virtual/libopencl1

DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virtual/egl virtual/libgles2', '', d)}
${@bb.utils.contains('DISTRO_FEATURES', 'opencl', 'virtual/libopencl1', '', d)}"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Yes. Also please, check it without those distro features, as I wrote before.

Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ DESCRIPTION = "This recipe provides headers for all Qualcomm CamX stacks"
LICENSE = "LICENSE.qcom-2"
LIC_FILES_CHKSUM = "file://usr/share/doc/${BPN}/LICENSE.QCOM-2.txt;md5=165287851294f2fb8ac8cbc5e24b02b0"

PBT_BUILD_DATE = "260527"
PBT_BUILD_DATE = "260616.1"
SRC_URI = "https://qartifactory-edge.qualcomm.com/artifactory/qsc_releases/software/chip/component/camx.qclinux.0.0/${PBT_BUILD_DATE}/prebuilt_yocto/${BPN}_${PV}_armv8-2a.tar.gz"
SRC_URI[sha256sum] = "a5239a438f4a71f17bb6484b37ee3d766e0f847bbcebd2145c906f1ab5a9578c"
SRC_URI[sha256sum] = "8ec30b4ea8ea3c8aaaa6751a96ae244923040238bc331a27db1be302918695a7"

S = "${UNPACKDIR}"

Expand Down
Loading