Hardware transcoding in Jellyfin: no GPU visable?

I’m new to TrueNas, so bare with me.

I spend this afternoon searching the web for anything that resembles my issue, to no avail. So I hope i don’t missed any posts.
It all sounds so simple…

I come from a Synology with Jellyfin running in container and preforming HW-transcoding on the intergrated GPU.
This created bottleneck issues, especially on 4K content.

I now got my friends old pc with the following specs:
CPU: Intel Core i7-4790K
GPU: Asus GTX750TI-OC-2GD5 (GeForce GTX 750 Ti)
Mobo: Asus Z97-K
Pool: WD6003FFBX (4x 6TB)
SSD: Gigabyte GP-GSM2NE3512GNTD

I especially was looking forward to a dedicated GPU for when transcoding multiple (4K) streams.

I installed TrueNas on the SSD and created a pool, users, SMB, etc…
Works perfectly!
But when installing the Jellyfin app, i was confronted with (Both!) the intel and the nvidia dropdown was empty (see screenshot)

I checked the Shell with nvidia-smi and this was the output:

admin@truenas[~]$ nvidia-smi
Thu Aug  8 17:39:02 2024       
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 545.23.08              Driver Version: 545.23.08    CUDA Version: 12.3     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce GTX 750 Ti      Off | 00000000:01:00.0 Off |                  N/A |
| 33%   44C    P0               1W /  38W |      0MiB /  2048MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
                                                                                         
+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|  No running processes found                                                           |
+---------------------------------------------------------------------------------------+

It looks like TrueNas does recognize the GPU but does not want to share it…

Aslo, when i navigate to System Settings → Advanced → Isolated GPU Device(s) → Configure, i can choose the GPU from the drop-down, but notifies me with the following message:

> At least 1 GPU is required by the host for its functions.
> With your selection, no GPU is available for the host to consume.

Like, it doesn’t consider the intel iGPU for TrueNas.
I don’t know if these two are related though…

Any help is much appreciated!

TL;DR:
TrueNas doesn’t give me a GPU option on installing (or configuring) Jellyfin.
TrueNas looks like it does recognize the GPU though.

Hello, another newbie here o/

I was having a similar problem on my setup (which also has a GTX 750 Ti) and after updating TrueNAS to 24.04.2.3 the “GPU Resource” dropdown on the app settings started to work mostly fine, without needing to mess with GPU isolation on the system settings.

It shows options up to 5, but I don’t know exactly what this number means. Judging by the help text on the “(?)” and by it only working when I select 1, I’ll assume that is physical GPUs (but why it gives the option to select up to 5… I don’t know).

I was experimented with the other values too, but then the dropdown options got weird again, looking like before the update. A server reboot made the dropdown returned to normal and managed to select one GPU successfully.

After that, I enabled the Nvidia hardware acceleration option inside Jellyfin, selected the decoding options based on the Nvidia website (can’t add hyperlinks, so there we go https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new) and also selected the hardware encoding option (but not for HVEC or AV1).

Then the nvidia-smi command started to show some ffmpeg processes when a video is being played through Jellyfin.

If you plan on using the GPU only for video encoding/decoding, I would consider using the iGPU, since it has all the codecs that the GPU already has while using less power (tho nvidia-smi does not show a huge amount of power consumption on my server, so probably not too relevant). The concurrent session limit of the GPU driver would also be gone, but I’m not sure if the iGPU can handle more concurrent sessions than the GPU limit for this to be an upside.