Compare commits

...

9 Commits

Author SHA1 Message Date
Brian Horakh
5f9d5a5742
Merge ab59fdf570 into c3c27d036f 2026-03-03 09:28:34 -06:00
Michal Srb
c3c27d036f
Hide hidden camera alerts (#22226)
Some checks are pending
CI / AMD64 Build (push) Waiting to run
CI / ARM Build (push) Waiting to run
CI / Jetson Jetpack 6 (push) Waiting to run
CI / AMD64 Extra Build (push) Blocked by required conditions
CI / ARM Extra Build (push) Blocked by required conditions
CI / Synaptics Build (push) Blocked by required conditions
CI / Assemble and push default build (push) Blocked by required conditions
Cameras that have `ui.dashboard = false` config are hidden from
the All Cameras "default" group, but their alerts still appear in the
top row. This hides the alerts as well.

One can still view the hidden cameras and their alerts by making a
custom camera group.
2026-03-03 06:29:57 -07:00
Brian H
ab59fdf570 fix: clean up duplicate SoC list and fix RKNN converter for rk3588s
- Remove unused supported_socs variable in rknn.py that duplicated
  the SUPPORTED_RK_SOCS constant from frigate.const
- Add rk3588s to rk3588 mapping in rknn_converter.py to ensure custom
  ONNX model conversion works on RK3588S devices

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 20:49:46 +11:00
Brian Horakh
075ea3305c
Update frigate/detectors/plugins/rknn.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-02 19:49:58 +11:00
Brian H
8f99733638 ci: add Rockchip build workflow for fork
- Builds and publishes to ghcr.io/elasticdotventures/frigate
- Triggers on push to dev and fix-rk3588s-support branches
- Can be manually triggered via workflow_dispatch
- Tags: {sha}-rk and latest-rk
2026-02-01 18:21:47 +11:00
Brian H
6f18ea8fde fix: remove trailing whitespace for ruff format check 2026-02-01 18:15:04 +11:00
Brian H
a7042a7c0b fix: add rk3588s support with model mapping to rk3588
- Add rk3588s to SUPPORTED_RK_SOCS list
- Map rk3588s to rk3588 for model downloads (models are compatible)
- Update documentation to include rk3588s in supported SoCs
- Addresses feedback from blakeblackshear/frigate#20441
2026-02-01 17:38:21 +11:00
Brian Horakh
dea03ea099
Merge branch 'dev' into fix-rk3588s-support 2026-02-01 17:33:45 +11:00
b
68877f51fb fix: allow rk3588s in RKNN detector (#20440) 2025-10-12 16:25:45 +11:00
7 changed files with 85 additions and 5 deletions

66
.github/workflows/build-rk.yml vendored Normal file
View File

@ -0,0 +1,66 @@
name: Build Rockchip
on:
workflow_dispatch:
push:
branches:
- dev
- fix-rk3588s-support
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
jobs:
rockchip_build:
runs-on: ubuntu-latest
name: Build Rockchip Image
permissions:
contents: read
packages: write
steps:
- name: Check out code
uses: actions/checkout@v4
- id: lowercaseRepo
uses: ASzc/change-string-case-action@v6
with:
string: ${{ github.repository }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Create version file
run: make version
- name: Create short sha
id: sha
run: echo "SHORT_SHA=${GITHUB_SHA::7}" >> $GITHUB_OUTPUT
- name: Build and push Rockchip image
uses: docker/bake-action@v5
with:
push: true
targets: rk
files: docker/rockchip/rk.hcl
set: |
rk.tags=ghcr.io/${{ steps.lowercaseRepo.outputs.lowercase }}:${{ steps.sha.outputs.SHORT_SHA }}-rk
rk.tags=ghcr.io/${{ steps.lowercaseRepo.outputs.lowercase }}:latest-rk
*.cache-from=type=gha
*.cache-to=type=gha,mode=max
- name: Show image tags
run: |
echo "Images published:"
echo " ghcr.io/${{ steps.lowercaseRepo.outputs.lowercase }}:${{ steps.sha.outputs.SHORT_SHA }}-rk"
echo " ghcr.io/${{ steps.lowercaseRepo.outputs.lowercase }}:latest-rk"

View File

@ -1356,7 +1356,7 @@ To convert a onnx model to the rknn format using the [rknn-toolkit2](https://git
This is an example configuration file that you need to adjust to your specific onnx model:
```yaml
soc: ["rk3562", "rk3566", "rk3568", "rk3576", "rk3588"]
soc: ["rk3562", "rk3566", "rk3568", "rk3576", "rk3588", "rk3588s"]
quantization: false
output_name: "{input_basename}"

View File

@ -271,6 +271,7 @@ Frigate supports hardware video processing on all Rockchip boards. However, hard
- RK3568
- RK3576
- RK3588
- RK3588S
| Name | YOLOv9 Inference Time | YOLO-NAS Inference Time | YOLOx Inference Time |
| -------------- | --------------------- | --------------------------- | ----------------------- |

View File

@ -77,7 +77,7 @@ FFMPEG_HWACCEL_AMF = "preset-amd-amf"
FFMPEG_HVC1_ARGS = ["-tag:v", "hvc1"]
# RKNN constants
SUPPORTED_RK_SOCS = ["rk3562", "rk3566", "rk3568", "rk3576", "rk3588"]
SUPPORTED_RK_SOCS = ["rk3562", "rk3566", "rk3568", "rk3576", "rk3588", "rk3588s"]
# Regex constants

View File

@ -102,6 +102,9 @@ class Rknn(DetectionApi):
def parse_model_input(self, model_path, soc):
model_props = {}
# Map rk3588s to rk3588 for model compatibility
model_soc = "rk3588" if soc == "rk3588s" else soc
# find out if user provides his own model
# user provided models should be a path and contain a "/"
if "/" in model_path:
@ -158,7 +161,7 @@ class Rknn(DetectionApi):
model_props["model_type"] = model_type
if model_matched:
model_props["filename"] = model_path + f"-{soc}-v2.3.2-2.rknn"
model_props["filename"] = model_path + f"-{model_soc}-v2.3.2-2.rknn"
model_props["path"] = model_cache_dir + model_props["filename"]

View File

@ -189,13 +189,16 @@ def convert_onnx_to_rknn(
logger.debug("Could not determine SoC type")
return False
# Map rk3588s to rk3588 for RKNN toolkit compatibility
target_soc = "rk3588" if soc == "rk3588s" else soc
# Get model config for the specified type
if model_type not in MODEL_TYPE_CONFIGS:
logger.debug(f"Unsupported model type: {model_type}")
return False
config = MODEL_TYPE_CONFIGS[model_type].copy()
config["target_platform"] = soc
config["target_platform"] = target_soc
# RKNN toolkit requires .onnx extension, create temporary copy if needed
temp_onnx_path = None

View File

@ -92,10 +92,17 @@ export default function LiveDashboardView({
const eventUpdate = useFrigateReviews();
const alertCameras = useMemo(() => {
if (!config || cameraGroup == "default") {
if (!config) {
return null;
}
if (cameraGroup == "default") {
return Object.values(config.cameras)
.filter((cam) => cam.ui.dashboard)
.map((cam) => cam.name)
.join(",");
}
if (includeBirdseye && cameras.length == 0) {
return Object.values(config.cameras)
.filter((cam) => cam.birdseye.enabled)