# AMD GPU Hardware acceleration

**URL:** <https://forums.plex.tv/t/amd-gpu-hardware-acceleration/912265>\
**Category:** Plex Media Server\
**Tags:** server-docker\
**Created:** [April 8, 2025, 10:04am UTC](https://forums.plex.tv/t/amd-gpu-hardware-acceleration/912265 "2025-04-08T10:04:11Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Zralle](https://avatars.discourse-cdn.com/v4/letter/z/aca169/32.png) [@Zralle](https://forums.plex.tv/u/Zralle)\
**Post date:** [April 8, 2025, 10:04am UTC](https://forums.plex.tv/t/amd-gpu-hardware-acceleration/912265/1 "2025-04-08T10:04:11Z")

</div>

Server Version#: 1.41.5.9522  
Player Version#: 2025.11.1

Hi everyone, I’m running a Plex inside a docker container on TrueNAS Scale with AMD Radeon 6600XT and I’m trying to use it for hardware acceleration.

I have a plex pass, hardware acceleration is enabled in settings and plex shows me my gpu as option.

compose.yml

```sh
services:
  plex:
    image: lscr.io/linuxserver/plex:latest
    container_name: plex
    network_mode: host
    environment:
      - PUID=568
      - PGID=568
      - TZ=Etc/UTC
      - VERSION=docker
      - PLEX_CLAIM= #optional
    group_add:
      - 226
    volumes:
      - /mnt/ssd-pool/configs/plex:/config
      - /mnt/big-boy/media:/data
    devices:
      - /dev/dri:/dev/dri
    tmpfs:
      - /transcode
    restart: unless-stopped
networks: {}

```

**Note:** I tried with official plex container too but it didn’t work. Added the render group by GID to make sure permissions are right but I tested without it. `568` is TrueNAS’s default `apps` which is used for running docker applications.

Relevant log:

```auto
      48 Apr 08, 2025 11:40:54.617 [139701541583672] DEBUG - [GPU] Got device: AMD Navi 23 [Radeon RX 6600/6600 XT/6600M], amd@unknown, default true, best true, ID 1002:73ff:1eae:6501@0000:09:00.0, DevID [1002:73ff:1eae:6501], flags 0x60
      7 Apr 08, 2025 11:43:31.489 [139701523188536] DEBUG - [Req#19f9/Transcode] Codecs: testing h264 (decoder) with hwdevice vaapi
      6 Apr 08, 2025 11:43:31.489 [139701523188536] VERBOSE - [Req#19f9/Transcode] [FFMPEG] - Rescanning for external libs: '/config/Library/Application\ Support/Plex\ Media\ Server/Codecs/e613bce-97f23d579c1001d8e9cc0d2e-linux-x86_64/'
      5 Apr 08, 2025 11:43:31.489 [139701523188536] DEBUG - [Req#19f9/Transcode] Codecs: hardware transcoding: testing API vaapi for device '/dev/dri/renderD128' (AMD Navi 23 [Radeon RX 6600/6600 XT/6600M])
      4 Apr 08, 2025 11:43:31.489 [139701523188536] VERBOSE - [Req#19f9/Transcode] [FFMPEG] - libva: VA-API version 1.21.0
      3 Apr 08, 2025 11:43:31.489 [139701523188536] VERBOSE - [Req#19f9/Transcode] [FFMPEG] - libva: User requested driver 'i965'
      2 Apr 08, 2025 11:43:31.489 [139701523188536] VERBOSE - [Req#19f9/Transcode] [FFMPEG] - libva: Trying to open /config/Library/Application Support/Plex Media Server/Cache/va-dri-linux-x86_64/i965_drv_video.so
      1 Apr 08, 2025 11:43:31.489 [139701523188536] VERBOSE - [Req#19f9/Transcode] [FFMPEG] - libva: va_openDriver() returns -1
  16541 Apr 08, 2025 11:43:31.489 [139701523188536] ERROR - [Req#19f9/Transcode] [FFMPEG] - Failed to initialise VAAPI connection: -1 (unknown libva error).
      1 Apr 08, 2025 11:43:31.489 [139701523188536] DEBUG - [Req#19f9/Transcode] Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: I/O error
      2 Apr 08, 2025 11:43:31.489 [139701523188536] DEBUG - [Req#19f9/Transcode] Could not create hardware context for h264

```

It seems Plex is trying to use `i915` driver instead of `amdgpu` driver.  
This could be because I migrated from Synology 220+ to TrueNAS with AMD gpu. Is there a way to fix it? if I delete `e613bce-97f23d579c1001d8e9cc0d2e-linux-x86_64` codec directory will plex download the appropriate one for amd driver? Not even sure if it works that way.

Thank you for your time and if any additional info is needed I can provide it.

---

<div class="post-metadata">

**Author:** ![pshanew](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/pshanew/32/160555_2.png) [@pshanew](https://forums.plex.tv/u/pshanew)\
**Post date:** [April 8, 2025, 3:28pm UTC](https://forums.plex.tv/t/amd-gpu-hardware-acceleration/912265/2 "2025-04-08T15:28:02Z")

</div>

I’m not sure if it’s the only issue, but I think you’ve added an incorrect group to your container. The ‘226’ you’ve added is the device major number for the renderD128 device. What you want to add is the group ID for `render`:  
`getent group render | cut -d ':' -f 3`

Unless the device major and the render group just coincidentally happens to be 226 in your environment (apologies if that’s the case).

It is also possible to just `group_add` the actual group name instead of using the ID itself:

```auto
...
  ...
    group_add:
      - render
...

```

---

<div class="post-metadata">

**Author:** ![Zralle](https://avatars.discourse-cdn.com/v4/letter/z/aca169/32.png) [@Zralle](https://forums.plex.tv/u/Zralle)\
**Post date:** [April 8, 2025, 3:33pm UTC](https://forums.plex.tv/t/amd-gpu-hardware-acceleration/912265/3 "2025-04-08T15:33:13Z")

</div>

> [@pshanew](#):
>
> ot sure if it’s the only issue, but I think you’ve added an incorrect group to your container. The ‘226’ you’ve added is the device major number for the renderD128 device. What you want to add is the group ID for render. Unless the device major

Yeah tried that already it doesn’t seem to be issue. I even tried installing ffmpeg inside the container and tried hardware acceleration which works for ffmpeg.

I really think there is something wrong with plex trying to use i915 driver.

---

<div class="post-metadata">

**Author:** ![pshanew](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/pshanew/32/160555_2.png) [@pshanew](https://forums.plex.tv/u/pshanew)\
**Post date:** [April 8, 2025, 3:41pm UTC](https://forums.plex.tv/t/amd-gpu-hardware-acceleration/912265/4 "2025-04-08T15:41:57Z")

</div>

Fair enough.

This thread might have some useful information, if you haven’t stumbled upon it yourself already:

> [@Got HW Transcoding to work with libva/vaapi on Ryzen APU (Ryzen 7 4700U)](https://forums.plex.tv/t/got-hw-transcoding-to-work-with-libva-vaapi-on-ryzen-apu-ryzen-7-4700u/676546):
>
> Hey there, I’ve read a lot of comments stating that Plex HW transcoding can not be made to work with the vaapi APIs exported by AMD APUs with integrated graphics. This is true, at least looking at how Plex sets things up out of the box. Manually copying over the libva drivers for AMD GPUs plus related shared libraries fixed the problem for me. cp /lib/x86\_64-linux-gnu/dri/radeonsi\_drv\_video.so /usr/lib/plexmediaserver/lib/dri/ && \ cp /lib/x86\_64-linux-gnu/libdrm\_amdgpu.so.1.\* /usr/lib/plex…

It’s a bit of a slog to read through, but many folks reported success in using AMD GPUs for hardware-accelerated transcoding.

---

<div class="post-metadata">

**Author:** ![Zralle](https://avatars.discourse-cdn.com/v4/letter/z/aca169/32.png) [@Zralle](https://forums.plex.tv/u/Zralle)\
**Post date:** [April 8, 2025, 4:12pm UTC](https://forums.plex.tv/t/amd-gpu-hardware-acceleration/912265/5 "2025-04-08T16:12:18Z")

</div>

Thank you for linking this. I didn’t find this originally and that might help in future but I tested it now and still the same issue with `i915`.

Will wait to see what @ChuckPa says.

---

<div class="post-metadata">

**Author:** ![ChuckPa](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/chuckpa/32/79710_2.png) [@ChuckPa](https://forums.plex.tv/u/ChuckPa)\
**Post date:** [April 8, 2025, 9:48pm UTC](https://forums.plex.tv/t/amd-gpu-hardware-acceleration/912265/6 "2025-04-08T21:48:10Z")

</div>

According to “Chuck’s Law” (Murphy is my cousin) 🤣 lol

There is currently only partial HW ( up to HEVC SDR) support for AMD gpus in the transcoder.  
This works through the VAAPI ( libva api ) interface

It’s a royal P.I.T.A to make work–

1. You must install the LIBVA libraries
2. You must install the AMD drivers to make the GPU visible to LIBVA
3. These, coupled with what you’ve done make the GPU visible to the libva api which the transcoder currently has.

The above “slog” is what you need to do (currently). I did it in LXC because it’s not reset every time the container restarts.

That’s the bad news. Now for the good news.

1. We’re finalizing FFMPEG 6.1 (has AMD HW support)
2. We just fixed a long-standing EAC-3 5.1 bug (pre-requisite for FFMPEG 6.1)

The complete To-Do list:

1. FFMPEG 6.1
2. Update the Intel Media Driver & Intel Compute Runtime
3. Upgrade from the VAAPI interface to the AMD AMF interface  
( This is some development we need to do )

There are other tasks to perform but these are the big broad strokes.

No, I don’t know the timeline as this represents a lot of work and testing, including fixing issues reported by folks as 6.1 is rolled out for forum testing.

---

<div class="post-metadata">

**Author:** ![Zralle](https://avatars.discourse-cdn.com/v4/letter/z/aca169/32.png) [@Zralle](https://forums.plex.tv/u/Zralle)\
**Post date:** [April 9, 2025, 8:27am UTC](https://forums.plex.tv/t/amd-gpu-hardware-acceleration/912265/7 "2025-04-09T08:27:48Z")

</div>

Could you share instructions for doing that?

I messed with [GitHub - jefflessard/plex-vaapi-amdgpu-mod: linuxserver.io mod to enable hardware acceleration using vaapi amdgpu on linuxserver/plex](https://github.com/jefflessard/plex-vaapi-amdgpu-mod) and [GitHub - naonak/plex-amdgpu: Plex Docker with AMDGPU-Pro for Hardware Transcoding](https://github.com/naonak/plex-amdgpu) without any success.

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/plex/original/3X/2/a/2acb9765406f63293d357b4ec509ec39aa28f2ad.png) [@system](https://forums.plex.tv/u/system)\
**Post date:** [July 8, 2025, 8:28am UTC](https://forums.plex.tv/t/amd-gpu-hardware-acceleration/912265/8 "2025-07-08T08:28:28Z")

</div>

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