How-To

Configure Intel QuickSync for Frigate on Ugreen NASync

Ugreen Frigate QuickSync: pass /dev/dri into Docker on UGOS or Debian, set preset-intel-qsv-h264/h265, verify vainfo, and stop CPU decode spikes—May 2026.

Privacy Smart Home Research Desk May 24, 2026

Keywords: ugreen frigate, Intel QuickSync Frigate, Ugreen NASync QSV, /dev/dri Docker Frigate, preset-intel-qsv-h264, Alder Lake-N NVR decode

Ugreen Frigate setups on NASync stop choking the CPU when you pass the Alder Lake-N iGPU (/dev/dri) into the Frigate container and set Frigate’s Intel Quick Sync presets (preset-intel-qsv-h264 / preset-intel-qsv-h265). As of 24 May 2026, that is the standard fix for buyers who already run Frigate on UGOS Pro (Debian 12 underneath) or a self-installed Debian/Proxmox stack and see ffmpeg pegging four cores while the GPU sits idle.

Quick answer: How do you enable Intel QuickSync for Frigate on Ugreen NASync?

Map /dev/dri into the Frigate container, install Intel VA drivers on the UGOS or Debian host, set LIBVA_DRIVER_NAME=iHD for Alder Lake-N, and configure preset-intel-qsv-h264 or h265 in config.yml. Confirm with vainfo inside the container before adding cameras.

Source: Frigate — Video decoding


Executive summary

Intel Quick Sync Video (QSV) on Ugreen NASync is not a separate product feature—it is the render node your Frigate ffmpeg processes must see inside Docker. Most DXP boxes ship 12th Gen Intel N100/N305 (Alder Lake-N, gen12 in Frigate’s table); iDX models move to Core Ultra (gen13+). Both classes use the iHD driver and Frigate’s preset-intel-qsv-* family when configured correctly1.

This guide is decode-only: we do not re-litigate wiping UGOS for Proxmox (see build a local NVR on NASync) or Coral vs Hailo (accelerator benchmarks). We do publish a citable preset matrix (below) built from Frigate’s Intel acceleration table plus Ugreen CPU listings accessed 24 May 202623.

Verdict: Priya (DXP2800, four Reolink cams, UGOS Docker) should finish QSV in one evening—privileged compose + renderD128 + iHD. Omar (DXP4800 Plus, mixed H.264/H.265, Debian VM) should use per-input presets and never point detect at a 4K H.265 main stream. If vainfo fails after a UGOS update, fix drivers before buying a second Coral.


Methodology: how the QuickSync preset matrix was built

We matched seven NASync CPU SKUs listed on Ugreen product pages (May 2026) to Frigate’s Intel generation → preset table1:

  1. Intel ARK generation class — N100/N305 → gen12; Core i3-1315U → gen12–13; Core Ultra 7 255H → gen13+.
  2. Recommended Frigate preset — primary QSV preset per codec; VAAPI fallback when Frigate docs list preset-vaapi as equivalent for gen8–12.
  3. Docker device path — editorial default renderD128; verify on host (we have not bench-tested every board revision).
  4. Observed failure mode — aggregated from Frigate GitHub issues and Alder Lake-N homelab posts dated Jan–May 20264.

Where I’m less sure — UGOS App Center Docker may rewrite compose on upgrade; export your stack YAML to git before touching drivers.

Anecdotally, forcing i965 on Alder Lake-N produces the classic “GPU present, 0% video engine” Frigate log pattern; iHD fixes it on N100 mini-PCs and applies to NASync silicon in the same class4.


Original research: NASync CPU × Frigate QuickSync preset matrix (May 2026)

NASync model (2026)CPUIntel gen (Frigate)H.264 detect substreamH.265 main recordVA fallbackLIBVA_DRIVER_NAMENotes
DXP2800N100gen12preset-intel-qsv-h264preset-intel-qsv-h265preset-vaapiiHD4-core; plan ≤6×1080p QSV
DXP4800N100 / i3-N305gen12preset-intel-qsv-h264preset-intel-qsv-h265preset-vaapiiHDN305 adds threads for ffmpeg
DXP4800 PlusN305gen12preset-intel-qsv-h264preset-intel-qsv-h265preset-vaapiiHD10 GbE helps RTSP ingest
DXP6800 ProCore i5 mobilegen12–13preset-intel-qsv-h264preset-intel-qsv-h265preset-vaapiiHDHigher TDP; more parallel decodes
DXP4800 Proi3-1315Ugen13preset-intel-qsv-h264preset-intel-qsv-h265optional VAAPIiHD6C/8T; 10 GbE + 2.5 GbE
iDX6011 ProCore Ultra 7 255Hgen13+preset-intel-qsv-h264preset-intel-qsv-h265rarely needediHD / XeAI SKU; verify render node after OOTB
DH2300 (ARM)Rockchipn/aCPU decode onlyCPU / rkmppnot IntelNo QuickSync — pick DXP

Privacy angle: Hardware decode keeps RTSP processing on your LAN; it does not stop a camera from phoning vendor clouds. Pair QSV with IoT VLAN egress blocking regardless of decode path.

Stat: Frigate lists gen8–gen12 Intel iGPUs with preset-intel-qsv-h264 and preset-intel-qsv-h265 when the iHD stack is active—the class used by most NASync DXP Intel SKUs.

— Frigate video decoding documentation, accessed 24 May 2026

Dataset (JSON-LD)


Before you touch Frigate: confirm the GPU exists on UGOS or Debian

Quick Sync Video (QSV) is Intel’s hardware decoder block inside the UHD Graphics iGPU. Frigate does not “enable QSV” in the Ugreen GUI—you prove the DRM render node exists, install VA-API drivers on the host, then pass the device into the container1.

On the NASync host (SSH), run:

ls -l /dev/dri/
# Expect card0 + renderD128 (numbers may differ)

sudo apt-get update
sudo apt-get install -y intel-media-va-driver-non-free vainfo

vainfo --display drm --device /dev/dri/renderD128

Pass criteria (24 May 2026 Frigate docs alignment): vainfo lists H264 and H265 decode profiles. If you see Driver not found or only MPEG2, the non-free driver pack did not install, or the wrong LIBVA_DRIVER_NAME is set.

UGOS note: App Center Docker often runs on the same Debian userland; if apt is blocked, use UGOS’s SSH + root documentation for your firmware version or install drivers on a Debian LXC under Proxmox instead. Community teardowns describe UGOS Pro as Debian 12-based through 2025–20265.

UGOS Docker + QSV — pros
  • No OS wipe; fastest path for ugreen frigate buyers.
  • Vendor RAID UI still manages spinning disks.
  • Rollback = remove container + keep volumes.
UGOS Docker + QSV — cons
  • Firmware updates may reset Docker project files.
  • Opaque host package sets vs bare Debian.
  • Harder to snapshot than Proxmox LXC.
Debian/Proxmox LXC + QSV — pros
  • Reproducible apt driver pinning.
  • Snapshot before kernel bumps.
  • Standard community Frigate compose examples6.
Debian/Proxmox LXC — cons
  • LXC must be privileged or carefully device-mapped.
  • Watchdog/BIOS issues when replacing UGOS entirely5.

Steel-man: skip QuickSync and decode on CPU

The best argument against wrestling QSV on a NAS is time and fragility: Frigate’s CPU decode path works for two to three 1080p substreams if you cap detect resolution and use aggressive motion masks. Docker device passthrough breaks across UGOS upgrades, and forum threads are full of renderD128 permission denied reports when users refuse privileged: true. If you only record continuous H.264 substreams at 720p, an N100 can survive at ~40–60% CPU without touching /dev/dri—ugly, but stable.

Rebuttal: That CPU budget collides with object detection. Google Coral inference needs headroom; when ffmpeg consumes three cores per camera on six streams, you get frame skips and missed person events—the exact failure mode that drives buyers to cloud NVRs. QSV costs one afternoon; it does not replace Coral, but it returns two to three CPU cores for MQTT, Home Assistant, and retention I/O. On Alder Lake-N, iHD + QSV presets is the documented path; staying on CPU is a temporary lab config, not a six-camera production plan17.


Step 1 — Docker Compose: pass /dev/dri on UGOS

Working example: Priya, DXP2800, four cameras, UGOS 1.13+

Priya keeps UGOS and deploys Frigate via Docker Compose in /volume1/docker/frigate/. She maps only the render node (not the whole /dev/dri tree) plus USB for Coral.

services:
  frigate:
    image: ghcr.io/blakeblackshear/frigate:stable
    container_name: frigate
    privileged: true
    shm_size: "256mb"
    environment:
      - LIBVA_DRIVER_NAME=iHD
    devices:
      - /dev/dri/renderD128:/dev/dri/renderD128
      - /dev/bus/usb:/dev/bus/usb
    volumes:
      - /volume1/frigate/config:/config
      - /volume1/frigate/storage:/media/frigate
      - type: tmpfs
        target: /tmp/cache
        tmpfs:
          size: 1000000000
    ports:
      - "5000:5000"
      - "8554:8554"
      - "8555:8555/tcp"
      - "8555:8555/udp"
    restart: unless-stopped

If your host shows renderD129 instead of renderD128, change both sides of the mapping—Frigate only cares that inside the container vainfo succeeds.

Verify inside the container:

docker exec -it frigate vainfo --display drm --device /dev/dri/renderD128
docker logs frigate 2>&1 | grep -i hwaccel

Frigate should log that hardware acceleration was detected or list the chosen preset without “No hardware acceleration” warnings1.


Step 2 — config.yml: global and per-camera QuickSync presets

Frigate separates decode (ffmpeg/QSV) from detect (Coral/Hailo/CPU). Typical ugreen frigate pattern:

  • Detect role → 720p H.264 substreampreset-intel-qsv-h264
  • Record role → 4K/H.265 mainpreset-intel-qsv-h265
mqtt:
  host: 192.168.30.10

detectors:
  coral:
    type: edgetpu
    device: usb

ffmpeg:
  hwaccel_args: preset-intel-qsv-h264

cameras:
  porch:
    ffmpeg:
      inputs:
        - path: rtsp://192.168.30.101/h264Preview_01_sub
          roles:
            - detect
        - path: rtsp://192.168.30.101/h264Preview_01_main
          roles:
            - record
          hwaccel_args: preset-intel-qsv-h265
    detect:
      width: 1280
      height: 720
      fps: 5

Mixed-codec note: When substream is H.264 and main is H.265, per-input hwaccel_args avoids applying the wrong preset globally—a common source of “QSV enabled but ffmpeg errors” on Reolink and Annke cameras (RTSP vs ONVIF).


Step 3 — Proxmox LXC bind-mount (when UGOS is already gone)

Working example: Omar, DXP4800 Plus, eight cameras, Proxmox 8.4

Omar runs Frigate in privileged LXC 201. On the Proxmox host:

ls -l /dev/dri/

Add to /etc/pve/lxc/201.conf:

lxc.cgroup2.devices.allow: c 226:0 rwm
lxc.cgroup2.devices.allow: c 226:128 rwm
lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file

Inside the LXC, install Docker and reuse the same compose as Priya. Recordings live on a ZFS dataset on HDDs—never on the 128 GB OS SSD shipped on Pro-class models8.


Troubleshooting matrix (symptom → fix)

SymptomLikely causeFix
CPU high, GPU idleNo /dev/dri in containerAdd devices: mapping; privileged: true on UGOS
vainfo fails in containerDriver only on hostInstall intel-media-va-driver-non-free on host; reboot
H.265 main stream errorsH.264 preset on H.265preset-intel-qsv-h265 on that input
Alder Lake-N, “unknown driver”i965 forcedLIBVA_DRIVER_NAME=iHD in compose4
Worked until UGOS updateCompose resetRe-apply device map; re-run vainfo
Logs say hwaccel, still slowDetect on 4K mainMove detect to substream only
renderD128 missingiGPU disabled in BIOSEnable internal graphics in BIOS/setup

Checklist

  • Confirm Intel DXP/iDX (not ARM DH2300) before investing time in QSV.
  • Install intel-media-va-driver-non-free on the Docker host.
  • Map /dev/dri/renderD* into Frigate; set LIBVA_DRIVER_NAME=iHD on N100/N305.
  • Use substream H.264 for detect; apply h265 preset only to H.265 inputs.
  • docker exec frigate vainfo — must list H264/H265 decode.
  • Keep Coral USB for four-plus cameras; QSV is not a detector.
  • Re-verify after every UGOS or kernel update.

Decision flow: which preset path?

Start: Frigate on NASync, high CPU

  ├─ ls /dev/dri empty?
  │     └─ YES → Fix host drivers / BIOS iGPU → STOP

  ├─ vainfo fails in container?
  │     └─ YES → Fix device map + LIBVA_DRIVER_NAME=iHD

  ├─ All streams H.264?
  │     └─ YES → preset-intel-qsv-h264 globally

  ├─ Mixed H.264 sub + H.265 main?
  │     └─ YES → per-input h264 / h265 presets

  ├─ Still errors on H.265?
  │     └─ TRY → preset-vaapi fallback (gen12)

  └─ CPU still high?
        └─ Check detect resolution; add Coral; see accelerator guide

QSV vs VAAPI vs CPU on NASync (when to switch)

PathFrigate presetBest on NASyncTrade-off
Intel QSVpreset-intel-qsv-h264 / h265DXP N100/N305, Core Ultra iDXCodec-specific; fastest on gen12+
VAAPIpreset-vaapiSame hosts, mixed codecsAuto profile; slightly less predictable in logs
CPU(none)1–2 cameras, lab onlySimple; burns cores under motion
Rockchip MPPpreset-rkmppDH2300 onlyNot Intel—different silicon

Taken position: On Intel NASync, default to QSV presets per Frigate’s gen12 row1. Use VAAPI only after a documented codec mismatch on your exact camera firmware—not as the first move.


Telemetry: intel_gpu_top and Frigate stats

Frigate can surface Intel GPU stats when the container has CAP_PERFMON or runs privileged1. On UGOS, privileged: true is the pragmatic choice for homelab NVRs isolated on a camera VLAN.

For SR-IOV or passthrough edge cases, Frigate documents telemetry.stats.intel_gpu_device overrides—rare on stock NASync, but listed for completeness1.


What QuickSync does not solve

Hardware decode does not:

  • Run object detection (still Coral/Hailo/CPU).
  • Stop cameras from cloud upload if WAN is open.
  • Replace 10 GbE planning when you ingest eight 4K mains.
  • Fix bad RTSP URLs or proprietary APIs—see ONVIF vs RTSP.

Budget $60–80 for Coral USB (street price 24 May 2026) when you exceed four 1080p detect streams at 5 fps—detailed in our Hailo vs Coral matrix.

Step-by-step diagram for configuring Intel Quick Sync Video hardware decode on Ugreen NASync with Frigate Docker, showing /dev/dri render node passthrough, preset-intel-qsv-h264 and h265 presets, and local privacy-focused NVR object detection without cloud video upload on Alder Lake-N Intel N100 class hardware.
QuickSync lowers ffmpeg CPU; Coral or Hailo still handles person/vehicle detection locally.

Verdict

For ugreen frigate owners in May 2026, Intel QuickSync on NASync is the difference between a sustainable local NVR and a CPU-bound box that drops frames whenever two cameras see rain. Map /dev/dri, install intel-media-va-driver-non-free, force iHD on Alder Lake-N, and match H.264 vs H.265 presets to your substream and main streams.

Priya should stay on UGOS Docker and re-run vainfo after every firmware update. Omar on Proxmox should bind-mount the render node and keep recordings off the OS disk. Neither should expect QSV to replace Coral—pair them, then harden VLAN egress so your locally decoded video stays local.


FAQ

Frequently Asked Questions

Does Ugreen NASync support Intel Quick Sync for Frigate?

Intel DXP and iDX models do when /dev/dri is passed through and iHD drivers are installed. ARM DH2300 does not use Intel QSV.

Why is Frigate still using 100% CPU after hwaccel_args?

Usually missing /dev/dri, wrong LIBVA driver, or H.265 streams using the H.264 preset. Verify with vainfo inside the container.

Should I use preset-vaapi or preset-intel-qsv on NASync N100?

Start with preset-intel-qsv-h264 for H.264 substreams and preset-intel-qsv-h265 for H.265 mains on gen12 Alder Lake-N.

Do I need privileged mode for QuickSync in Docker?

On UGOS, privileged: true plus explicit device mapping is the common working pattern. CAP_PERFMON is mainly for GPU stats.

Can QuickSync replace a Coral TPU?

No. QSV accelerates decode only. Use Coral or Hailo for detection at scale.

What changes after a UGOS firmware update?

Re-check Docker device maps, driver packages, and Frigate logs for hardware acceleration detection.


Primary sources

#SourceURL
1Frigate — Video decoding (Intel QSV)https://docs.frigate.video/configuration/hardware_acceleration_video/
2Frigate — Advanced (environment vars)https://docs.frigate.video/configuration/advanced
3Ugreen — NASync DXP2800 specificationshttps://nas-eu.ugreen.com/en-it/products/ugreen-nasync-dxp2800-nas-storage
4Roger Frost — Alder Lake-N iHD + Frigate Dockerhttps://www.rogerfrost.com/alder-lake-n-gpu-proxmox-docker-frigate/
5ID 10 T — Ugreen NASync DXP architecture (Debian/UGOS)https://id10t.online/2025/12/23/cybersecurity-architecture-and-threat-landscape-analysis-ugreen-nasync-dxp-series-and-the-emerging-open-nas-ecosystem/
6RiceMunk — Frigate Proxmox LXC scripthttps://github.com/RiceMunk/frigate-proxmox-script
7Privacy Smart Home — Build local NVR on NASync/guides/build-local-nvr-ugreen-nasync-frigate-2026/
8Cubed3 — DXP4800 Pro hardware reviewhttps://www.cubed3.com/tech/reviews/accessories/ugreen-nasync-dxp4800-pro

Footnotes

  1. Frigate — Intel-based CPUs / QuickSync presets, accessed 24 May 2026. https://docs.frigate.video/configuration/hardware_acceleration_video/ 2 3 4 5 6 7 8

  2. Ugreen NASync DXP2800 product specifications (Intel N100, UHD Graphics), accessed 24 May 2026. https://nas-eu.ugreen.com/en-it/products/ugreen-nasync-dxp2800-nas-storage

  3. Cubed3 — Ugreen NASync DXP4800 Pro review (Core i3-1315U specs), 2026. https://www.cubed3.com/tech/reviews/accessories/ugreen-nasync-dxp4800-pro

  4. Roger Frost — Alder Lake-N GPU Proxmox Docker Frigate (iHD driver), Jan 2026. https://www.rogerfrost.com/alder-lake-n-gpu-proxmox-docker-frigate/ 2 3

  5. ID 10 T — UGREEN NASync DXP series analysis, Dec 2025. https://id10t.online/2025/12/23/cybersecurity-architecture-and-threat-landscape-analysis-ugreen-nasync-dxp-series-and-the-emerging-open-nas-ecosystem/ 2

  6. RiceMunk/frigate-proxmox-script — Proxmox LXC Frigate automation. https://github.com/RiceMunk/frigate-proxmox-script

  7. Privacy Smart Home — Hailo-8 vs Google Coral Frigate benchmarks. /guides/hailo-8-vs-google-coral-frigate-benchmarks-2026/

  8. Privacy Smart Home — Build local NVR on Ugreen NASync. /guides/build-local-nvr-ugreen-nasync-frigate-2026/