Jellyfin Forum
SOLVED: Hardware transoding synology 220+ - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Support (https://forum.jellyfin.org/f-support)
+--- Forum: Troubleshooting (https://forum.jellyfin.org/f-troubleshooting)
+--- Thread: SOLVED: Hardware transoding synology 220+ (/t-solved-hardware-transoding-synology-220)



Hardware transoding synology 220+ - zypthora - 2025-04-01

Hello all,

I am having issues with setting up hardware transcoding. I am running jellyfin in a docker container on a synology DS220+, which has an Intel J4025 cpu that supports QSV. I run the container with the following docker-compose:
Code:
services:

  jellyfin:

    #for specific image-> image: jellyfin/jellyfin:10.8.13

    image: jellyfin/jellyfin:latest

    container_name: Jellyfin

    environment:

      - PUID=0

      - PGID=0

      - TZ=Europe/Brussels

      - JELLYFIN_PublishedServerUrl=192.168.0.2

      #note: change TZ to your timezone identifier: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones

    volumes:

      - /volume1/docker/jellyfin/cache:/cache:rw

      - /volume1/docker/jellyfin/config:/config:rw

      - /volume1/Media/Series:/shows:rw

      - /volume1/Media/Films:/movies:rw

      #note: (:rw = read/write) & (:ro = read only)

    #devices:

      #- /dev/dri/renderD128:/dev/dri/renderD128

      - /dev/dri/:/dev/dri/

      #note: uncomment these lines in devices to allow for HWA to work on Synology units with an iGPU
    group_add:

      - '937' # Video group
    ports:

      - 8096:8096/tcp

      #- <port-to-use>:8096/tcp

    network_mode: host

    #network_mode: host

    restart: unless-stopped

I have tried a couple of things while browsing in the forums:
  1. played around with the PUID and PGID: originally I have resp. 1026 and 100 there, which are the values of my admin account
  2. I added group_add 937. I noticed that plex media server is in that group, and that group has access to /dev/dri/renderD128
  3. I have done a chmod 777 /dev/dri/* to force access to the driver
I'm not sure what else I can do. Please find the logs as pastebins. Many thanks.

logs:
  1. encoding.xml: https://pastebin.com/TpuPqWi4
  2. jellyfin log: https://pastebin.com/VH9S8bHW
  3. ffmpeg log: https://pastebin.com/TdNi6xMT



RE: Hardware transoding synology 220+ - TheDreadPirate - 2025-04-01

You added /dev/dri as a volume instead of a device. The device section header is commented out.


RE: Hardware transoding synology 220+ - zypthora - 2025-04-01

Hi, thank you for your answer. I changed the docker compose file to the following:

Code:
services:
  jellyfin:
    image: jellyfin/jellyfin
    container_name: jellyfin
    user: 1026:100
    network_mode: 'host'
    volumes:
      - /volume1/docker/jellyfin/cache:/cache
      - /volume1/docker/jellyfin/config:/config
      - type: bind
        source: /volume1/Media/Films
        target: /movies
      - type: bind
        source: /volume1/Media/Series
        target: /shows
    devices:
      - /dev/dri:/dev/tri
    restart: 'unless-stopped'
    # Optional - alternative address used for autodiscovery
    environment:
      - JELLYFIN_PublishedServerUrl=192.168.0.2

This does not seem to work, same FFMPEG errors

EDIT I see that I made a typo in the new docker compose: I had /dev/dri:/dev/tri instead of /dev/dri:/dev/dri. Thanks for the help!