Support hardware transcoding for Ryzen AI 9 HX 370 w/ Radeon 890M

Server Version: 1.42.2.10156

It would be great to support Hardware transcoding for the Ryzen AI 9 HX 370 w/ Radeon 890M CPU/APU in Plex Media Server. All that is needed is to update the radeonsi_drv_video.so driver shipped in Plex. HW transcoding used to work with older AMD APUs, but the new AMD APU has a new architecture called gfx1150 that requires an update of the radeonsi_drv_video.so driver to support that new architecture. The old radeonsi_drv_video.so driver does not recognize gfx1150 and throws an error.

Updating radeonsi_drv_video.so fixes hw transcoding (When for example upgrading from Debian 12 to 13) when using ā€œvainfoā€. But Plex Media Server seems to be using its own linked libraries for vaapi and dri drivers. Updating radeonsi_drv_video.so to the latest version should fix the issue.

I tried manually replacing the radeonsi_drv_video.so driver found in ā€œ/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Drivers/rsv-16dddec543d89eb3cd7dd5b9-linux-x86_64/dri/radeonsi_drv_video.soā€, but when doing so, the radeonsi_drv_video.so driver errors out with a ā€œ__isoc23_strtoul: symbol not foundā€ as apparently the gnu library version used in Plex is older.

Is there any way to force Plex Media Server to use the system ā€œ/usr/lib/x86_64-linux-gnu/dri/ā€ drivers instead of it’s own?

Here is the error that shows up when trying to use hardware transcode (Without modifications to Plex) with the ā€œRyzen AI 9 HX 370 w/ Radeon 890Mā€:

[Req#131f/Transcode] [FFMPEG] - libva: /var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Cache/va-dri-linux-x86_64/radeonsi_drv_video.so init failed
[Req#131f/Transcode] [FFMPEG] - Failed to initialise VAAPI connection: 2 (resource allocation failed).

The errors you’re getting are expected.

PMS is compiled and built with the MUSL runtime libraries not glibc.

You cannot arbitrarily put FFMPEG or AMD upstream drivers into PMS and expact them to work.

There is work underway to fully support AMD GPUs.

The current progress point is completing FFMPEG 6.1 upgrade (from 4.2) and upgrading the Intel GPU (internal and external) drivers.

When these are complete and stable, the next step will be to enable AMD support. ( The code is already there. It simply needs to be recompiled as Enabled and retested/debugged )

@ChuckPa I’m also attempting to get hardware transcoding to work on this platform, and I’m running the most which is has the FFMPEG 6.1 updates merged from the Transcoder Forum Preview as stated by chris_decker08 in that thread ( Transcoder Upgrade Forum Preview - #194 by chris_decker08 ).

  • Hardware: Ryzen AI 9 HX 370 w/ Radeon 890M (Minisforum N5 Pro)
  • Plex version: v1.43.0.10231-ca3956848
  • OS: Debian Trixie (6.14.11-4-pve kernel)
  • amdgpu driver: 3.64.0 (Latest DKMS from AMD)
  • vainfo output:
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Found init function \__vaDriverInit_1_22
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.22 (libva 2.22.0)
vainfo: Driver version: Mesa Gallium driver 25.0.7-2 for AMD Radeon Graphics (radeonsi, gfx1150, LLVM 19.1.7, DRM 3.64, 6.14.11-4-pve)
vainfo: Supported profile and entrypoints
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264Main               : VAEntrypointVLD
VAProfileH264Main               : VAEntrypointEncSlice
VAProfileH264High               : VAEntrypointVLD
VAProfileH264High               : VAEntrypointEncSlice
VAProfileHEVCMain               : VAEntrypointVLD
VAProfileHEVCMain               : VAEntrypointEncSlice
VAProfileHEVCMain10             : VAEntrypointVLD
VAProfileHEVCMain10             : VAEntrypointEncSlice
VAProfileJPEGBaseline           : VAEntrypointVLD
VAProfileVP9Profile0            : VAEntrypointVLD
VAProfileVP9Profile2            : VAEntrypointVLD
VAProfileAV1Profile0            : VAEntrypointVLD
VAProfileAV1Profile0            : VAEntrypointEncSlice
VAProfileNone                   : VAEntrypointVideoProc

It actually looks like we’re getting pretty close to working on this hardware, as all the logs appear to point to the GPU not being recognised by the version of the libraries included in Plex Media Server rather than a deficiency in the software itself.

The GPU is correctly identified by Plex, however when attempting to use it there are corresponding logs created both at the application console level and in the journald logs.

Plex Console:

Nov 16, 2025 02:44:52.686 [129430442539832] Debug — [Req#6546/Transcode] Codecs: testing h264 (decoder) with hwdevice vaapi
Nov 16, 2025 02:44:52.686 [129430442539832] Debug — [Req#6546/Transcode] Codecs: hardware transcoding: testing API vaapi for device '/dev/dri/renderD128' (AMD Strix [Radeon 880M / 890M])
Nov 16, 2025 02:44:52.688 [129430442539832] Error — [Req#6546/Transcode] [FFMPEG] - libva: /var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Cache/va-dri-linux-x86_64/radeonsi_drv_video.so init failed

Nov 16, 2025 02:44:52.688 [129430442539832] Error — [Req#6546/Transcode] [FFMPEG] - Failed to initialise VAAPI connection: 2 (resource allocation failed).

Nov 16, 2025 02:44:52.688 [129430442539832] Debug — [Req#6546/Transcode] Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: I/O error
Nov 16, 2025 02:44:52.688 [129430442539832] Debug — [Req#6546/Transcode] Could not create hardware context for h264

Linux logs (journalctl -u plexmediaserver):

Nov 16 02:44:52 plex Plex Media Server[5592]: /home/runner/_work/plex-conan/plex-conan/.conan/data/libdrm/2.4.120-6/plex/main/build/678777ee2ca8706ca90cf805e0dd88235f6d7f05/meson-install/share/libdrm/amdgpu.ids: No such file or directory
Nov 16 02:44:52 plex Plex Media Server[5592]: amdgpu: unknown (family_id, chip_external_rev): (150, 20)

Please let me know if there’s any further detail I can provide, or if there’s troubleshooting you’d like me to do.

Thanks.

That is really close.

With vainfo working, you should get more.

  1. Can you show me where PMS detects the GPU as it starts ? (DEBUG logs)
  2. Is plex a member of the group which owns /dev/dri/card* and renderD* ?
  3. When you go to transcode, does it attempt a test frame?
  1. Can you show me where PMS detects the GPU as it starts ? (DEBUG logs)

The only mention of the GPU on startup appears to be this:

Nov 16, 2025 11:38:17.682 [125765922286392] INFO - Preemptively preparing driver rsv for GPU AMD Strix [Radeon 880M / 890M]
Nov 16, 2025 11:38:17.682 [125765922286392] DEBUG - [DriverDL/rsv] Skipping download; already exists
  1. Is plex a member of the group which owns /dev/dri/card* and renderD* ?

Yes:

$ groups plex
plex : plex video render

$ ls -la /dev/dri/card0
crw-rw---- 1 root video 226, 0 Nov 16 11:29 /dev/dri/card0

$ ls -la /dev/dri/renderD128
crw-rw---- 1 root render 226, 128 Nov 16 11:29 /dev/dri/renderD128
  1. When you go to transcode, does it attempt a test frame?

I’m not sure what you mean by this, are you asking if it’s attempting a test frame when I try to test a transcode? Or when I go to the Transcode settings?

These are the messages I get from the PMS logs when I attempt to force transcoding on any video:

Nov 16, 2025 11:52:34.126 [125765829864248] DEBUG - [Req#539/Transcode] Codecs: testing h264_vaapi (encoder)
Nov 16, 2025 11:52:34.126 [125765829864248] DEBUG - [Req#539/Transcode] Codecs: hardware transcoding: testing API vaapi for device '/dev/dri/renderD128' (AMD Strix [Radeon 880M / 890M])
Nov 16, 2025 11:52:34.168 [125765829864248] ERROR - [Req#539/Transcode] [FFMPEG] - libva: /var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Cache/va-dri-linux-x86_64/radeonsi_drv_video.so init failed
Nov 16, 2025 11:52:34.168 [125765829864248] ERROR - [Req#539/Transcode] [FFMPEG] - Failed to initialise VAAPI connection: 2 (resource allocation failed).
Nov 16, 2025 11:52:34.168 [125765829864248] DEBUG - [Req#539/Transcode] Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: I/O error
Nov 16, 2025 11:52:34.168 [125765829864248] DEBUG - [Req#539/Transcode] Could not create hardware context for h264_vaapi

Since my previous post, I experienced an identical error when trying to enable hardware detection in Frigate. They’re using ROCm 6.3.3 in their current release and I was able to resolve the issue and enable HW support for this GPU by rebuilding their Docker image using ROCm 7.0.2. I also needed to use set the HSA_OVERRIDE_GFX_VERSION=11.5.1 environment variable. As per Update ROCm to 7.0.2 by NickM-27 Ā· Pull Request #20433 Ā· blakeblackshear/frigate Ā· GitHub, ROCm 7.0.2 specifically introduces support for this platform.

Nov 16, 2025 11:52:34.168 [125765829864248] ERROR - [Req#539/Transcode] [FFMPEG] - libva: /var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Cache/va-dri-linux-x86_64/radeonsi_drv_video.so init failed

This confirms the existing drivers won’t work but everything else is ready

I know Chris has a lot of drivers being updated. I don’t know where the AMD drivers are in the list of ā€˜To Do’.

Any updates on this? I’m running TrueNAS on a Minisforum N5 Pro with the OP’s CPU and integrated GPU. TrueNAS Plex has transcoding settings for the CPU and GPU but they don’t seem to be working. Even allocating most of the 12 cores and 16GB of DDR doesn’t seem to affect the transcode speed of audio. Or maybe I’m doing something else wrong.

Thanks.

At this time, there is still no formal support for AMD.

It doesn’t matter how many cores you allocate for transcoding audio.
Audio is, by its nature, a single-threaded process.

Thank you. I appreciate your response.

Buenas tardes estimados, estoy siguiendo este link ya que también tengo un NAS Minisforum N5 Pro con AMD Ryzen AI 9 HX PRO 370 w/ Radeon 890M y de verdad necesitamos que nos ayuden con el soporte de nuestra GPU ya que aunque tengamos Plex Pass quedamos sin poder acceder a la transcodificación de nuestra GPU. Por favor subir la solicitud para que nos incluyan los driver y Plex pueda hacer uso de la GPU 890M de nuestros equipos. Quedamos atentos y esperando nuestra solicitud sea recibida. Saludos cordiales y quedamos atentos.

Veo que otros usuarios de Plex y Emby estÔn con el mismo problema de que Plex no realiza la transcodificación por hardware (Minisforum N5 Pro with AI 9 HX PRO 370 HW transcoding problem), quedamos atentos a la solicitud de la actualización de driver para que Plex pueda usar la GPU 890M. Saludos cordiales.

@Norvin_Guerrero
See Plex sever (docker) not using gpu to transcode, both intel b580 and amd mi50 - #6 by ChuckPa.

Muchas gracias amigo, si funciona la GPU, solo que no con la de Plex no funciona, pero con una custom de app: usando la imagen: Image Configuration → ā€œlscr.io/linuxserver/plexā€ y declarando una variable en Environment Variables Nombre (Variable): DOCKER_MODS

  1. Valor: ghcr.io/justinappler/plex-vaapi-amdgpu-mod:latest y ya con eso el Plex pudo usar la GPU AMD Ryzen AI 9 HX PRO 370 w/ Radeon 890M.

Te agradezco mucho tu ayuda ya puedo disfrutar de todo el poder de la GPU en mi Plex dentro de TrueNAS en mi Minisforum N5 Pro. Gracias muchas gracias amigo, estoy muy feliz y agradecido por el tiempo que tomastes para enviarme esta respuesta que he buscado por todos lados y no me funcionaba. Mil gracias !!!.

It’s great news that it’s relatively close. Hopefully sometime during 2026 the you think it’ll be official?

I’m another with this chipset and hoping it gets supported this year.

I’m running a different AMD chipset, but hoping to see AMD transcoding improvement in the future after reading this thread. My server has the Ryzen 7 Pro 8845HS with the Radeon 780M.

Sweet! This worked perfectly for me too!

Proves it’s just the drivers included in the official Plex distribution, which leaves me hopeful that it will ultimately be resolved. In the mean time, I have a satisfactory workaround.

I went ahead and built a new container with libva and the latest dri drivers. If you know how to use containers, try it out: https://github.com/home-operations/containers/pkgs/container/plex-next/748890360?tag=1.43.0.10492

This solved all of my problems and my AMD gpu is happily transcoding again.

How do you use it ? Mind sharing your compose file?

Setting TranscoderTempDirectory to: /transcode

Updating VA-API drivers…

ln: failed to create symbolic link ā€˜/config/Library/Application Support/Plex Media Server/Cache/va-dri-linux-x86_64’: No such file or directory