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…