Transcoder only uses VAAPI when Nvidia GPU is installed

Server Version#: 1.25.9.5673
Player Version#: Any
Nvidia: Driver Version: 470.103.01 CUDA Version: 11.4
Ubuntu: Ubuntu 21.10

I have a GTX 1650 installed in my server using that uses an older Intel 6700k. I had hardware support running fine for a long time on that Nvidia card. Recently I noticed transcoding was taking forever and wasn’t all that good. In Plex dashboard I confirmed that I was transcoding (hw). But nvidia-smi showed no plextranscode process, only Xorg. Go through the server logs, it shows “encoder=h264_vaapi” and transcoder stats log

“protocol=“dash” container=“mp4” videoCodec=“h264” audioCodec=“aac” audioChannels=“2” transcodeHwRequested=“1” transcodeHwDecoding=“vaapi” transcodeHwEncoding=“vaapi” transcodeHwDecodingTitle=“Intel (VA API)” transcodeHwEncodingTitle=“Intel (VA API)” transcodeHwFullPipeline=“1”>”

I read something about the GPU being in use would make it unavailable so I turned the machine headless by systemctl disable gdm and restarted. Now nvidia-smi shows no running processes found, but Plex is still defaulting to Intel VAAPI

If you have both the iGPU and an Nvidia card,

  1. Check /dev/dri
  2. You’ll see /dev/dri/renderD128 for the iGPU.
  3. You should see /dev/dri/renderD129. This will be the Nvidia when the drivers are installed and recognized.

To switch to the Nvidia,

  1. Stop Plex
  2. Edit Preferences.xml
  3. Add HardwareDevicePath="/dev/dri/renderD129" before the closing /> on the last line.
  4. Start Plex
  5. Retest

This worked. Thank you.

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