GPU for HW video decoding? (Linux)

Hello! I have been troubling myself with this topic for the last couple of days.

I am running a Threadripper 2920x CPU and an AMD HD 7950 temporarily.

I know that there is no browser HW decoding support in Linux so that is a bummer, so I ran some tests with mpv.

It seems that my 2920x uses 10 - 15 less watts than my HD 7950 when decoding a 1080p h.264 YT video on mpv, which amazed me since I was expecting the GPU to do better but makes sense since it is an old card. My problem is that my fans constantly ramp up and down since the TR jumps to 60C from time to time while decoding.

What is the state of HW decoding on Linux? Is there full HW decoding support on AMD or NVIDIA for h.264 and/or vp9?

What would be a good card to buy and run on Linux for watching videos?

Depending on local prices on the AMD side you should look at Vega56. If you can hold out for a bit longer the 5700 (or maybe a lower variant of Navi) will give you the best support long term.

Doesn’t something like a 1050 Ti or 1650 make much more sense?

Does the Vega 56 have silicon for decoding?

I thought so because I’m watching tons of stuff. But now that you ask … I actually have no idea.
Gonna look around a bit.

Seems like Vega uses its shaders to decode VP9, lots of people complaining that GPU clocks and fan speed rise while watching YT (Windows). I was mainly thinking something low power and quiet.

So, it does.

https://wiki.archlinux.org/index.php/Hardware_video_acceleration#ATI/AMD


OK, Vega is not really low power. If that is what you want you would have to go polaris on the AMD side right now. Something like a RX560 (preferably RX570, way better chip) would be the way to go.

The Sapphire RX570 ITX is tuned to be efficient. If you want it even quiter, slap a noctua fan on there.

From what I am reading, Polaris was supposed to have “hybrid” vp9 video decoding but it ultimately was removed from the drivers. “Hybrid” seems more like hardware accelerated decoding instead of hardware decoding to me.

I would love to go with AMD but the consensus seems to be that apart from h.264, AMD has not much to offer in the hardware decoding compartment, pre-Navi at least.

Hmm, I’m scratching my head a bit. You are running Threadripper but your GPU has to be low power. Lower power than polaris. Why?

btw.:

This is what that looks like.

3 Likes

Yes they do, they have hardware h265 encoding/decoding too. Though I guess it depends how you define “hardware decoding” too. Doing it via shaders is hardware decoding as well.

If you mean an ASIC on the GPU then no, vegas can’t do VP9. They started shipping VP9 in VCN 1 which is only in Navi.

Although it’s a little weird. The Ryzen 2200G/2400G does support VCN1, but it’s still Vega based sooooo yeah. But we’re talking dedicated GPUs so doesn’t really matter.

Did not know this was a thing but now I’m impressed.

Getting a little off-topic but this is really weird for me. I mean, with Google selling Chromebooks and those being Linux based… why is noone working on this. CPU decoding drains the battery like crazy… The Chromium bug even states there’s no plans to work on this. This is such a weird stance to take.
/edit
seems there was a hack for ChromeOS… as usual, instead of fixing it properly :eyes:
Probably in fear of evil pirates takes of tin foil pirate hat

1 Like