frigate/docker/qcs6490/qcs6490.hcl
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

28 lines
519 B
HCL

target wheels {
dockerfile = "docker/main/Dockerfile"
platforms = ["linux/arm64"]
target = "wheels"
}
target deps {
dockerfile = "docker/main/Dockerfile"
platforms = ["linux/arm64"]
target = "deps"
}
target rootfs {
dockerfile = "docker/main/Dockerfile"
platforms = ["linux/arm64"]
target = "rootfs"
}
target qcs6490 {
dockerfile = "docker/qcs6490/Dockerfile"
contexts = {
wheels = "target:wheels",
deps = "target:deps",
rootfs = "target:rootfs"
}
platforms = ["linux/arm64"]
}