Does hardware transcoding on discrete GPU require an iGPU?

so i’m reading through the hardware accelerated transcoding article (https://support.plex.tv/articles/115002178853-using-hardware-accelerated-streaming/) and something stood out to me.

everywhere it says you need a CPU that supports quick sync (which more or less means you need an intel CPU with iGPU). i understand you’d need that if you intended to perform the transcoding on your iGPU. I’m all fine there.

where I’m confused is where it talks about transcoding on the discrete nvidia or AMD cards.

“If your Windows computer also has a dedicated graphics card, such as an NVIDIA or AMD GPU, some functions of Intel Quick Sync Video may become unavailable when the GPU is in use. If your computer has one of these GPUs, please install the latest NVIDIA drivers for Windows or AMD drivers for Windows to make sure that Plex can use your dedicated graphics card when Intel Quick Sync Video becomes unavailable.”

Does this mean that you can ONLY use transcoding on the discrete GPU if you ALSO have an iGPU with quick sync? why is that? what is the mechanism that allows transcoding to be offloaded to the GPU when an iGPU is present vs when one isn’t present?

Does this mean that you can ONLY use transcoding on the discrete GPU if you ALSO have an iGPU with quick sync?
No - when hardware transcoding is enabled, Plex will look for Quick Sync first, but if it’s not supported on the system, it’ll look for an NVENC (NVIDIA) or VCE (AMD) capable GPU. If it finds one, Plex will try to use it regardless of whether the system supports Quick Sync or not.

My server is running an AMD FX series CPU (no hardware encoding support), and it’s happily using NVENC for hardware transcoding

To directly answer your question: No.

If your system has both an iGPU & discrete GPU that are supported by Plex:

  1. If your system has a discrete GPU and an iGPU, Plex uses whichever GPU is designated as primary in the system BIOS (at least for Windows, can’t speak for other OS).
  2. If the designated primary GPU cannot handle the transcode, Plex will fall back to the CPU (not the other GPU).
  3. NVIDIA limits their consumer GPUs to two simultaneous transcodes (specifically to two simultaneous decodes and two simultaneous encodes).
  4. AFAIK, Intel iGPUs have no such fixed limitation. You can still hit a performance limit such as GPU at 100% utilization, but there is no defined limit on total number of transcodes.
  5. Not all video formats are supported by all GPUs (discrete or internal). If the designated GPU does not support the video format or has reached its transcode limit, Plex will use the CPU for transcoding.
  6. All audio is transcoded via the CPU, never by the GPU.

Hopefully you will not be transcoding much, at least for local clients.

If you expect to have many simultaneous transcodes, look at the Intel Kaby Lake & Coffee Lake CPUs. Their iGPUs support the most video formats - h264, h265, etc.

Intel iGPU capabilities are listed in the CPU datasheets. See Technical Resources: Intel® Core™ Processors. The info is in the Volume 1 datasheet.

NVIDIA publishes similar material for their GPUs. I don’t have the links handy, but they’re not hard to find w/ your favorite search engine.

Here’s a couple of tables from the datasheet for the 8th Gen CPU. There is much more detail in the PDF.

1 Like

Here’s the Nvidia info:

NVIDIA VIDEO CODEC SDK

Video Encode and Decode GPU Support Matrix

For Encode/Decode matrix, focus on Family and Chip when translating info in matrix to consumer GPUs.

Wikipedia “List of Nvidia GPUs” has info on what chipset is used by what GPU (ex: 1050Ti uses GP107).

1 Like

I hope this helps
what nvidia official drivers support for encoding

it makes Quadro p2000 valuable purchase for plex users

but there is a work around in ubuntu on youtube which allow you to unlock the drivers of nvidia consumer gpu’s like gtx 980 or 1050 ti to remove the limit of 2 coding’s

that is a problem I have, because some formats the Nvidia gpu can’t transcode as far as I discovered like 4K ( not HDR ) to 1080p the gtx 1080 Ti is not being utilized and my cpu is on 100% which is sad because I have i7 8700k.

I wish there is a method that can make plex use multiple gpu’s even 2 1080 Ti sli or igpu+discrete gpu

I know that , but point #2 stops me from buying Quadro p2000 because building my own plex server with new cpu will be useless i will be put in a stupid choice either use p2000 for many transcodes or use igpu for 4k transcode and that can’t handle many transcodes