UPDATE: Plex has added native support for NVDEC on Linux! This patch is now redundant and no longer needed if you are using a recent version of Plex!

All, there is a pretty lengthy thread going in the feature request section of the forums to make this a native feature, but recently the PMS libraries have been updated enough to insert this support with a simple patch. I have posted a copy of a script to install a patch to enable NVDEC support on Linux at the GitHub repository below:

plex-nvdec-patch.sh

This has been tested by many users thus far and found to work rather well. This is a major feature if you plan to transcode 4K video content and do not have an Intel CPU with onboard GPU (VAAPI acceleration). I would like to have this thread become the support thread for this topic as more users test the feature so we all can get the best working patch for us all.

EDIT: Credit where it is due, the contributors to the feature request thread have all made this possible thus far. The feature request thread can be found here to add this support natively: Hardware Accelerated Decode (Nvidia) for Linux

Here’s a copy of the readme for reference:

This patch is designed to enable NVDEC functions on Linux installations of Plex Media Server version 1.15.1.791 and later. This is a stopgap patch to enable the feature until Plex officially supports the feature natively.

Requirements

Plex Media Server must be a least version 1.15.1.791

You must have a NVIDIA card and drivers installed with support for NVDEC (see https://developer.nvidia.com/video-encode-decode-gpu-support-matrix for a list of supported cards)

Installation

To install this patch perform the following:

Copy the plex-nvdec-patch.sh to your Plex server in any convenient to use directory. Enable execution of the script by running: chmod +x ./plex-nvdec-patch.sh Execute the script with sudo: sudo bash -c ./plex-nvdec-patch.sh

Note that you must rerun this patch every time PMS is updated.

If you need to remove the script, you can either manually reinstall PMS or run the script with the --uninstall parameter.