The camera-service is a fundamental component in Qualcomm Linux that operates as a daemon, providing RPC (Remote Procedure Call) APIs for camera control. It exposes helper client APIs that handle RPC between client and server, utilizing HAL3 API to interact with the camera backend (CamX) and camera driver for hardware configuration.
The camera-service supports multiple clients and cameras simultaneously.
The camera-service provides client APIs for communication with the service. Applications such as GStreamer-based apps can use these client APIs to access the camera feed and build end-user solutions.
Follow the steps below to obtain the cross-compilation toolchain required to build this project.
-
Get the latest Nightly Build (wrynose) from the below link:
https://github.com/qualcomm-linux/meta-qcom/actions/workflows/nightly-build.yml
-
Locate the "build-nightly / publish_summary summary" section within the workflow results.
-
Expand the "Download URLs Details" section to reveal the available build artifacts.
-
Under the qcom-distro-sdk distribution for the qcom-armv8a target, click on the "Files" link.
-
In the file list, use the "Type" filter to select
.shfiles, then download the following toolchain installer:qcom-distro-x86_64-qcom-multimedia-proprietary-image-armv8a-qcom-armv8a-toolchain-2.0.sh -
Extract and install the toolchain.
bash qcom-distro-x86_64-qcom-multimedia-proprietary-image-armv8a-qcom-armv8a-toolchain-2.0.sh -d <path_to_install_toolchain> -y -
Source the cross-compilation toolchain environment.
source <path_to_install_toolchain>/environment-setup-armv8a-qcom-linuxNote: This environment must be sourced for every new shell session before building the project.
Clone the source code from Github:
git clone https://github.com/qualcomm/camera-service.git
cd camera-service
Run CMake to generate the Makefile and build
cmake -B build -S . -DCMAKE_INSTALL_PREFIX=/usr && cmake --build build
Contributions are welcome! Please refer to the CONTRIBUTING.md file for full details on how to contribute to this project, including:
camera-service is licensed under the BSD-3-Clause-Clear License. See LICENSE.txt for the full license text.