jefflessard / plex-vaapi-amdgpu-mod

linuxserver.io mod to enable hardware acceleration using vaapi amdgpu on linuxserver/plex
40 stars 5 forks source link

This is a linuxserver.io user mod to enable hardware acceleration using vaapi amdgpu for linuxserver.io' Plex Media Server image.

Librairies are taken from package mesa-va-gallium of alpine:edge because Plex is compiled with musl and using Ubuntu libs will lead to unresolved symbols.

Librairies are voluntarily located outside of plexmediaserver path, in /vaapi-amdgpu/lib. This allows to use VERSION=latest so Plex can automatically updates its version, without replacing the provided librairies.

Set the DOCKER_MODS environment variable to jefflessard/plex-vaapi-amdgpu-mod such as in the example below.

Usage example :

docker run -d \
       --device /dev/dri/ \
       -e DOCKER_MODS=jefflessard/plex-vaapi-amdgpu-mod \
       -e VERSION=latest \
       ...
       --name plex \
       linuxserver/plex

Defining LD_LIBRARY_PATH and LIBVA_DRIVERS_PATH is not required anymore. They are now exported in s6 svc-plex run command.

You now need to remove -e LD_LIBRARY_PATH=... from your docker run command.

To quickly check if hardware acceleration is working, run the following and check for vaapi errors.

docker exec -it -e LIBVA_DRIVERS_PATH=/vaapi-amdgpu/lib/dri -e LD_LIBRARY_PATH=/vaapi-amdgpu/lib plex \
/lib/plexmediaserver/Plex\ Transcoder -hide_banner -loglevel debug -vaapi_device /dev/dri/renderD128