HW transcoding don't work in Docker on Synology NAS

There are multiple topics regarding this but none, and I’ve read hundreds, did solve my issue. I’ve been using Plex for 10 years with Lifetime pass. So I have enjoyed HW transcoding the last years I ran it as a DSM package on the Synology NAS. HW transcoding has always been working great. Yesterday I migrated the installation to Docker and since I use other dockers from linuxserver I went for linuxserver/plex. The same basic base setup. And also I read a lot from people succeeding with the HW transcoding.

This is my setup

  • Synology DS918+ with DSM 7.2 (I upgraded from DSM 7.1.1 today but without any difference)
  • PMS 1.32.2.7100
  • Specific created user for docker for all shares and passed the user to the container
  • Added devices: - ‘/dev/dri:/dev/dri’ to docker-compose.yml

What happens?

First I did get this on starting the container

2023/05/25 08:33:32,stdout,"**** The device /dev/dri/card0 does not have group read/write permissions, attempting to fix inside the container. ****
2023/05/25 08:33:32,stdout,**** permissions for /dev/dri/renderD128 are good ****

After some reading the permissions are not correct for the files needed so I ran
chmod 777 on /dev/dri /dev/dri/card0 /dev/dri/renderD128

And now it says

2023/05/25 08:52:06,stdout,**** permissions for /dev/dri/card0 are good ****
2023/05/25 08:52:06,stdout,**** permissions for /dev/dri/renderD128 are good ****

Looking good I thought. I’ve fixed it. But no. Only software transcoding still. Then I took a look at the Plex logs and it much clearly says

May 25, 2023 16:55:49.606 [140586482072376] ERROR - [Req#3b/Transcode] [FFMPEG] - Failed to initialise VAAPI connection: -1 (unknown libva error).
May 25, 2023 16:55:49.607 [140586482072376] ERROR - [Req#3b/Transcode] [FFMPEG] - Cannot load libcuda.so.1
May 25, 2023 16:55:49.607 [140586482072376] ERROR - [Req#3b/Transcode] [FFMPEG] - Could not dynamically load CUDA

My brain now tells me that the container does have access to the correct driver and hardware but Plex is not using it correct. I’ve read somewhere that you might have to force Plex in the preferences.xml to make use of the hardware. So I added

HardwareDevicePath="/dev/dri/card0
HardwareDevicePath="/dev/dri/renderD128

Also no help. Can anyone give me some help? Should I post all the logs? I believe the important parts of the logs is above though…

You may be affected by the same issue discussed in this thread. If so, pulling 1.32.1.6999 should resolve the issue for now.

Thanks! Missed that thread. I will give it a try.

@kretipleti

Build 6999 will get you working again while we sort it out.

Sorry about that.

Happy me! It did! Thanks!

No problem, glad it worked.

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