Two GPUs, one passed through in container, using preset-intel-qsv-h264 throws error #20589
-
Describe the problem you are havingHi, I'm running Frigate 0.16.2 bare metal Docker on my Debian 13.1 system. The system has two GPUs, one in my Ryzen 5600g, and a separate Intel Arc A310. The later one I've passed through to the container as: As per: because the PCI device ID path of my Intel Arc is 03:00.0. When switching from That could be correct, because renderD129 (although not passed through to the container) is my AMD processors GPU, but I'm not using it in the config. It looks like issue #5404 It's like Version0.16.2 Frigate config filedetectors:
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://xxxx #yolov9s 320
# path: plus://xxxx #yolov9t 320
semantic_search:
enabled: true
model: jinav2
model_size: large
detect:
enabled: true
logger:
default: "info"
lpr:
enabled: false
format:
^(\w{2}-\d{2}-\d{2})|(\d{2}-\d{2}-\w{2})|(\d{2}-\w{2}-\d{2})|(\w{2}-\d{2}-\w{2})|(\w{2}-\w{2}-\d{2})|(\d{2}-\w{2}-\w{2})|(\d{2}-\w{3}-\d{1})|(\d{1}-\w{3}-\d{2})|(\w{2}-\d{3}-\w{1})|(\w{1}-\d{3}-\w{2})|(\w{3}-\d{2}-\w{1})|(\d{1}-\w{2}-\d{3})$
device: GPU
face_recognition:
enabled: true
model_size: large
mqtt:
host: x
port: 1883
topic_prefix: frigate
client_id: frigate
user: frigate
password: frigate
stats_interval: 60
record:
preview:
quality: very_high
sync_recordings: false
enabled: true
retain:
days: 7
mode: all
alerts:
retain:
days: 7
mode: all
pre_capture: 10
post_capture: 10
detections:
retain:
days: 7
mode: all
pre_capture: 10
post_capture: 10
objects:
track:
- person
- car
- truck
- bicycle
- motorcycle
- cat
- dog
- dpd
- postnl
- gls
- sports ball
- backpack
- bus
- suitcase
- handbag
- horse
- skateboard
- waste_bin
- license_plate
- face
audio:
enabled: true
listen:
- children_playing
- cat
- bird
- dog
- dogs
- footsteps
- clapping
- bark
- scream
- speech
- yell
- whispering
- laughter
- honk
- fireworks
- firecracker
- music
- gasp
- pant
- snort
- cough
- throat_clearing
- sneeze
- sniff
- run
- chatter
- reversing_beeps
- bus
- emergency_vehicle
- police_car
- ambulance
- fire_engine
- motorcycle
- aircraft
- aircraft_engine
- jet_engine
- propeller
- helicopter
- fixed-wing_aircraft
- bicycle
- skateboard
- engine
- light_engine
- lawn_mower
- chainsaw
- medium_engine
- heavy_engine
- engine_knocking
- engine_starting
- idling
- accelerating
- door
ffmpeg:
global_args: -hide_banner -loglevel warning # -threads 2
hwaccel_args: preset-intel-qsv-h264
#hwaccel_args: preset-vaapi
#hwaccel_args: -r {0} -vf fps={0},scale_vaapi=w={1}:h={2},hwdownload,format=yuv420p
#input_args: preset-rtsp-restream
output_args:
detect: -f rawvideo -pix_fmt yuv420p # -threads 2
record: preset-record-ubiquiti
cameras:
g5b_zijgevel:
mqtt:
timestamp: false
bounding_box: false
crop: true
ffmpeg:
inputs:
- path: rtsp://x:8554/g5b_zijgevel_high
roles:
- record
- path: rtsp://x:8554/g5b_zijgevel_mid
roles:
- audio
- detect
snapshots:
enabled: true
timestamp: false
bounding_box: true
retain:
default: 7
detect:
fps: 5
motion:
mask:
- 0.778,0.009,0.767,0.291,0.831,0.31,0.838,0.005
- 0.535,0.002,0.523,0.292,0.627,0.289,0.629,-0.002
- 0,0.317,0.094,0.296,0.138,0.797,0,0.821
- 0,0.082,0.125,0.077,0,0.285
g5t_voortuin:
mqtt:
timestamp: false
bounding_box: false
crop: true
ffmpeg:
inputs:
- path: rtsp://x:8554/g5t_voortuin_high
roles:
- record
- path: rtsp://x:8554/g5t_voortuin_mid
roles:
- audio
- detect
snapshots:
enabled: true
timestamp: false
bounding_box: true
retain:
default: 7
detect:
fps: 5
motion:
mask:
- -0.001,0.587,0.129,0.335,0.177,0.002,0,0
- 0.783,0,0.771,0.123,0.304,0.093,0.299,0.002
- 0.421,0.256,0.539,0.25,0.54,0.077,0.422,0.074
- 0.253,0.123,0.395,0.099,0.39,0.45,0.302,0.518,0.253,0.359
g5f_ne:
mqtt:
timestamp: false
bounding_box: false
crop: true
audio:
enabled: false
ffmpeg:
inputs:
- path: rtsp://x:8554/g5f_ne_high
roles:
- record
- path: rtsp://x:8554/g5f_ne_mid
roles:
- detect
snapshots:
enabled: true
timestamp: false
bounding_box: true
retain:
default: 7
detect:
fps: 5
g5f_se:
mqtt:
timestamp: false
bounding_box: false
crop: true
audio:
enabled: false
ffmpeg:
inputs:
- path: rtsp://x:8554/g5f_se_high
roles:
- record
- path: rtsp://x:8554/g5f_se_mid
roles:
- detect
snapshots:
enabled: true
timestamp: false
bounding_box: true
retain:
default: 7
detect:
fps: 5
motion:
mask:
0.22,0.382,0.36,0.205,0.616,0.264,0.676,0.426,0.69,0.667,0.577,1,0.244,0.998,0.218,0.813,0.167,0.699,0.165,0.49
g4_deurbel:
mqtt:
timestamp: false
bounding_box: false
crop: true
ffmpeg:
inputs:
- path: rtsp://x:8554/g4_deurbel_high
roles:
- record
- path: rtsp://x:8554/g4_deurbel_mid
roles:
- audio
- detect
audio:
min_volume: 200
snapshots:
enabled: true
timestamp: false
bounding_box: true
retain:
default: 7
detect:
fps: 5
motion:
mask:
- 0.164,0.232,0.173,0.391,0.349,0.509,0.39,0.401,0.398,0.277,0.311,0.2
- 0.506,0.227,0.63,0.172,0.713,0.244,0.779,0.468,0.708,0.552,0.579,0.532,0.515,0.504,0.484,0.336
g3b_poort:
mqtt:
timestamp: false
bounding_box: false
crop: true
ffmpeg:
inputs:
- path: rtsp://x:8554/g3b_poort_high
roles:
- record
- path: rtsp://x:8554/g3b_poort_mid
roles:
- audio
- detect
snapshots:
enabled: true
timestamp: false
bounding_box: true
retain:
default: 7
detect:
fps: 5
g5b_achtertuin:
mqtt:
timestamp: false
bounding_box: false
crop: true
ffmpeg:
inputs:
- path: rtsp://x:8554/g5b_achtertuin_high
roles:
- record
- path: rtsp://x:8554/g5b_achtertuin_mid
roles:
- audio
- detect
snapshots:
enabled: true
timestamp: false
bounding_box: true
retain:
default: 7
detect:
fps: 5
g3f_achtergevel:
mqtt:
timestamp: false
bounding_box: false
crop: true
ffmpeg:
inputs:
- path: rtsp://x:8554/g3f_achtergevel_high
roles:
- record
- path: rtsp://x:8554/g3f_achtergevel_mid
roles:
- audio
- detect
snapshots:
enabled: true
timestamp: false
bounding_box: true
retain:
default: 7
detect:
fps: 5
g3b_schuur:
mqtt:
timestamp: false
bounding_box: false
crop: true
ffmpeg:
inputs:
- path: rtsp://x:8554/g3b_schuur_high
roles:
- record
- path: rtsp://x:8554/g3b_schuur_mid
roles:
- audio
- detect
snapshots:
enabled: true
timestamp: false
bounding_box: true
retain:
default: 7
detect:
fps: 5
g5t_overkapping:
mqtt:
timestamp: false
bounding_box: false
crop: true
ffmpeg:
inputs:
- path: rtsp://x:8554/g5t_overkapping_high
roles:
- record
- path: rtsp://x:8554/g5t_overkapping_mid
roles:
- audio
- detect
snapshots:
enabled: true
timestamp: false
bounding_box: true
retain:
default: 7
detect:
fps: 5
motion:
mask:
0.687,0.002,0.691,0.061,0.789,0.086,0.777,0.357,0.827,0.469,0.907,0.574,1,0.305,1,0.137,0.88,0.093,0.867,-0.002
g3i_garage:
mqtt:
timestamp: false
bounding_box: false
crop: true
ffmpeg:
inputs:
- path: rtsp://x:8554/g3i_garage_high
roles:
- record
- path: rtsp://x:8554/g3i_garage_mid
roles:
- audio
- detect
snapshots:
enabled: true
timestamp: false
bounding_box: true
retain:
default: 7
detect:
fps: 5
motion:
mask:
- 0.523,0.303,0.525,0.448,0.681,0.455,0.69,0.315
- 0.629,0.532,0.627,0.734,0.807,0.758,0.811,0.59,0.719,0.538,0.671,0.485
- 0.293,0.676,0.317,0.781,0.397,0.785,0.405,0.665,0.347,0.644
ui:
time_format: 24hour
date_style: short
strftime_fmt: '%d/%m/%Y %H:%M'
timezone: Europe/Amsterdam
go2rtc:
streams:
g5t_overkapping_high:
- rtspx://x:7441/vpqgO7x3SVVPvnWj
- "ffmpeg:#video=h264#hardware"
g5t_overkapping_mid:
- rtspx://x:7441/2uSjzVfO20MLPEGf
- "ffmpeg:#video=h264#hardware"
g5t_overkapping_low:
- rtspx://x:7441/LhmnSBBtJQ4quWAK
- "ffmpeg:#video=h264#hardware"
g5t_voortuin_high:
- rtspx://x:7441/iri3GhfN6tsk10Xr
- "ffmpeg:#video=h264#hardware"
g5t_voortuin_mid:
- rtspx://x:7441/g34h6qPIEYUlNOYF
- "ffmpeg:#video=h264#hardware"
g5t_voortuin_low:
- rtspx://x:7441/O7HeZzSol8tlwUd3
- "ffmpeg:#video=h264#hardware"
g5f_ne_high:
- rtspx://x:7441/njH7AbwVGzF6HCB6
- "ffmpeg:#video=h264#hardware"
g5f_ne_mid:
- rtspx://x:7441/bOdiUerZBUZbSjgF
- "ffmpeg:#video=h264#hardware"
g5f_ne_low:
- rtspx://x:7441/0yJEvUNigPWptpDj
- "ffmpeg:#video=h264#hardware"
g5f_se_high:
- rtspx://x:7441/FLJI7Pc51t9D8tuc
- "ffmpeg:#video=h264#hardware"
g5f_se_mid:
- rtspx://x:7441/eNlWeA4Bg8PXAsZV
- "ffmpeg:#video=h264#hardware"
g5f_se_low:
- rtspx://x:7441/UrKly0LZ2YcWLolS
- "ffmpeg:#video=h264#hardware"
g5b_achtertuin_high:
- rtspx://x:7441/xK4fHHBE80bhxfRo
- "ffmpeg:#video=h264#hardware"
g5b_achtertuin_mid:
- rtspx://x:7441/EjLlBeq6I1DdXJjj
- "ffmpeg:#video=h264#hardware"
g5b_achtertuin_low:
- rtspx://x:7441/4l268GYZ0KeAPl8Q
- "ffmpeg:#video=h264#hardware"
g4_deurbel_high:
- rtspx://x:7441/RUBnovY09WgkZrby
- "ffmpeg:#video=h264#hardware"
g4_deurbel_mid:
- rtspx://x:7441/6Iyf4aCdcNQ2Y2Vn
- "ffmpeg:#video=h264#hardware"
g4_deurbel_low:
- rtspx://x:7441/ejl9sm7EU8Nynzuv
- "ffmpeg:#video=h264#hardware"
g5b_zijgevel_high:
- rtspx://x:7441/KyzLR7nd1gyAxWpy
- "ffmpeg:#video=h264#hardware"
g5b_zijgevel_mid:
- rtspx://x:7441/HDJEEMZybNSbHOZP
- "ffmpeg:#video=h264#hardware"
g5b_zijgevel_low:
- rtspx://x:7441/K0PO4uYETGAK6LNz
- "ffmpeg:#video=h264#hardware"
g3i_garage_high:
- rtspx://x:7441/dDRVP5jfwnqB32lg
- "ffmpeg:#video=h264#hardware"
g3i_garage_mid:
- rtspx://x:7441/kt66X3LjyT9xjENs
- "ffmpeg:#video=h264#hardware"
g3i_garage_low:
- rtspx://x:7441/iuDbxh3A8doPSG3l
- "ffmpeg:#video=h264#hardware"
g3b_schuur_high:
- rtspx://x:7441/diY1lDqDRL6ylOfb
- "ffmpeg:#video=h264#hardware"
g3b_schuur_mid:
- rtspx://x:7441/NWhGHKAqQj47KBMM
- "ffmpeg:#video=h264#hardware"
g3b_schuur_low:
- rtspx://x:7441/f5o1WTmzi9xzW19K
- "ffmpeg:#video=h264#hardware"
g3b_poort_high:
- rtspx://x:7441/ST2z8Pcawun23aXG
- "ffmpeg:#video=h264#hardware"
g3b_poort_mid:
- rtspx://x:7441/5gPrqMnbB4gZxKpy
- "ffmpeg:#video=h264#hardware"
g3b_poort_low:
- rtspx://x:7441/LR8SujSz2cDh12Nv
- "ffmpeg:#video=h264#hardware"
g4i_woonkamer_high:
- rtspx://x:7441/2V7zZczoSGGcR9gN
- "ffmpeg:#video=h264#hardware"
g4i_woonkamer_mid:
- rtspx://x:7441/agfCK670FrQyJWaY
- "ffmpeg:#video=h264#hardware"
g4i_woonkamer_low:
- rtspx://x:7441/HKrXgee8jpm2iR7V
- "ffmpeg:#video=h264#hardware"
g3f_achtergevel_high:
- rtspx://x:7441/WWFenj03rAEUkcSo
- "ffmpeg:#video=h264#hardware"
g3f_achtergevel_mid:
- rtspx://x:7441/AW3n8mXf2SemTH2c
- "ffmpeg:#video=h264#hardware"
g3f_achtergevel_low:
- rtspx://x:7441/QwPEwEzk0b18SwAW
- "ffmpeg:#video=h264#hardware"
telemetry:
stats:
intel_gpu_device: "drm:/dev/dri/card1"
version: 0.16-0
classification:
bird:
enabled: trueRelevant Frigate log output2025-10-20 19:26:55.969526124 [2025-10-20 19:26:55] frigate.video ERROR : g5t_overkapping: Unable to read frames from ffmpeg process.
2025-10-20 19:26:55.969651150 [2025-10-20 19:26:55] frigate.video ERROR : g5t_overkapping: ffmpeg process is not running. exiting capture thread...
2025-10-20 19:26:55.973363281 [2025-10-20 19:26:55] watchdog.g3i_garage ERROR : Ffmpeg process crashed unexpectedly for g3i_garage.
2025-10-20 19:26:55.973530917 [2025-10-20 19:26:55] watchdog.g3i_garage ERROR : The following ffmpeg logs include the last 100 lines prior to exit.
2025-10-20 19:26:55.973664860 [2025-10-20 19:26:55] ffmpeg.g3i_garage.detect ERROR : DRM_IOCTL_VERSION, unsupported drm device by media driver: amdg
2025-10-20 19:26:55.973794325 [2025-10-20 19:26:55] ffmpeg.g3i_garage.detect ERROR : DRM_IOCTL_VERSION, unsupported drm device by media driver: amdg
2025-10-20 19:26:55.973912288 [2025-10-20 19:26:55] ffmpeg.g3i_garage.detect ERROR : [AVHWDeviceContext @ 0x5bed34f9d380] libva: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed
2025-10-20 19:26:55.974025992 [2025-10-20 19:26:55] ffmpeg.g3i_garage.detect ERROR : [AVHWDeviceContext @ 0x5bed34f9d380] Failed to initialise VAAPI connection: 18 (invalid parameter).
2025-10-20 19:26:55.974118427 [2025-10-20 19:26:55] ffmpeg.g3i_garage.detect ERROR : Device creation failed: -5.
2025-10-20 19:26:55.974213156 [2025-10-20 19:26:55] ffmpeg.g3i_garage.detect ERROR : Failed to set value '/dev/dri/renderD129' for option 'qsv_device': Input/output errorRelevant go2rtc log output-Frigate statsNo response Operating systemDebian Install methodDocker CLI docker-compose file or Docker CLI commanddocker run -d --name frigate --restart=unless-stopped --privileged --shm-size=1280m -v /mnt/4TB/frigate/media:/media/frigate -v /mnt/4TB/frigate/config:/config -v /etc/localtime:/etc/localtime:ro -p 5000:5000 -p 8554:8554 -p 8555:8555/tcp -p 8555:8555/udp --cap-add=cap_perfmon --tmpfs /tmp/cache:size=2g --device=/dev/dri/renderD128:/dev/dri/renderD128 --env PLUS_API_KEY=xxxxxxxxxxxxxxxx ghcr.io/blakeblackshear/frigate:0.16.2Object DetectorOpenVino Screenshots of the Frigate UI's System metrics pagesNo response Any other information that may be helpfulNo response |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 5 replies
-
|
The error you're encountering is because the For Intel-based hardware acceleration with QSV, you need to specify which GPU device to use when you have multiple GPUs in your system (1). The preset assumes the default Intel GPU device, but in your multi-GPU setup, you need to explicitly tell it to use your Intel Arc card. You can resolve this by using the VAAPI preset instead, which should work correctly with your Intel Arc A310: ffmpeg:
hwaccel_args: preset-vaapiAlternatively, you can set the environment:
- LIBVA_DRIVER_NAME=iHDIn your Docker command, you would add: --env LIBVA_DRIVER_NAME=iHDSince you're using an Intel Arc GPU, the documentation recommends using You might also want to verify that your Intel Arc card is properly accessible within the container by checking if both 📚 Sources: Have another question? Just tag @inkeep. |
Beta Was this translation helpful? Give feedback.
-
|
I can't wrap my head around why Frigate tries to use |
Beta Was this translation helpful? Give feedback.

Running in Privileged Mode gives your container access to everything, including everything in
/dev.