I’m running TrueNAS on a Minisforum N5 Pro NAS and I’m looking for a quiet, low-budget, single-slot, low-profile, PCIe-powered GPU (that is mouth full…) to handle Plex transcoding and hardware acceleration for various apps.
After some research, the two viable options I’ve found are the Intel Arc Pro A40 and the PNY RTX A400 (not the A4000). The A40 supports AV1 encoding/decoding and has 6 GB of VRAM, while the A400 only supports AV1 decoding and has 4 GB of VRAM. Prices are the same in my country 180EUR.
Noise is a key factor since the NAS sits about 2 meters from my desk, so quieter is better. As a nice-to-have, I’d also like to experiment with small (≈4B) local LLMs for Home Assistant, but that isn’t a hard requirement at all.
I’m hesitant about the Intel card due to software support concerns and reports of fan noise on the A series (including A310).
What are your thoughs and experice with these cards?
Opt for low-power entry-level graphics cards like the NVIDIA GT 1030 or AMD RX 6400, which require no external power supply and offer excellent compatibility.
The AI 9 HX 370 has an RDNA 3.5 890M iGPU, which is also capable of AV1 encode/decode. AMD’s encoder has improved a lot in recent times, especially with AV1 coming on the scene, if quality was a concern. Have you experimented with this in the first instance? I’m not familiar with Plex, so I have no idea if it works it, though Jellyfin has no VA-API issues that I noticed.
If you’re set on a dGPU for encoding, I was similarly considering: the Sparkle A310, Arc Pro A40, and RTX A400 for use in an MS-A2. I ended up going with the A40 on account of the extra VRAM, though reports of fan whine on the A310 aside, I understand encode performance between the two shouldn’t be much different. The A40 will transcode a 4K HDR stream on-the-fly at over 120fps in Jellyfin just fine and is generally quieter than the system fan when doing so. Remember to enable Resizable BAR and Above 4G Decoding in the BIOS, if it’s not on already.
Thanks for your input.
I can’t seem to get the 890m to transcode properly in Plex through TrueNAS. I’ve tried both the official app and a custom YAML setup, but no luck so far.
The iGPU shows up and is recognized by Plex, but whenever I try to transcode, I get what seem to be driver errors, and it falls back to CPU transcoding.
I’ll do some research and compare Plex Pass with Jellyfin, I’ve heard people have better success with Jellyfin, so I might consider switching.
As for the GPU, after spending about 5–6 hours troubleshooting Plex, I’m thinking of going with the most stable and compatible choice, which would be Nvidia.
I want this N5 box to be a reliable home server, something I can depend on, and I’ll set up a separate machine for experimenting. This one just needs to be solid and fully functional
I managed to transcode with the 890m, i think, the app was using 6-9% CPU when doing direct play and about the same with transcode enabled, so it must be the iGPU that is doing the transcoding. Is there a way to verifiy this?
in plex there is info of the stream that has (hw) tag, but in Jellyfin is just saying transcoding.
Regarding the intel A40 Pro, you mentioned it is quiter than the A310? I have my NAS next to me so noise is quite important…
I am really confused to be honest… not sure if I should go intel A40 Pro or Nvidia A400… Feels like it is not the right choice to go with the lowest card from Nvidia, but A2000 with aftermarket cooler or 2000E Ada Gen there are out of my budget for this task…
Too bad there is not NVIDIA RTX PRO 1000 Blackwell for 400USD
So having a quick scan through some Plex pages, it seems like the current version of Plex does not include the correct driver to make full use of the 890M in your CPU. They are working on it, but probably won’e be tomorrow.
Jellyfin requires a little more configuration than Plex to access remotely, typically including a reverse proxy and DDNS (if you don’t have a static IP). It’s worth looking into but don’t up-end your whole setup without testing it first.
You can use something like radeontop to see the current GPU workload, should give you an idea if it’s being used for the transcode.
I haven’t compared te A310 and A40 noise levels personally, just heard chatter about the Sparkle cards getting a little vocal. The A40 in my MS-A2 isn’t noticeable above the CPU cooler during typical transcode tasks, haven’t done any AI stuff so can’t give you an indication there.
Bear in mind that the Arc dGPUs are basically bigger versions of the iGPUs in the current Intel CPUs, so compatibility with Plex should be great (and a quick search seems to confirm that’s the case). Whether you go with the A40 or the A400 is going to be down to your use-case, but I’m personally happy with the A40 for my transcoding needs.
This APU is a beast of a thing when configured correctly. Should work fine via Jellyfin. I’m using UNRAID but I’ve transitioned from TRUENAS(which I love but UNRAID is better for my use case).
A lot of my compose templates are actually from my old TRUENAS setup just modified PID’s and such.
Below is my compose template below. You will need to replace the PUID/PID in association to what you use in TRUENAS, but you NEED to specify /dev/dri in your devices, but most importantly the render group, which for this GPU is 18.
Also when you go into Transcoding within Jellyfin, make sure you select VAAPI and then specify /dev/dri/renderD128
Also replace the networks section with anything you’re utilizing, or remove it, whichever.
services:
jellyfin:
container_name: jellyfin
image: lscr.io/linuxserver/jellyfin:latest
environment:
- PUID=99 # your Unraid user ID
- PGID=100 # your Unraid group ID for that user
- TZ=America/New_York
ports:
- "8096:8096"
restart: unless-stopped
group_add:
- "18" # GID for video group (access to /dev/dri/*)
devices:
- /dev/dri:/dev/dri
volumes:
- /mnt/tank/configs/jellyfin:/config
- /mnt/tank/media:/media
networks:
- apps
networks:
apps: # <-- top-level networks block
external: true # set to true ONLY if you've already created the network
name: apps
Personally use B580 (a bit overkill) for Jellyfin transcoding and it can handle multiple 4K 10bit streams no problem.
Looking at Jellyfin stats, it should be able to do 6-7x 4K 10bit streams at the same time, even more at lower resolutions. Also Intel doesnt limit how many transcode threads there are. Nvidia, i believe, limits it to only 2.
I think i had to add jellyfin to render group as well for transcoding to work, but i spent like 2 hours gettin it to work, to that may not be the issue i actually had