frigate/docker/qcs6490/qcs6490.mk
notori0us 52ba582e54 Add Qualcomm Hexagon NPU detector (qcs6490)
Adds a community-supported hardware detector for the Qualcomm Hexagon NPU
on QCS6490 SoCs (e.g. Radxa Dragon Q6A) via QAIRT 2.37.1 / qai_appbuilder.

Mirrors the existing community-board pattern (Rockchip / Synaptics):

- frigate/detectors/plugins/qnn.py: detector plugin using yolo-generic model
  type, lazy SDK import, runs pre-compiled QNN context binaries from
  Qualcomm AI Hub.
- docker/qcs6490/: Dockerfile (two-stage; rebuilds qai_appbuilder wheel
  inside Frigate's image to match libstdc++ ABI), bake target (qcs6490.hcl),
  make targets (qcs6490.mk), and a host-side user_installation.sh that
  installs fastrpc, the QCS6490 firmware (cDSP image + skel libs), and
  configures cdsprpcd.
- .github/workflows/ci.yml: qcs6490_build job mirroring synaptics_build.
- CODEOWNERS: /docker/qcs6490/ + qnn.py.
- docs: new "Qualcomm Hexagon NPU" sections under Community Supported
  Detectors in object_detectors.md, plus matching entries in
  installation.md and hardware.md.

Performance on Radxa Dragon Q6A (Hexagon v68, ~12 TOPS), YOLOv8n 640x640:
~10ms per inference under light load, ~24ms with 5 RTSP cameras live.

Closes #18602.
2026-04-19 17:03:37 -07:00

16 lines
507 B
Makefile

BOARDS += qcs6490
local-qcs6490: version
docker buildx bake --file=docker/qcs6490/qcs6490.hcl qcs6490 \
--set qcs6490.tags=frigate:latest-qcs6490 \
--load
build-qcs6490: version
docker buildx bake --file=docker/qcs6490/qcs6490.hcl qcs6490 \
--set qcs6490.tags=$(IMAGE_REPO):${GITHUB_REF_NAME}-$(COMMIT_HASH)-qcs6490
push-qcs6490: build-qcs6490
docker buildx bake --file=docker/qcs6490/qcs6490.hcl qcs6490 \
--set qcs6490.tags=$(IMAGE_REPO):${GITHUB_REF_NAME}-$(COMMIT_HASH)-qcs6490 \
--push