[BUG] VAAPI hardware encoding fails on Intel J4125 CPU (Synology DS920+)
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- docker, linux
- Domain
- audio-video-rtc, devops
Research direction
Start by reproducing the issue with the provided Synology Docker configuration and device mappings, then inspect the logs around Unified VAAPI Encoder and Parsed_scale_vaapi_1. Done means the J4125 initializes VAAPI H.264 hardware encoding successfully and the stream reports a hardware encoder instead of falling back to CPU.
Written by the indexing model from the issue text.
Description
Is there an existing issue for this?
- I have searched the existing issues
Current Behavior
VAAPI hardware encoding fails to initialize on an Intel J4125 (Synology DS920+) despite the GPU being detected correctly.
Selkies detects /dev/dri/renderD128 and begins initializing the VAAPI encoder, but fails with:
[Parsed_scale_vaapi_1] Failed to create processing pipeline config: 12 (the requested VAProfile is not supported).
[x11] Failed to init VAAPI: Failed to config filter graph. Falling back to CPU.
The stream then falls back to CPU encoding, resulting in approximately 10-20 FPS at 1920x1080 and making video playback (e.g. YouTube) unusably slow.
Additional troubleshooting performed: I confirmed that /dev/dri/renderD128 is accessible inside the container, the abc user is a member of the render/video group, iHD_drv_video.so is present, and LIBVA_DRIVER_NAME=iHD is set. Selkies successfully detects the Intel GPU before failing during VAAPI filter graph initialization.
Expected Behavior
The Intel Quick Sync GPU (Intel UHD 600 / J4125) should initialize successfully using VAAPI and hardware H.264 encoding instead of falling back to CPU encoding.
Steps To Reproduce
- Run on a Synology DS920+ (Intel Celeron J4125 / Intel UHD 600).
- Pass through:
/dev/dri/card0
/dev/dri/renderD128 - Start the latest linuxserver/firefox container.
- Connect to the browser.
- Observe the container log showing:
[x11] AUTO_GPU enabled. Selected: /dev/dri/renderD128
[x11] Initializing Unified VAAPI Encoder...
[Parsed_scale_vaapi_1] Failed to create processing pipeline config: 12 (the requested VAProfile is not supported).
[Parsed_scale_vaapi_1] Failed to configure output pad on Parsed_scale_vaapi_1
[x11] Failed to init VAAPI: Failed to config filter graph. Falling back to CPU.
The stream then reports:
[x11] Stream settings active -> Encoder: CPU
Environment
OS: Synology DSM 7.2.2-72806 Update 2
How docker service was installed:
Synology Container Manager (Docker)
CPU architecture:
x86_64
CPU:
Intel Celeron J4125
CPU architecture
x86-64
Docker creation
services:
firefox:
image: lscr.io/linuxserver/firefox:latest
container_name: firefox
security_opt:
- seccomp:unconfined
devices:
- /dev/dri/renderD128:/dev/dri/renderD128
- /dev/dri/card0:/dev/dri/card0
environment:
- PUID=1026
- PGID=100
- TZ=Australia/Melbourne
- HTTP_PROXY=http://localhost:8888
- HTTPS_PROXY=https://localhost:8888
- DRINODE=/dev/dri/renderD128
- DRI_NODE=/dev/dri/renderD128
- AUTO_GPU=true
- PIXELFLUX_WAYLAND=true
- LIBVA_DRIVER_NAME=iHD
- SELKIES_ENCODER=x264enc
volumes:
- /volume3/docker/firefox:/config
shm_size: "2gb"
network_mode: "container:gluetun"
restart: unless-stopped
Container logs
Relevant section of the log:
[x11] AUTO_GPU enabled. Selected: /dev/dri/renderD128
[x11] Initializing Unified VAAPI Encoder...
[h264_vaapi] Slice count rounded up due to driver constraints.
[Parsed_scale_vaapi_1] Failed to create processing pipeline config: 12 (the requested VAProfile is not supported).
[Parsed_scale_vaapi_1] Failed to configure output pad on Parsed_scale_vaapi_1
[x11] Failed to init VAAPI: Failed to config filter graph. Falling back to CPU.
[x11] Stream settings active -> Encoder: CPU
- Dominant language
- Dockerfile
- Stars
- 324
- Forks
- 59
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
sugarlabs/musicblocks#8847 ·
-
bug tech-debt
Difficulty 1/5 Under an hour Newbie friendliness 92/100
anchapin/planar-nexus#2052 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
QwenLM/Qwen-MM-Plugins#70 ·
-
area: tools priority: p3 status: needs review type: bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
use-agent-os/agent-os#3162 · 2 comments ·
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100
home-assistant/core#182762 · 1 comment ·