Jump to content

Linux hardware recommendations for hardware decoding


maxiu

Recommended Posts

Hello,

I'm looking into upgrading my system to allow H265 and 4K playback which is currently not possible because my CPU is almost 10 years old.

The two options I'm considering is AMD 5600g or Intel 12100, price-wise they are similar enough but obviously AMD offers more cores and general performance.

How does Quicksync on Intel compare to VA API on AMD, has anyone tested?

Do AMD iGPUs work with the docker images?

I don't plan on using dedicated GPU so Nvidia is not an option.

Link to comment
Share on other sites

2 hours ago, maxiu said:

Hello,

I'm looking into upgrading my system to allow H265 and 4K playback which is currently not possible because my CPU is almost 10 years old.

The two options I'm considering is AMD 5600g or Intel 12100, price-wise they are similar enough but obviously AMD offers more cores and general performance.

How does Quicksync on Intel compare to VA API on AMD, has anyone tested?

Do AMD iGPUs work with the docker images?

I don't plan on using dedicated GPU so Nvidia is not an option.

AMD is far away from even being worth to consider. The primary choices are Nvidia and Intel. While we do support AMD as much as possible, the capabilities are quite limited, and the only case where you might want to use it is when you already got the hardware and don't have any any other option.

Link to comment
Share on other sites

7 hours ago, softworkz said:

AMD is far away from even being worth to consider. The primary choices are Nvidia and Intel. While we do support AMD as much as possible, the capabilities are quite limited, and the only case where you might want to use it is when you already got the hardware and don't have any any other option.

Thanks for the heads up, I will go 12400 then because of more cores and cheap out on the mobo ;)

Link to comment
Share on other sites

Q-Droid

You probably want to stick with an older Intel gen on Linux, maybe up to 10th or 11th gen. There are still unresolved issues with HW accel on the latest gen Intel. Unless @softworkz has them sorted or a good ETA.

 

Edited by Q-Droid
Link to comment
Share on other sites

rbjtech

How long can you wait ?  As 13th Gen will almost certainly have AV1 encode as well ..  rumours have them Oct 22 - so realistically for the SKU you want (i5 13400)  - probably Q1 next year.

Edited by rbjtech
Link to comment
Share on other sites

To be honest emby is only one app I will host on this machine, older gen cost the same or even more because itx motherboards are hard to come by. I would rather wait a few releases for the bug fix than buy older gen and have inferior machine for the next 10 years.

Waiting for next gen is a never ending story.. there will always be something better just around the corner.

I would probably be fine with raw cpu horsepower for my needs but I want to save on power consumption if I can just by picking the correct platform.

thanks for the help 

Link to comment
Share on other sites

4 hours ago, Q-Droid said:

You probably want to stick with an older Intel gen on Linux, maybe up to 10th or 11th gen. There are still unresolved issues with HW accel on the latest gen Intel. Unless @softworkz has them sorted or a good ETA.

VAAPI should be good now on 12th gen. QuickSync support is currently being worked on.

  • Like 1
Link to comment
Share on other sites

BBQThunder
On 8/27/2022 at 9:30 AM, softworkz said:

VAAPI should be good now on 12th gen. QuickSync support is currently being worked on.

A follow up question.  When configuring transcoding, there is an advanced option which shows both VAAPI and QuickSync Decoders that can be selected.  Is there a recommended configuration?  Should both VAAPI and QSV be selected?

I have been trying to understand which option is the "better" decoder.

Link to comment
Share on other sites

At the decoder side, there's not much difference. For encoders, QuickSync is usually the better choice and it makes things easier to have decoders and encoders from the same HWA, even though mixing is possible as well.

  • Like 1
Link to comment
Share on other sites

BBQThunder

One follow-up/behavior question.  I tried to RTFM and search for this answer but I couldn't find it.

Does Emby include VAAPI and QSV drivers in the installer?

I am asking specifically on Linux.

The reason I ask is because I noticed when I installed Emby on Ubuntu Server 20.04 running on an Intel 10th Gen NUC, Emby had the hardware acceleration even without a desktop environment installed on installing "vainfo".  When I had a discrete Nvidia GPU on different Linux system I had to install drivers for hardware to work. 

If drivers are included in the Emby package is there any advantage to installing things like "intel-media-va-driver-non-free"?

Thanks

Link to comment
Share on other sites

23 minutes ago, BBQThunder said:

Does Emby include VAAPI and QSV drivers in the installer?

Yes, that's correct!

Unlike Nvidia, Intel does not provide a universal "'Linux' installer". For Intel, there are binaries for a few versions of a few distros and that's it (https://dgpu-docs.intel.com/releases/index.html). Besides that, you need to compile things yourself as the distro-included drivers are often insufficient and compiling all this can be a multi-day job..

So, we're including all of this with Emby as a no-pain solution for (almost) all Linux systems.

31 minutes ago, BBQThunder said:

is there any advantage to installing things like "intel-media-va-driver-non-free"?

No, we have the best and maximum included already, so you don't need to care, even when your distro thinks that non-free is bad 😉 

  • Thanks 1
Link to comment
Share on other sites

BBQThunder

That is great to know and will save me a crap ton of time not having to play with X-Windows/vainfo etc...

Emby is the best!

Thank you again.

  • Thanks 1
Link to comment
Share on other sites

Hello!
Just wanted to let you know that I bought the 12400 and run my services in k8s cluster via containerd, hardware acceleration works flawlessly, 4K H265 video without acceleration is slamming all 6 cores (70%+ CPU) with choppy playback, VAAPI allows me to stream the same video file with barely 5% CPU usage and no buffering issues (unless it is on client side hehe)

  • Thanks 1
Link to comment
Share on other sites

  • 2 months later...
BBQThunder
On 9/3/2022 at 6:56 AM, maxiu said:

Hello!
Just wanted to let you know that I bought the 12400 and run my services in k8s cluster via containerd, hardware acceleration works flawlessly, 4K H265 video without acceleration is slamming all 6 cores (70%+ CPU) with choppy playback, VAAPI allows me to stream the same video file with barely 5% CPU usage and no buffering issues (unless it is on client side hehe)

Did you buy the machine or build it yourself?  Just curious what other hardware you used for it.

Link to comment
Share on other sites

12 minutes ago, BBQThunder said:

Did you buy the machine or build it yourself?  Just curious what other hardware you used for it.

Hello!
Yes I built it myself, I use

Gigabyte H610I DDR4
Intel Core i5-12400, 2.5 GHz
G.Skill Ripjaws V, DDR4, 32 GB, 3200MHz, CL16
Kingston A2000 SSD NVMe PCIe M.2 2280 1TB (for system and transcoding cache)
SEAGATE Exos X16 16TB 4Kn SATA 3,5'' 7200RPM, 256MB cache (for media)
some BeQuiet power supply I had lying around and an ITX case with a few Enermax fans I found in my closet
 
all running on Ubuntu server with k3s cluster, works perfect
I also host several game servers on the same machine (valheim, don't starve together), Home assistant, all emby companion apps (sonarr, radarr etc.) and still have lots of room to spare in terms of CPU and RAM
Edited by maxiu
  • Thanks 1
Link to comment
Share on other sites

BBQThunder

Thanks for the fast reply.  Another question for you.  How did you get the Emby container to run in k3s?  I have the companion apps running in Docker.  But I am still coming up to speed in the details of containerization.  Are you running Emby in container.d or in a Docker container?

Link to comment
Share on other sites

19 minutes ago, BBQThunder said:

Thanks for the fast reply.  Another question for you.  How did you get the Emby container to run in k3s?  I have the companion apps running in Docker.  But I am still coming up to speed in the details of containerization.  Are you running Emby in container.d or in a Docker container?

Hello!
First thing you should know is that containers are a common standard, container from dockerhub will work in containerd, docker, crio and others I have probably not heard about. Which container runtime is running under the hood should not interest you too much!

I am afraid k3s is pretty complex for a novice because it is a full kubernetes implementation just easier to host on bare metal, I would suggest you stick with docker-compose (you can investigate tools such as portainer) or you will have huge issues debugging even the simplest problems.

If you are interested in learning kubernetes I would recommend a tool called Kind to quickly create and destroy expendable kubernetes clusters (they are however not suitable for deploying apps permanently).

Some tools which will help you get into k8s: k9s (GUI wrapper for kubectl), Helm (creates reusable and customizable yaml templates), nginx/Traefik (as an ingress controller to handle domains, choose whichever you are more familiar currently)
Then you can start playing around with more stuff like loki-stack and grafana (for logging), cert-manager (for ssl), prometheus operator (for monitoring), external-secrets (for storing secure configuration outside your cluster), I would also highly recommend ArgoCD for storing your configuration in a git repository to remove the headache of rolling back to last known good configuration.

If you google for "emby helm chart" you will find example charts, unfortunately they are not user friendly with many dependencies while emby really needs only a basic config with few resources, you would be much better off writing you own helm chart for emby by using `helm create xxx` and removing unneeded stuff. Try to deploy a single nginx container under a domain first and go on from there.

Good luck!

Edited by maxiu
  • Thanks 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...