Repository navigation
[BUG] VAAPI hardware encoding fails on Intel J4125 CPU (Synology DS920+) #94
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 J4125CPU 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-stoppedContainer 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: CPUMetadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsIssues
Activity
github-actions commentedon Jul 31, 2026
Thanks for opening your first issue here! Be sure to follow the relevant issue templates, or risk having this issue marked as invalid.
aptalca commentedon Jul 31, 2026
Map the device as
/dev/drias listed in the readme. If it still doesn't work, post a full container log including the ascii logo.thelamer commentedon Jul 31, 2026
https://github.com/linuxserver/docker-documentation/blob/selkies-docs/docs/selkies/user-guide/gpu.md#intel-and-amd-open-source-drivers
Always start with a minimal command
GiJOr33 commentedon Jul 31, 2026
Thanks for the reply. I've removed all the config from the yaml file, so it's just the minimum and mapped as /dev/dri which has improved the performance so it's at least usable for web browsing, but it's still using CPU rather than the Intel GPU and any youtube or other video is not really watchable. I tried with and without LIBVA_DRIVER_NAME=iHD in the docker yaml config
I verified that VAAPI itself is functional inside the container. vainfo successfully initializes the Intel iHD driver and reports H.264 hardware encoding support (VAEntrypointEncSliceLP). The only failure occurs when Selkies initializes the FFmpeg VAAPI pipeline:
[Parsed_scale_vaapi_1] Failed to create processing pipeline config: 12
Failed to configure output pad
Failed to init VAAPI: Failed to config filter graph.
Falling back to CPU.
vainfo output:
VAProfileH264Main : VAEntrypointEncSliceLP
VAProfileH264High : VAEntrypointEncSliceLP
This suggests the GPU and VAAPI driver are functioning correctly, but the scale_vaapi filter graph used by Selkies cannot be created on this Intel J4125 (Gemini Lake) system.
thelamer commentedon Jul 31, 2026
That is completely possible this is a very cut down Intel chipset. It might lack the stuff needed for ARGB to NV12 via dma-buf. I lack the hardware to test, but if the minimal command does not work that is likely the issue.
thelamer commentedon Jul 31, 2026
Just out of curiosity did you pull the latest image ?
GiJOr33 commentedon Aug 3, 2026
I have this in my compose config, and i deleted the container and removed the image so that it pulled the latest and rebuilt
image: lscr.io/linuxserver/firefox:latestLinuxServer-CI commentedon Sep 2, 2026
This issue has been automatically marked as stale because it has not had recent activity. This might be due to missing feedback from OP. It will be closed if no further activity occurs. Thank you for your contributions.
thelamer commentedon Sep 24, 2026
Please retest with the latest image, many changes have been made to the encoding pipeline specifically for broad vaapi support.