HW acceleration not working in docker container on DS918+

If I do that I have no device: entry in the JSON file. That why I did it through the command line as I think it is not working through the GUI.

But through the command line is very easy especially if you have already a working Plex container.

Thank you for checking. I will be going back to the native DSM app and hope that HW accelerated tonemapping will someday be supported there as well.

Well I can help you make it work if you want, just DM then.

Interesting topic! Is it possible move a native Synology package Plex installation to the Docker one without creating a new server? I’d like to make the transition as seamless as possible for my family.

2 Likes

What would be the syntax to use in "devices": to add /dev/dri:/dev/dri?

Would it be "devices": [/dev/dri:/dev/dri"]?

I have now moved to creating my Plex docker container via compose file rather than GUI, however, hw accelerated transcoding is still not working with these parameters:

# Plex - https://hotio.dev/containers/plex/
# <mkdir /volume1/docker/appdata/plex>
  plex:
    container_name: plex
    image: ghcr.io/hotio/plex
    restart: unless-stopped
    logging:
      driver: json-file
    ports:
      - 32400:32400
    environment:
      - PUID=${PUID}
      - PGID=${PGID}
      - TZ=${TZ}
      - UMASK=002
      - PLEX_CLAIM=${PLEX_CLAIM}
      - ADVERTISE_IP=
      - ALLOWED_NETWORKS=
      - PLEX_PASS=${PLEX_PASS}
    volumes:
      - ${DOCKERCONFDIR}/plex:/config:rw
      - ${DOCKERSTORAGEDIR}/media:/data/media:rw
      - /tmp:/transcode:rw
      - /dev/dri:/dev/dri

Found the issue, ā€œ/dev/dri:/dev/driā€ needs to be under devices rather than volumes, like this:

  plex:
    container_name: plex
    image: ghcr.io/hotio/plex
    restart: unless-stopped
    logging:
      driver: json-file
    ports:
      - 32400:32400
    environment:
      - PUID=${PUID}
      - PGID=${PGID}
      - TZ=${TZ}
      - UMASK=002
      - PLEX_CLAIM=${PLEX_CLAIM}
      - ADVERTISE_IP=
      - ALLOWED_NETWORKS=
      - PLEX_PASS=${PLEX_PASS}
    volumes:
      - ${DOCKERCONFDIR}/plex:/config:rw
      - ${DOCKERSTORAGEDIR}/media:/data/media:rw
      - /tmp:/transcode:rw
    devices:
      - /dev/dri:/dev/dri

Now to find why I’m on an indirect connection inside my home network.

Have you maybe figured anything out yet ?

After a lot of stumbling arround i managed to get plex working in docker with HW transcoding working aswel.

But same as you i noticed i can only connect with indirect connection?
First i thought its because my TV is on a different subnet then the docker container is but then i added the subnet into the network settings in plex settings hoping that would solve it but unfortunately it didnt make any difference.

Open your browser and go to your PLEX server with the local IP, so http://192.168.0.3:32400/ or whatever, copy that same address into this parameter:

- ADVERTISE_IP=http://192.168.0.3:32400/

This does the same as adding ā€œCustom Server Access URLā€ in the Plex Network menu and worked for me.

Do i enter the whole ā€œhttp://ā€ or just the ip ? and can i do that via the environment settings in the docker GUI on the NAS ?

You have to enter it with the http part afaik, you can also just do it within Plex if you go to Settings → Network and enter it here:

image

EDIT: Note that with this set up everything works, at least so far as I can tell, but you’ll not be seeing the correct IPs of people connecting to your server due to a Synology limitation. There is a workaround however: https://www.pedrolamas.com/2020/11/04/exposing-the-client-ips-to-docker-containers-on-synology-nas/

Awesome thanks ! got it all working now

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.