Does Plex hardware transcoding work with AMD Radeon cards?

I’ve read quite a bit of conflicting info and even some of the Plex staff seem to confused on this point-

Can Plex utilize AMD GPU’s for hardware transcoding?

1 Like

I would start here: https://support.plex.tv/articles/115002178853-using-hardware-accelerated-streaming/

At a quick glance yes, assuming all other requirements are met.

the plex write-up doesn’t say anything about it not supporting AMD cards. Granted there’s a ton of bad info out there but I’ve read quite a bit about it not being officially supported or at least not well supported. I’m looking at a couple people that have tested and posted results showing much less powerful NVIDIA cards outperforming AMD cards like the Vega 64. I was hoping to get an official (or close to) statement on this from Plex as there doesnt seem to be anything firm one way or the other. Everything plex references always says nvidia (from what I’ve seen) but if AMD didnt work as effectively I would think that would be mentioned. Thanks

FYI the rest of the requirements are met (new Intel CPU, plex pass etc).

1 Like

The official hardware transcoding article is super foggy about whether Plex can use hardware acceleration on amd hardware, good news, in Windows, even without an intel cpu, Plex can 100% utilize amd video cards for transcoding(encoding & decoding) using the windows dxva2 api, here’s the results of my experiment into the topic.

7 Likes

Hey thanks a lot for sharing this. There’s surprisingly little hard evidence available so I really appreciate it. You may of seen this but @SlothTechTV made a cool video testing AMD gpu’s specifically for plex transcoding here- https://youtu.be/aXt06PgEOAU

1 Like

Yeah i saw that video on my hunt for answers, i just wished he hadn’t compared apples to oranges, unfortunately the amd cards he selected were from their gaming targeted range (as opposed to their wx pro workstation targeted line) vs the nvidia quadro workstation targeted line…
Considering the performance you’re after isn’t gaming related but media encode decode focused i would’ve thought apples to apples would make a good video.
He did say in the video he might one day repeat that process with amd wx workstation cards which i would still like to see.

Youre not wrong about it being barren out there regarding the topic, I’ve found things like this article which compares a much wider range of cards against workstation targeted loads:
https://techgage.com/article/radeon-pro-vs-quadro-a-fresh-look-at-workstation-gpu-performance/3/
more specifically Page 3 does a hardware accelerated encode test, but again that’s only half of the picture,

But yeah glad i could help confirm the question anyway, if you’re considering an amd build good luck! Was a fun process! :slight_smile:

On a side note in the video you posted i did notice his mention of unlocking consumer grade nvidia cards max nvenc sessions may have been a little dated, where he mentioned its a linux thing, and then about how the downside of linux is plex’s inability to support hardware decoding, i think now you can unlock nvidia cards nvenc limit in windows using recent enough drivers for most current versions of windows, which should fully support the hw accelerated transcode process. probably going into the project que now i’ve looked at the subject matter again so thanks for that! :smiley:

1 Like

You are correct. Nvenc is now unlocked in Linux; I can confirm this now works in unraid. The drivers were made available roughly 6 months ago.
Thanks again; really appreciate the help.

Curious if you had any background or heard any examples of how amd gpu transcoding on plex performs vs nvidia in the same environment?

Funny you should mention that, i’m sensing a new project coming on where i build a new baremetal intel nvidia hw transcoder (got my eye out for the release of a quadro turing1000) along side my amd rig and have both pointing at the same media library on something like a raid 1 nas and battle them.

Hey curious, you mentioned in regards to the video from Sloth TV:

" i just wished he hadn’t compared apples to oranges, unfortunately the amd cards he selected were from their gaming targeted range (as opposed to their wx pro workstation targeted line)"

Regardless the machine he tested them on, as long as it’s consistent for both the AMD cards and the nvidia cards and using relatively new GPU’s, wouldn’t that give us a decent base line as to how the two cards perform to compare it too? I may be mistaken but it seems most people that have AMD cards but I’m not an expert by any means.

I guess what I’m asking is what’s apples/oranges about his test?

I’m not super knowledgable about video cards in regards to video transcoding so I’m trying to figure out if there are any other variables that are impacting AMD performance that I might be unaware of. I naively jumped in and purchased a 580x to use for transcoding with Plex since it doesn’t work that well Id like to learn a bit more. Thanks

So at a high level, AMD & Nvidia both release cards designed to target different markets, Gaming (Consumer) & Workstation (Enterprise).

Most widely publicized are your consumer cards (RTX, GTX, Radeon’s, Vegas etc.) which are built primarily to meet gaming requirements with all sorts of hardware optimizations to out do each other in this consumer market, i’m gonna make a massive generalization but quite often lower build quality chips are acceptable here especially in terms of video encode performance with cost cutting corners frequently in place to benefit home users in terms of price with large reductions in performance as far as workstation level loads are concerned being acceptable because most home users simply don’t have the same requirements as an animation team would.

I can think of a few examples of this cost cutting behavior off the top of my head from each manufacturer, but a recent one i was looking at this week was with nvidias GeForce GTX 1650 where they’ve reused the previous architectures nvenc chips, presumably as the failure rate in manufacture process of the turing architecture bumps the cost up too high or maybe they just made heaps of volta nvenc chips before they jumped to turing, who knows, in some cases hardware encoding is completely removed from this grade of cards like in the gt1030 as it might even be deemed users purchasing these cards wont need this feature and it will shave the dollars to consumer in the end and still provide some gaming and movie watching assistance (apologies for the nvidia exclusive examples, not to pick on them, ive been researching down the nvidia rabbit hole again recently as per my last post).

Then less in the spotlight/more behind the curtains are your enterprise class cards (Quadro, Tesla, wxPro) which are powerful in their own right, in high end scenarios even more-so than their consumer counterparts, but this type of hardware is targeted more at assisting with accuracy/quality/computationally intensive heavy workplace loads as opposed to smoothing out live game performance, often focused on hardware assist tasks like insane architectural CAD renders, deep learning, cryptography & movie grade video editing (which would be the industry demand driving improvements in hardware encoding and decoding partly tied to why plex sits so nicely on this class of card) and priced to target businesses where: performance & quality is everything, the cost of a card is irrelevant and in general built to reduce multi hour computational overhead of generating more realistic effects or higher quality behaviors than current games even attempt to utilize in real time.

At the end of the day plex benefits primarily from the performance boosts encode and decode chip functionality a card provides.

so TLDR;
While all cards in his comparison were graphics cards, if you’re pulling an nvidia workstation card into the lineup i’d be interested to see the amd workstation equivalent in action along side to see the performance comparison of cards in the same class, that’s all :slightly_smiling_face:
I imagine high end nvidia will still beat amd’s equivalent in most circumstances using plex as AMDs hardware transcode end to end has to go through the windows api which is just going to add another layer of abstraction in comparison to nvidia’s nvenc being directly supported by plex but for interest sake i’d love to know the gap. :slight_smile:

1 Like

I wanted to reply back to this in case it helped someone. I did some testing using an AMD RX580 for transcoding (Mac). It’s far from very scientific but it’s consistent with other findings.

So I tested 4 transcode streams using the dedicated AMD GPU for transcoding vs regular software transcoding.

The files were 1080p and had bitrates that fell between 8-9Mbps and I transcoded them to 720/4Mb

Using the dedicated AMD for transcoding the 4 streams had the GPU pinned at 100% and (CPU use was pretty insignificant and fluctuated around 10-20%). This is pretty consistent with @slothtechtv findings he posted on reddit:

What’s interesting is with hardware transcoding turned off, you can see the AMD GPU was still being utilized quite a bit albeit not as intensely it would ounce between 30-50% and the CPU use was roughly the same:

I got it working on a 5,1 Classic Mac Pro via this write up - https://forums.macrumors.com/threads/activate-amd-hardware-acceleration.2180095/page-9#post-27442938

Bought a used MSI 4GB RX 560 from eBay, did the mod & it’s running! So far I’m only seeing h264 support but some are reporting it will decode only some h265 stuff as well. There is actually 2 different mods (same guy has a write up on the beginning post, but I think the one I linked is more reliable and less maintenance imo)

1 Like

Interesting read; I’m trying to figure out what was done here vs wasn’t available before (or how it relates to Plex.)

This thread is more about Plex supporting AMD cards. Meaning we can get AMD cards to work with Plex, just not particularly well (compared to Nvidia or even software transcoding).

Or am I missing something?

@MeatBall maybe I did a bad job of explaining but that mod tells the system that there’s a Polaris GPU that can be used for the VideoToolbox framework, i.e. hardware accelerated transcoding in Plex. For whatever reason, without that mod, macOS uses software transcoding on the CPU instead of the AMD GPU. It’s something folks on here have been asking about - getting hardware transcoding on their old Mac Pros. I dunno how or if this would apply to other systems, it might for people using eGPUs. But for those willing to upgrade the video card in the cheese grater to at least an RX 560, you can enable some support for GPU based transcoding.

Short answer is yes to your question, you can get Plex to transcode on AMD cards, though for a very specific setup.

Gotcha, yea I was referring to the performance of AMD cards vs Nvidia. Getting it recognized/utilized hasn’t been an issue (but As you mentioned it might be an issue on older hardware or non egpu’s).

In terms of the performance, the little info that’s out there would indicate it’s not even an OS thing as much as a Plex thing because the issue has been raised with Linux and Windows.

With that established, and now that’s it’s installed - how does it measure up vs software transcoding on the same machine?

@MeatBall yeah I don’t have a comparison of AMD vs NVIDIA… that’s actually a hard comparison because each OS is different in what it prefers to use for encoding & which cards are compatible, NVIDIA & Apple are at odds right now, so only a couple of cards are natively supported in macOS as of 10.14 Mojave. No web drivers were made available past 10.13.6. NVIDIA limits the non Quadro cards to 2 transcodes. Mac is limited to one (a limitation that has been removed in Mojave but not in Plex yet). On Mac, CPUs that support Intel QSV and Polaris AMD cards are supported. Linux seems to like the NViDIA cards & there’s a mod out there to unlock the non quadro cards to transcode multiple streams. There’s a couple demos on YouTube where someone was transcoding 20+ streams before the box started to slow down. I didn’t see that anywhere possible on the AMD. Which card is better? What OS and hardware you running? In terms of software transcoding- is a complete joke on older machines. It’s not even a viable option. Unless you got a beefy Xeon for its day and only want one stream, you can get buy. I had to set mine up to do direct play when possible and not make Plex transcode the video.

Not AMD vs Nvidia (nvidia clearly is better at transcoding on Plex as of now)
AMD hardware transcoding on your machine vs software transcoding on your machine

or are you saying you can’t really transcode using your xeon?

1 Like

@MeatBall correct, the Xeon is not good at software transcoding. Considering I was running a W3565 and one stream was taking over half the capacity and was barely maintaining frame rate ( sometimes it wouldn’t), it was pretty obvious that software wasn’t going to cut it. So I threw together a Linux box, I scavenged one from my local makerspace that took the same ram and procs as the old Mac Pro. Made that a dual x5670 running Ubuntu. It was a pain to maintain for me and then I couldn’t remote into anymore. Gave up trying to fix the problem, pulled one CPU, upgraded the Mac & then did the GPU file mod. I’m pretty happy how it turned out. These old xeons make decently cheap workstations today, but without Intel QSV support they are very slow dealing with video, so putting in a video card that supports transcoding is very important. Intel Quick Sync Video is on chips that have the integrated graphics starting with Sandy Bridge. Without it, you’ll basically brute forcing it with the proc. Not optimal experience at all with that setup. Had the Linux machine stayed running for me I was hoping to toss an NViDIA card in.

I goofed on the last writeup, I had built the Linux box before I picked up the Mac Pro. Bought the cMP because it was all the same parts I bought for the Linux machine I could migrate over if needed. Which is what I wound up doing. Also had a stack of matching drives that still worked too.