Skip to content

Intel VAAPI hardware acceleration fails on Synology (DS720+) - Missing drivers in image? #518

@taker1988

Description

@taker1988

Hi,

I am trying to use hardware acceleration (Intel QuickSync via VAAPI) on my Synology NAS (DS720+ with Intel Celeron J4125).

Even though I am passing the device /dev/dri, running the container as privileged: true, and setting the correct FFMPEG_ARGS, the conversion fails immediately with a libva error.

It seems like the necessary Intel drivers (e.g., intel-media-va-driver or libva-intel-driver) are missing from the Docker image base.

My Setup:

Hardware: Synology DS720+ (Intel Celeron J4125 - Gemini Lake Refresh)

OS: DSM 7.2

Image Version: ghcr.io/c4illin/convertx:latest (v0.17.0)

My Stack:

services:
  convertx:
    image: ghcr.io/c4illin/convertx:latest
    container_name: convertx
    restart: always
    privileged: true
    devices:
      - /dev/dri:/dev/dri
    ports:
      - 3123:3000
    environment:
      - JWT_SECRET=MYSECRETKEY
      - ALLOW_UNAUTHENTICATED=true
      - HTTP_ALLOWED=true
      - ACCOUNT_REGISTRATION=false
      - TZ=Europe/Berlin
      - LANGUAGE=de
      - FFMPEG_ARGS=-hwaccel vaapi -hwaccel_device /dev/dri/renderD128 -hwaccel_output_format vaapi
    volumes:
      - /volume1/docker/convertx:/app/data
    healthcheck:
      test: ["CMD-SHELL", "timeout 10s bash -c ':> /dev/tcp/127.0.0.1/3000' || exit 1"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 60s

Error Log: When trying to convert an MP4 or AVI file, the log shows:

[AVHWDeviceContext @ 0x561f44e61d80] Failed to initialise VAAPI connection: -1 (unknown libva error).
Device creation failed: -5.
[vist#0:0/h264 @ 0x561f44e0ac00] [dec:h264 @ 0x561f44e3d480] No device available for decoder: device type vaapi needed for codec h264.
[vist#0:0/h264 @ 0x561f44e0ac00] [dec:h264 @ 0x561f44e3d480] Hardware device setup failed for decoder: Input/output error

Analysis: The error Failed to initialise VAAPI connection: -1 (unknown libva error) typically indicates that ffmpeg can see the hardware device (because of privileged: true and the volume mount), but the OS inside the container lacks the driver to communicate with it.

Suggested Fix: Since the base image seems to be Debian Trixie (according to logs), could you please add the Intel drivers to the Dockerfile?

Likely simply adding this to the install steps would fix it for most Intel users: apt-get install -y intel-media-va-driver-non-free (or intel-media-va-driver)

Thanks for this great tool!

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions