Plex can see my GPU, but is unable to actually use it

I’ve seen this error around a bunch, but so far none of the fixes others have tried have worked for me. The long and short is whenever I try any gpu transcoding on plex the console spits back this error:

[Req#243c/Transcode] Codecs: testing hevc (decoder) with hwdevice vaapi

[Req#f6a/Transcode] Codecs: hardware transcoding: testing API vaapi for device ‘/dev/dri/renderD128’ (Intel DG2 [Arc A310])

[Req#19d6/Transcode] [FFMPEG] - Failed to initialise VAAPI connection: -1 (unknown libva error).

[Req#19d6/Transcode] Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: I/O error.

I have an Asrock X570D4U motherboard, and on that end I did go into the Bios and Enable IOMMU just to make sure it wasn’t that. I’ve made sure Plex has access to the drivers folder and even ran:

sudo chown root:apps /dev/dri/renderD128

just to give the user Plex runs as ownership of the folder. So far nothing has changed this behavior. What am I missing? All the basics I have already done. What could still be preventing Plex to opening the gpu?

Some folks mentioned in other posts that for non-nvidia gpus, plex just uses whatever the first gpu is assigned. I’m wondering if it is trying to use the ipmi graphics instead of the Arc card; with the same motherboard I can confirm that TrueNAS sees & has some access to the ipmi graphics.

Though it’ll break remote view in IPMI, what happens if you disable onboard graphics in the BIOS as an attempted workaround?

Link to posts where igpu gets used instead of ARC GPU.

root@truenas[~]# lspci | grep "VGA"
29:00.0 VGA compatible controller: ASPEED Technology, Inc. ASPEED Graphics Family (rev 41)
2e:00.0 VGA compatible controller: NVIDIA Corporation GA106 [Geforce RTX 3050] (rev a1)

truenas_admin@Pounce[~]$ lspci | grep “VGA”
2f:00.0 VGA compatible controller: Intel Corporation DG2 [Arc A310] (rev 05)

I can try that though it does not seem like truenas is even seeing the IPMI for me.

Alas as I fear that no effect. Same behavior.

Do you have any option in the bios for multi-monitor?

I know for my motherboard+ipmi card I had to make sure my settings were

Cpu: primary display
Igpu display: enabled

Maybe you have something similar?

I have the option to set a primary display, and I did try both options, but that did not change te behavior.

This is frustrating to no end. Plex won’t give me my money back on my Pass so I am stuck trying to figure this out. I got my hands on an nVidia 3050 to try a different card and that doesn’t work either, though that doesn’t throw any console errors that I can discern, but whenever transcoding is selected it does one of three things seemingly at random no matter the file chosen:

  1. Plays for a roughtly 3-5 seconds before the video file closes itself
  2. Never starts with this error:
    error1
  3. Never starts with this error:
    error2

Unlike the Intel card, it does not fall back to cpu transcoding. In the console and plex logs I can’t see any clues with this either. It looks…normal. I tried uninstalling and reinstalling Plex, but that did not help. I did have the uuid error when I first installed the card, but that was pretty straight forward to fix. The plex forums themselves are worthless, I made two posts about the intel error to crickets. If anybody has any suggestions here about where I can go to get the 3050 working that would be great.

This might be of help:

Thank you, I found that moments after you posted it and it’s solved the codec popup and the transcode for a few seconds then stop. The unknown error is still happening sometimes though. Progress, though.

I guess then the question is what you’re playing back on & if it is replicated on multiple devices. I remember once having rando issues until I disabled relay in plex.

Past that man, I got no clue :frowning:

I am goi g to chalk this up to different platform’s players behaving weirdly. I am getting different behavior based on where it’s being played. Windows 11 PC - no transcoding works at all. IPad - everything works. Android Phone - everything works. Iphone - errors out 75% of the time. Samsung TV - everything works. LG TV - Nothing works. I assume if I had been able to ever get the Arc card working I would have landed here. Thanks again for your help.

+1 on this issue, I have a 980ti and an a380. I have them passed through but plex will not hardware encode on either of them. I get the same error

[Req#19d6/Transcode] [FFMPEG] - Failed to initialise VAAPI connection: -1 (unknown libva error).
1 Like

It helps if you post your entire hardware setup and the OS version.

Browse some other threads and do the Tutorial by the Bot to get your forum trust level up and post some images of your setup for plex.

TrueNAS-Bot
Type this in a new reply and send to bring up the tutorial, if you haven’t done it already.

@TrueNAS-Bot start tutorial

I never managed to solve it, i’ve since sold my a310, i wish you luck and if you do manage to get it working i will watch this thread for the answer.

Hey there, thanks for the reply. I have been tracking this down in several threads.

My plan is to pass one of my GPUs to ollama for voice assisistant duty and let the a380 do video encoding duty. I have not been able to get any of the docker applications to successfully use the gpus. Plex can see the gpus are present but does not use them for transcoding. The same has applied to all the other docker based apps such as immich and ollama.

image

Here are just a few of the other threads I have used to try to solve this problem:

Here is some more information about my setup if there is any additional detail you think would help please let me know!

TrueNAS Server Information

OS Version

  • Kernel: Linux 6.6.44-production+truenas
  • Distro: Debian GNU/Linux 12 (Bookworm)
  • Version ID: 12
  • Truenas Version: ElectricEel-24.10.2

Motherboard

  • Manufacturer: ASUSTeK COMPUTER INC.
  • Model: ROG STRIX Z370-E GAMING

CPU

  • Model: Intel Core i7-8700K @ 3.70GHz
  • Cores/Threads: 6 Cores, 12 Threads
  • Max Clock: 4.7 GHz
  • L1 Cache: 192 KiB (Data) + 192 KiB (Instruction)
  • L2 Cache: 1.5 MiB
  • L3 Cache: 12 MiB
  • Virtualization: VT-x

Memory

  • Total Installed: 64 GiB DDR4
  • Configuration: 4x16GB DDR4 @ 3200 MT/s
  • Voltage: 1.2V

Storage Devices

Device Size Model
Boot Drive 1 TB NVMe SSD
HDD 1 7.3 TB Seagate
HDD 2 7.3 TB Seagate
HDD 3 10.9 TB Seagate
HDD 4 7.3 TB Seagate
HDD 5 10.9 TB Seagate
HDD 6 10.9 TB Seagate

Network Interfaces

  • Primary NIC: Intel Gigabit Ethernet
  • Active Interfaces: Multiple bridged and virtual interfaces (Docker, VM networking)

GPU

  • NVIDIA GeForce GTX 980 Ti
  • Intel Arc A380

Storage Pools & Mounts

  • Main Pool: /mnt/storage_pool (24 TB)
  • Media Library: /mnt/storage_pool/media
  • Application Data: /mnt/storage_pool/apps
  • Backup Storage: /mnt/storage_pool/backups
  • Virtual Machine Storage: /mnt/storage_pool/vms
  • Docker Applications: /mnt/storage_pool/docker

Here are some of the logs from plex when it errors:

Feb 09, 2025 01:27:04.214 [140513443060536] Debug — [Req#966ef3/Transcode] Found session GUID of hwg6jj45zpsfr3bifeqvque5 in session start.
Feb 09, 2025 01:27:04.214 [140513443060536] Debug — [Req#966ef3/Transcode] TranscodeUniversalRequest: adapting profile with augmentation data: add-limitation(scope=videoCodec&scopeName=hevc&type=upperBound&name=video.width&value=4096&replace=true)+add-limitation(scope=videoCodec&scopeName=hevc&type=upperBound&name=video.height&value=2160&replace=true)+add-limitation(scope=videoCodec&scopeName=hevc&type=upperBound&name=video.bitDepth&value=10&replace=true)+append-transcode-target-codec(type=videoProfile&context=streaming&protocol=dash&videoCodec=h264%2Chevc)+add-limitation(scope=videoTranscodeTarget&scopeName=hevc&scopeType=videoCodec&context=streaming&protocol=dash&type=match&name=video.colorTrc&list=bt709|bt470m|bt470bg|smpte170m|smpte240m|bt2020-10|smpte2084&isRequired=false)+append-transcode-target-codec(type=videoProfile&context=streaming&audioCodec=aac&protocol=dash)
Feb 09, 2025 01:27:04.214 [140513443060536] Debug — [Req#966ef3/Transcode] TranscodeUniversalRequest: using augmented profile Firefox
Feb 09, 2025 01:27:04.214 [140513443060536] Debug — [Req#966ef3/Transcode] Downloading document http://127.0.0.1:32400/library/metadata/10533?includeBandwidths=1&offset=-1&X-Plex-Incomplete-Segments=1&X-Plex-Session-Identifier=a07haoz1z6tjzh7nkhpmdz2p
Feb 09, 2025 01:27:04.218 [140513443060536] Debug — [Req#966ef3/Transcode] We're going to try to auto-select an audio stream for account 1.
Feb 09, 2025 01:27:04.218 [140513443060536] Debug — [Req#966ef3/Transcode] Selecting best audio stream for part ID 10723 (language: en)
Feb 09, 2025 01:27:04.218 [140513443060536] Debug — [Req#966ef3/Transcode] We're going to try to auto-select a subtitle for account 1.
Feb 09, 2025 01:27:04.218 [140513443060536] Debug — [Req#966ef3/Transcode] Audio Stream: 10507, Subtitle Stream: -1
Feb 09, 2025 01:27:04.219 [140513443060536] Debug — [Req#966ef3/Transcode] Codecs: testing hevc (decoder) with hwdevice vaapi
Feb 09, 2025 01:27:04.219 [140513443060536] Debug — [Req#966ef3/Transcode] Codecs: hardware transcoding: testing API vaapi for device '/dev/dri/renderD129' (Intel DG2 [Arc A380])
Feb 09, 2025 01:27:04.219 [140513443060536] Error — [Req#966ef3/Transcode] [FFMPEG] - Failed to initialise VAAPI connection: -1 (unknown libva error).