Intel iGPU Monitoring

xellos

Cadet
Joined
Jun 15, 2023
Messages
1
Hello foks!

This is my first post here and I hope its the right place for it. I searched everywhere and couldn't find an answer for this.

My Setup:
A mini PC with an Intel Celeron 5105, 32Gb DDR4 and a few SATA SSDs for storage. I am running jellyfin and plex in pods/containers in Truenas Scale (latest official stable version).

The problem:
I want to utilize quicksync in jellyfin and/or plex, and after configuring it, I don't know if it's working or not, I don't know how to monitor the iGPU.

What am looking for:
A way to monitor intel iGPU in Trunas. I know about intel_gpu_top but I can't install it as apt is disabled in Trunas, and I also can't run it inside my containers (plex and jellyfin) as they don't come with it and apt/yum is disabled in the docker images.

Does anyone have any idea how I can accomplish that?
Thanks!
 
Joined
Aug 10, 2023
Messages
3
Hello,

I am in the same situation as you are. I'm also running TrueNAS Scale on an Intel Celeron 5105. I've installed the official Jellyfin app and I cannot get GPU decoding to work. I've been reading through a lot of articles and long story short: It does not work as you expect.
Take a look on this post

TrueNAS Scale requires one GPU for the host and won't let you use it in a Docker container or other VMs.

Normally you would go to Settings -> Advanced -> Isolated GPU devices -> Configure -> and then select the GPU(s) for later passthrough.
But you will get the following error message when just using the single iGPU.
1691704614374.png


So you will need a discrete GPU for HW transcoding. In my case I'll get a M.2 to PCIE x16 adapter and use an old GPU as I only got a M.2 slot with PCIE Gen3 x1 Slot available on my motherboard.

I'm new to TSC but that's my conclusion. Take it with a grain of salt and feel free to correct me if I'm wrong.
 

HoneyBadger

actually does care
Administrator
Moderator
iXsystems
Joined
Feb 6, 2014
Messages
5,112
Hi @xellos and @schallakuchen

Enabling the newer Intel iGPUs for transcoding in TrueNAS Bluefin does require a little extra work with tunables that are hardware specific. Please see the thread:


You don't require a second GPU to run Docker-based workloads; the isolation setting is for VMs which require exclusive access to the hardware.
 
Joined
Aug 10, 2023
Messages
3
Hi @HoneyBadger,
You are absolutely right. However, I still could not get HW-transcoding to work on my system for different reasons.

I'm running TrueNAS-SCALE-22.12.3.3 which is based on the following kernel:
Code:
admin@truenas[~]$ uname -a
Linux truenas 5.15.107+truenas #1 SMP Tue Jul 25 00:05:02 UTC 2023 x86_64 GNU/Linux

The 5.15.x kernel is supposed to support Jasper Lake iGPUs. I don't get the error message as described in your linked thread.
Code:
admin@truenas[~]$ sudo dmesg | grep i915
[sudo] password for admin:
[    8.166021] i915 0000:00:02.0: [drm] VT-d active for gfx access
[    8.169732] i915 0000:00:02.0: vgaarb: deactivate vga console
[    8.173947] i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
[    8.180144] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/icl_dmc_ver1_09.bin (v1.9)
[    8.182663] mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_component_ops [i915])
[    8.352574] [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 0
[    8.355182] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[   11.058845] fbcon: i915drmfb (fb0) is primary device
[   11.117032] i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device

Code:
admin@truenas[~]$ lspci | grep -iE 'vga|display'
00:02.0 VGA compatible controller: Intel Corporation Device 4e61 (rev 01)

And when spinning up the Jellyfin app, I am able to select the GPU with a dropdown (0 to 6)
1693601534000.png


So far so good and it looked promising. But when I enable the hw-acceleration within Jellyfin settings, It throws an error on all clients, everytime it tries to transcode.
1693602055012.png


I conducted the Jellyfin setup guide and found 2 hints which affect my setup. I got a Jasper Lake 5105 which requires to enable Low-Power Encoding. And in point 2. it says that kernel v5.15.x is not able to utilize this exact low-power mode. Since I don't want to mess with the kernel version on my TrueNAS system, I'm stuck at this point.
1693601681955.png


Do I have to sit it out or does anybody know a different solution?
 

HoneyBadger

actually does care
Administrator
Moderator
iXsystems
Joined
Feb 6, 2014
Messages
5,112
Hi @schallakuchen

Sorry to hear that you seem to be stuck at a difficult intersection of hardware and kernel support.

The new Cobia BETA will be using Linux kernel 6.1 which will hopefully resolve this issue - however, it's still a "BETA" at the moment. If you do choose to upgrade (either to BETA or when the RC drops) I'd suggest not updating the pool to the new version yet, so that you can still revert if necessary.
 
Joined
Aug 10, 2023
Messages
3
Hi,
Yes I saw that Cobia uses 6.1. Yesterday I put in a different boot drive, updated to Cobia and tried it again. First it looked even worse, but after 2 restarts something changed. The system reports the GPU as Jasperlake now and I see this as a success as it was just generic before. However, I still was successful using it as renderer within the Jellyfin app. At this point it is most likely a mistake from my side and with more tinkering it would run I suppose.
For now I'll sit it out and hope something magically changes until Cobia's final release in Q4 or somewhen later :D

Thank you for your support.

@xellos
If you got some spare time and do not mind to run on the nightly tree of TrueNAS, feel free to try Cobia Beta, it's your best option.
I'm not very familiar with Linux systems but whenever I got more time for investigation I will keep you updated here.
 
Top