[Detector Support]: Created TensorFlow Lite XNNPACK delegate for CPU message in logs. What does it mean and how to fix? #19889
-
Describe the problem you are havingI am trying to set up a Frigate on my smart-home server. My setup is Frigate in a Docker Compose, in an LXC container on Proxmox. Everything is running on Beelink S12 Pro mini PC. Beelink S12 Pro has Intel N100 processor with Alder Lake GPU. I am trying to setup detectors via OpenVIVO, but it doesn't seem to work. My CPU is loaded 90-100% percent. Intel GPU is rarely 1-5%. I also regularly get the message the OV detector is slow. I see this message in the logs:
To me, it seems like detection work over CPU, instead of GPU. What does this message really mean? Why doesn't it work for me? Can anyone help me fixing that? Version0.16.0-c2f8de9 Frigate config filemqtt:
enabled: false
go2rtc:
streams:
living_room:
- rtsp://user:[email protected]:554/h264Preview_01_main
living_room_sub:
- rtsp://user:[email protected]:554/h264Preview_01_sub
corridor:
- rtsp://192.168.1.x/13 # 1080p + aac sound
corridor_sub:
- rtsp://192.168.1.x/11#hardware#video=h264#scale=640:360#fps=4 # 720p + no sound
webrtc:
candidates:
- 192.168.1.xxx:8555
- stun:8555
cameras:
living_room:
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/living_room
roles:
- record
- audio
- path: rtsp://127.0.0.1:8554/living_room_sub
roles:
- detect
motion:
contour_area: 40
detect:
width: 640
height: 360
fps: 4
onvif:
host: 192.168.1.x
port: 8000
user: user
password: pass
corridor:
ffmpeg:
inputs:
- path: rtsp://localhost:8554/corridor
roles:
- record
- audio
- path: rtsp://localhost:8554/corridor_sub
roles:
- detect
objects:
track:
- person
detect:
width: 640
height: 360
fps: 4
record:
enabled: True
retain:
days: 3
mode: all
alerts:
retain:
days: 30
mode: motion
detections:
retain:
days: 30
mode: motion
snapshots:
enabled: true
clean_copy: true
bounding_box: true
detect:
enabled: true
fps: 5
width: 640
height: 360
audio:
enabled: true
listen:
- bark
- fire_alarm
- scream
- speech
- explosion
- gunshot
objects:
track:
- person
- dog
filters:
person:
min_area: 5000
threshold: 0.8
face_recognition:
enabled: true
detectors:
ov1:
type: openvino
device: GPU
model:
width: 300
height: 300
input_tensor: nhwc
input_pixel_format: bgr
path: /openvino-model/ssdlite_mobilenet_v2.xml
labelmap_path: /openvino-model/coco_91cl_bkgr.txt
ffmpeg:
hwaccel_args: preset-vaapi
input_args: preset-rtsp-restream
output_args:
record: preset-record-generic-audio-copy
version: 0.16-0 docker-compose file or Docker CLI commandfrigate:
container_name: frigate
privileged: true
image: ghcr.io/blakeblackshear/frigate:stable
restart: unless-stopped
stop_grace_period: 30s # allow enough time to shut down the various services
shm_size: 512mb
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/OpenCL/vendors:/etc/OpenCL/vendors:ro
- ${DOCKER}/frigate:/config
- ${STORAGE}/media/cameras:/media/frigate
- type: tmpfs # Optional: 1GB of memory, reduces SSD/SD Card wear
target: /tmp/cache
tmpfs:
size: 1000000000
devices:
- /dev/dri:/dev/dri
# - /dev/bus/usb:/dev/bus/usb # for Coral USB devices
ports:
- 8971:8971
# - 5000:5000 # Internal unauthenticated access. Expose carefully.
- 8554:8554 # RTSP feeds
- 8555:8555/tcp # WebRTC over tcp
- 8555:8555/udp # WebRTC over udp
environment:
FRIGATE_RTSP_PASSWORD: 'very-secret' # FIXME: hide in secrets Relevant Frigate log output2025-09-02 23:33:13.859146455 [INFO] Preparing Frigate...
2025-09-02 23:33:17.445884832 [INFO] Starting Frigate...
2025-09-02 23:33:27.638290468 [2025-09-02 23:33:27] frigate.util.config INFO : Checking if frigate config needs migration...
2025-09-02 23:33:27.676158741 [2025-09-02 23:33:27] frigate.util.config INFO : frigate config does not need migration...
2025-09-02 23:33:27.737286727 [2025-09-02 23:33:27] frigate.app INFO : Starting Frigate (0.16.0-c2f8de9)
2025-09-02 23:33:27.767421524 [2025-09-02 23:33:27] peewee_migrate.logs INFO : Starting migrations
2025-09-02 23:33:27.768218074 [2025-09-02 23:33:27] peewee_migrate.logs INFO : There is nothing to migrate
2025-09-02 23:33:27.781028277 [2025-09-02 23:33:27] frigate.app INFO : Recording process started: 392
2025-09-02 23:33:27.791786470 [2025-09-02 23:33:27] frigate.app INFO : Review process started: 397
2025-09-02 23:33:27.797627219 [2025-09-02 23:33:27] frigate.app INFO : go2rtc process pid: 128
2025-09-02 23:33:27.829764284 [2025-09-02 23:33:27] detector.ov1 INFO : Starting detection process: 417
2025-09-02 23:33:27.831565812 [2025-09-02 23:33:27] frigate.app INFO : Embedding process started: 420
2025-09-02 23:33:27.869995580 [2025-09-02 23:33:27] frigate.app INFO : Output process started: 454
2025-09-02 23:33:27.898352138 loading data from : /config/model_cache/facedet/landmarkdet.yaml
2025-09-02 23:33:27.967646622 [2025-09-02 23:33:27] frigate.app INFO : Camera processor started for living_room: 475
2025-09-02 23:33:28.000086406 [2025-09-02 23:33:27] frigate.app INFO : Camera processor started for cabinet: 477
2025-09-02 23:33:28.068152045 [2025-09-02 23:33:28] frigate.app INFO : Camera processor started for corridor: 484
2025-09-02 23:33:28.154983427 [2025-09-02 23:33:28] frigate.app INFO : Capture process started for living_room: 506
2025-09-02 23:33:28.189443110 [2025-09-02 23:33:28] frigate.app INFO : Capture process started for cabinet: 515
2025-09-02 23:33:28.523115667 [2025-09-02 23:33:28] frigate.app INFO : Capture process started for corridor: 531
2025-09-02 23:33:29.080422901 [2025-09-02 23:33:29] frigate.api.fastapi_app INFO : Starting FastAPI app
2025-09-02 23:33:30.110911222 [2025-09-02 23:33:30] frigate.storage WARNING : cabinet has a bandwidth of 26865.81 MB/hr which exceeds the expected maximum. This typically indicates an issue with the cameras recordings.
2025-09-02 23:33:31.191930290 [2025-09-02 23:33:31] frigate.api.fastapi_app INFO : FastAPI started
2025-09-02 23:33:33.947477831 INFO: Created TensorFlow Lite XNNPACK delegate for CPU. Install methodDocker Compose Object DetectorOpenVino Screenshots of the Frigate UI's System metrics pages![]() ![]() Any other information that may be helpfulNo response |
Beta Was this translation helpful? Give feedback.
Replies: 5 comments 7 replies
-
There are a couple of mixed signals here.
this log is referring to the face recognition model running on the CPU, not object detection. So it is not related to your openvino cpu usage in any way. The ov1 detector is very slow though which is odd, are you sure the correct drivers are installed on the host? |
Beta Was this translation helpful? Give feedback.
-
Proxmox is listed as an unsupported installation method for Frigate, so there may be additional challenges or limitations when running in this environment(1). For OpenVINO GPU acceleration, Frigate requires that the correct Intel GPU drivers and the Intel Compute Runtime are installed inside the container, not just on the host(2)(3). If OpenVINO is configured but detection remains slow and CPU-bound, this usually indicates that the GPU runtime is missing or not properly accessible from within the LXC container(3). The official documentation recommends using Docker or Docker Compose directly on supported Linux distributions, with all required GPU drivers and runtime libraries available inside the container(1)(2). Proxmox LXC containers can make GPU passthrough and driver installation more complex, and ensuring the device nodes (like /dev/dri) and user permissions are mapped correctly is critical(1)(4). For OpenVINO on Intel GPUs:
You can find more details on supported hardware and configuration at: If you need more details on configuring LXC with GPU passthrough, you may want to consult Proxmox community forums or related discussions, as Frigate does not officially support Proxmox LXC setups(1). 📚 Sources:
Have another question? Just tag @inkeep. |
Beta Was this translation helpful? Give feedback.
-
After some trials and errors, I've figured it out. Turns out there is a huge difference on how you pass GPU to the LXC. I've been passing GPU to my LXC with Frigate like this, by manually editing lxc.cgroup2.devices.allow: c 226:0 rwm
lxc.cgroup2.devices.allow: c 226:128 rwm
lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir
lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file This was somehow throttling GPU performance. I went through this guide jsapede/frigate-proxmox-docker-openvino and added my GPU via Proxmox UI, like this: This changed produces this like in dev0: /dev/dri/renderD128 After that change, I rebooted LXC and it works normally. CPU usage went down from 90% to usual 20-30% and GPU started to bear this load. This discussion was very helpful as well: #5773 |
Beta Was this translation helpful? Give feedback.
-
@denysdovhan |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
After some trials and errors, I've figured it out. Turns out there is a huge difference on how you pass GPU to the LXC.
I've been passing GPU to my LXC with Frigate like this, by manually editing
/etc/pve/lxc/10x.conf
file:This was somehow throttling GPU performance. I went through this guide jsapede/frigate-proxmox-docker-openvino and added my GPU via Proxmox UI, like this:
This changed produces this like in
/etc/pve/lxc/10x.conf
:Af…