How to get gpu working on debian proxmox host? #22044
|
I am running docker directly on the proxmox host(so not using a VM or LXC container), it got a intel 155u processor. also tagging @inkeep |
Replies: 9 comments 10 replies
|
\n\nBased on your Intel 155H processor (13th generation), you should be using OpenVINO for object detection with the ONNX detector type(1). Your Docker Compose configuration looks mostly correct, but here are the key steps to ensure GPU acceleration is working: Verify GPU AccessFirst, confirm the GPU is accessible inside the container: docker exec -it frigate ls -la /dev/driYou should see Check Intel GPU Stats ConfigurationTo enable Intel GPU statistics monitoring in Frigate, you need privileged mode OR the However, you may also need to check the cat /proc/sys/kernel/perf_event_paranoidIf it's set too high, GPU stats won't work properly with just Frigate ConfigurationYour Frigate detectors:
ov:
type: openvino
device: GPU
ffmpeg:
hwaccel_args: preset-vaapiDriver VerificationFor 13th gen Intel (your 155H), the recommended driver is Verify the driver inside the container: docker exec -it frigate vainfoThis should show Intel iHD driver information and supported profiles(2). Troubleshooting High Inference TimesIf inference time is above 200ms with GPU acceleration:
Additional Docker Compose ConsiderationYour compose file maps devices:
- /dev/dri:/dev/dri📚 Sources: Have another question? Just tag @inkeep. |
|
Verify GPU Access: Confirmed: as for paranoid mode: Frigate Configuration: Confirmed. i also tried changing from GPU to AUTO, without luck. Driver Verification: Confirmed, shows a big list. You said: EDIT: This is the start of my configuration file of frigate: EDIT: Did find a error that contains "detector" now. |
|
Based on your configuration and logs, I've identified several issues: Critical Configuration ProblemYour configuration is missing the required The error in your logs shows: This indicates the OpenVINO detector cannot find the model path(2). Fix Your ConfigurationSince you're using a Frigate+ model, your configuration should look like this(1): detectors:
ov_0:
type: openvino
device: GPU
ov_1:
type: openvino
device: GPU
ov_2:
type: openvino
device: GPU
ov_3:
type: openvino
device: GPU
model:
path: plus://*********Do not add The Fatal ErrorThe fatal error you're seeing (
Intel 155H Specific NotesYour Intel 155H (13th generation) includes an NPU, which has seen limited success in community deployments(4). The NPU performance is often comparable to or worse than the integrated GPU(4). Currently, NPUs remain officially unsupported(4). For your Intel 155H, stick with Recommended Steps
The fact that ** 📚 Sources:
Have another question? Just tag @inkeep. |
|
Your configuration looks correct for using a Frigate+ model with OpenVINO(1). The issue isn't with your config structure - you've properly set up the The Real ProblemThe fatal error you're experiencing ( Troubleshooting Steps1. Enable Debug Logging Uncomment your logger section to see what's happening during detector initialization(3): logger:
default: debug
logs:
frigate.object_detection: debug
detector.ov_0: debug2. Test with Single Detector First Your configuration has 4 OpenVINO detectors running simultaneously(1). Start with just one to isolate the issue: detectors:
ov_0:
type: openvino
device: GPU3. Try CPU Mode Temporarily Test if the issue is GPU-specific by temporarily switching to CPU mode(1): detectors:
ov_0:
type: openvino
device: CPUIf this works, it confirms a GPU driver or OpenVINO GPU plugin issue on your Proxmox host. 4. Verify Your Frigate+ Model Ensure your Frigate+ model ID is valid and the model has been properly generated. YOLOv9 models are recommended for Intel hardware with OpenVINO(4)(2). The model type should be automatically detected from your Frigate+ subscription(2). 5. Check Docker Device Permissions The error might be related to device access. Try mapping the entire devices:
- /dev/dri:/dev/dri6. Verify OpenVINO Installation Inside Container Run this inside your Frigate container to check if OpenVINO can see the GPU: docker exec -it frigate python3 -c "from openvino.runtime import Core; print(Core().available_devices)"You should see Expected PerformanceWith your Intel 155H (13th gen), you should see inference times around 15ms with small YOLOv9 models when properly configured(4). The fact you're seeing >200ms strongly indicates the GPU isn't being used for inference(4). Next Steps
The configuration structure itself is correct - the issue is with the runtime environment or GPU access on your Proxmox host. 📚 Sources: Have another question? Just tag @inkeep. |
|
Good news - OpenVINO is detecting and using your GPU correctly. The 52ms inference time with GPU is actually working, though it's higher than expected for your hardware(1). The Fatal Error SourceThe critical issue in your logs shows the crash is happening in the enrichments pipeline, not the object detector(2): This crash is occurring when face recognition models are being built, which is part of Frigate's enrichments system(2)(3). The enrichments (semantic search, face recognition, audio transcription) automatically use GPU acceleration when available(2). Why Inference Time is HighYour Intel 155U is a low-power mobile processor. While it has integrated graphics, the performance won't match the desktop/workstation Intel processors in the documentation benchmarks(1). The 52ms inference time, while higher than ideal, may be within normal range for this specific CPU's iGPU under load. However, there's a resource contention issue: You have multiple GPU-accelerated features running simultaneously:
All of these enrichments automatically use GPU acceleration in the default Frigate image(2). Recommended Actions1. Disable Face Recognition Temporarily Add to your config: face_recognition:
enabled: falseThis should eliminate the fatal crash since that's where the error occurs(3). 2. Test Enrichments on CPU While you can't configure enrichments to use CPU individually, you could test if the GPU contention is the issue by temporarily disabling semantic search and audio transcription: semantic_search:
enabled: false
audio_transcription:
enabled: false3. Monitor with These Log Filters Enable these specific debug logs to see what's happening: logger:
default: info
logs:
frigate.object_detection: debug
frigate.embeddings: debug
detector.ov_0: debugThen search logs for:
4. Consider Adding More Detectors If inference times remain high after fixing the crash, you may need multiple detectors. With many cameras, one detector may not keep up(4): detectors:
ov_0:
type: openvino
device: GPU
ov_1:
type: openvino
device: GPUExpected Performance RealityThe Intel N150 (similar low-power mobile processor) shows ~15ms for small models(1). Your 155U at 52ms suggests either:
The 52ms is functional but not optimal. Once you resolve the crash by disabling face recognition, monitor whether inference times improve with reduced GPU load. ** 📚 Sources: Have another question? Just tag @inkeep. |
|
how do i use the NPU on my intel 155u processor for frigate? @inkeep |
|
Intel NPUs are currently officially unsupported in Frigate(1). While OpenVINO can detect NPUs (as you saw with Current NPU StatusAccording to the documentation, Intel NPUs remain officially unsupported(1). In testing, the NPU delivered performance that was only comparable to — or in some cases worse than — the integrated GPU(1). Community ExperienceFrom community reports, users have attempted NPU usage but encountered significant challenges(2). One user reported getting NPU working after installing Intel Compute Runtime drivers inside the Frigate container, but found inference times around 20ms compared to 10ms on the Arc GPU(2). Technical BarriersThe main issue preventing NPU usage is that Frigate's container is missing the required If You Want to ExperimentWhile not officially supported, if you want to attempt NPU usage, you would need to:
detectors:
ov_0:
type: openvino
device: NPUHowever, be aware that this configuration is not officially supported and may not provide performance benefits over GPU mode(1). RecommendationFor your Intel 155U, continue using Sources: (3): Supported Hardware 📚 Sources:
Have another question? Just tag @inkeep. |
|
Based on the available documentation, I don't have specific information about NPU support changes in Frigate 0.17. The documentation I have access to indicates that Intel NPUs remain officially unsupported, with limited success in community deployments(1). However, since you're running To Use NPU in 0.17Based on NickM-27's guidance and the OpenVINO detector configuration, you would: 1. Ensure Host Drivers are Installed Install Intel NPU drivers on your Proxmox host from the Intel NPU driver releases(2). 2. Configure Frigate for NPU Set your detector device to detectors:
ov_0:
type: openvino
device: NPU3. Verify NPU Detection You've already confirmed OpenVINO can see the NPU: 4. Pass Through NPU Device You may need to add the NPU device to your Docker Compose file. Based on community experience, this might be devices:
- /dev/dri:/dev/dri
- /dev/accel/accel0:/dev/accel/accel0Expected PerformanceFrom community testing with similar Intel Core Ultra processors, NPU inference times were around 20ms(2). This may not be significantly better than your current GPU performance of 52ms, but it would offload the GPU for other tasks like enrichments(1). Try ItSince you're already on 0.17.0-rc1 and have the NPU drivers available, try changing your detector configuration to Sources: (3): Supported Hardware Have another question? Just tag @inkeep. 📚 Sources:
Have another question? Just tag @inkeep. |
|
thanks @NickM-27 and @hawkeye217, the npu works and im getting between 15 and 20ms inference time on the 4 detector instances i have! very epic! like with gpu it also makes sense to have more then 1 detector? |
thanks @NickM-27 and @hawkeye217, the npu works and im getting between 15 and 20ms inference time on the 4 detector instances i have! very epic! like with gpu it also makes sense to have more then 1 detector?
im very happy this works.