[Plugin] Intel-GVT-g


Recommended Posts

Hi all,

 

don't know why, but the iGPU of my Xeon E-2246G is not showing up in the plugin.
I'm using it without any issue for transcoding in Jellyfin and it is also showing up under system devices:

grafik.thumb.png.fb1cb636ca2c35c383db5d32de17c46f.png

 

 

My Go file is also looking clean and syslinux is on default:

#!/bin/bash
# Start the Management Utility
/usr/local/sbin/emhttp &

cp /boot/custom/docker-shell /usr/local/bin

# load keyboard layout
loadkeys de-latin1-nodeadkeys 

# disable telnet and FTP

sed -i -e 's/^telnet/#telnet/;s/^ftp/#ftp/' /etc/inetd.conf
/etc/rc.d/rc.inetd restart 

 

I've added my diagnostic file.

If I try to use the iGPU in VMs without your tool via VFIO exclusively I'm getting this error:

Execution error
internal error: qemu unexpectedly closed the monitor: 2021-05-18T16:08:49.062069Z qemu-system-x86_64: -device vfio-pci,host=0000:00:02.0,id=hostdev0,bus=pcie.0,addr=0x2: vfio 0000:00:02.0: Failed to set up TRIGGER eventfd signaling for interrupt INTX-0: VFIO_DEVICE_SET_IRQS failure: Transport endpoint is not connected

 

As I just have this iGPU it should not matter but I'm having an dummy plug connected to my VGA output.

In Bios I have set iGPU to VGA priority to onboard and also tested offboard.

 

Any clue what could be the issue?

kingserver-diagnostics-20210518-1801.zip

Link to comment
4 minutes ago, gilladur said:

don't know why, but the iGPU of my Xeon E-2246G is not showing up in the plugin.

Thank you for the screenshot, actually the iGPU doesn't show up because it is named differently on your system, I will look into this and update the Plugin, don't know if I'm able to do it tomorrow but I try my best. :)

 

5 minutes ago, gilladur said:

If I try to use the iGPU in VMs without your tool via VFIO exclusively I'm getting this error

But if you do that you can't use it in Jellyfin for transcoding...

  • Like 1
Link to comment
23 minutes ago, ich777 said:

Thank you for the screenshot, actually the iGPU doesn't show up because it is named differently on your system, I will look into this and update the Plugin, don't know if I'm able to do it tomorrow but I try my best. :)

 

But if you do that you can't use it in Jellyfin for transcoding...

I know, just tried it to be sure to test everything.
Thank you for looking into my issue 🙂

Link to comment
46 minutes ago, catapultam_habeo said:

First post mentions docker containers.

I don't know what you mean exactly, these are two different things.

This plugin simply enables GVT-g for the iGPU so that you have the ability to use vGPUs in your VMs and also use it in your Docker container.

 

If you don't need vGPUs then simply install the Intel GPU TOP plugin and I recommend also installing the GPU Statistics plugin from @b3rs3rk to see the iGPU utilization on the Unraid Dashboard and then add a new Device to your Plex container '/dev/dri' (without quotes) like so:

grafik.png.4b6ac614c99a59c2e53c21a819aeb526.png

 

After that enable Hardware transcoding in the Plex container and you should be good to go.

 

 

Just to clarify:

Intel GVT-g = enables the iGPU for vGPUs and Docker containers

Intel GPU TOP = enables the iGPU only for Docker containers (needed if you want to use the GPU Statistics plugin)

GPU Statistics = enables you to see the utilization from the iGPU on the Unraid Dashboard (needs the Intel GPU TOP plugin installed)

  • Thanks 1
Link to comment
8 minutes ago, arturovf said:

How having a VM with a VGpu in use affects the hardware transcode performance of the dockers (Plex transcodes) ?

That depends and is a question that I can't answer since I don't know which CPU do you own and how many streams you want to transcode in Plex and what you do in the VM with the vGPU.

 

I can only tell you when you do light Desktop work (Internet, Youtube, Word,...) it will do pretty much nothing to the transcoding.

Link to comment
14 minutes ago, ich777 said:

I can only tell you when you do light Desktop work (Internet, Youtube, Word,...) it will do pretty much nothing to the transcoding.

 I just tried it and everything is running great, no more lag when dragging windows and there is no dropped frames when playing videos inside the VM.

 

Will try it when I have the usual transcodes running (7 transcodes, 2 of those 4k HDR).  

 

I have an i3 7100 and have an i5 11400 in a corner waiting for HDR transcode support on unraid/plex.

 

Thank you for this

Edited by arturovf
spelling
  • Like 1
Link to comment

Hi,

 

just a short feedback from my side. With your last pushed update everything seems to work.

I only made the mistake not to set an password for the windows login and then I've stuck at the remote desktop connection, which didn't allow me to log in without an password.

So new VM with the needed password and I'm in with a working iGPU.

The only issue I've encountered so far. If I reboot I can't connect to the VM - after force stop and restart it working.

Thank you @ich777 for the plugin and the great support!

Link to comment
7 hours ago, gilladur said:

I only made the mistake not to set an password for the windows login and then I've stuck at the remote desktop connection, which didn't allow me to log in without an password.

This should be easily solvable by:

  1. Shutting down the VM
  2. Remove the vGPU in the plugin settings
  3. Start the VM
  4. Connect over VNC to the VM and set a passwort
  5. Shutdown the VM
  6. Add the vGPU again
  7. Eventually make the necessary changes to only enable the vGPU
7 hours ago, gilladur said:

If I reboot I can't connect to the VM - after force stop and restart it working.

This is really strange since this never happened to me, are you on the latest Windows version with all updates and the latest GPU driver?

Eventually send me the Diagnostics after this happens (Tools -> Diagnostics -> Download -> drop the downloaded zip file here in the text box) and also the log from the VM itself.

Link to comment
11 minutes ago, gilladur said:

If this happens I get this error in the log:


qemu-system-x86_64: warning: guest updated active QH

I've added my diagnostics to the answer.

kingserver-diagnostics-20210520-0822.zip 206.45 kB · 0 downloads

It can be the case that you have to disable GuC/HuC, I will release an update for the plugin today so that switching the mode is possible in thhe GUI but a restart after switching the mode is necessary.

  • Like 1
Link to comment

Hello all user,

before i go more in the deep search on my system, because its not running for me.

i have follow hardware

internal graphics intel i5 11400

mainboard asrock z590itx

software unraid 6.92 / intel gpu tools / Intel GPU TOP / Intel GVT g

must this hardware running or isnt supported?

i want to use hardwareencoding in plex server in a docker (dev/dri)

but the subfolder in this directory dont exists

and when i make manual the command modprobe i915 nothing come return.

thnx for your help.

 

 

 

Edited by cracyfloyd
Link to comment
8 minutes ago, cracyfloyd said:

internal graphics intel i5 11400

It is very likely that it isn't supported by now since this is a really new CPU or you need another flag that you need to add to the syslinux config, what do you think @SimonF?

 

9 minutes ago, cracyfloyd said:

command modprobe i915 nothing come return

Can you give me the output of 'lsmod' (without quotes) after issuing the command?

 

I think there is a thread how to get rocket lake iGPUs working on this version of Unraid.

 

You only need under normal circumstances Intel-GPU-TOP of you only want to activate the iGPU for transcoding in Docker containers.

Link to comment
21 minutes ago, ich777 said:

It is very likely that it isn't supported by now since this is a really new CPU or you need another flag that you need to add to the syslinux config, what do you think @SimonF?

 

Can you give me the output of 'lsmod' (without quotes) after issuing the command?

 

I think there is a thread how to get rocket lake iGPUs working on this version of Unraid.

 

You only need under normal circumstances Intel-GPU-TOP of you only want to activate the iGPU for transcoding in Docker containers.

i have now installed only intel-gpu-top. 

Here my lsmod.

Module                  Size  Used by
nfnetlink_queue        20480  0
nfnetlink_log          20480  0
bluetooth             380928  0
ecdh_generic           16384  1 bluetooth
ecc                    24576  1 ecdh_generic
tun                    45056  2
wireguard              81920  0
curve25519_x86_64      32768  1 wireguard
libcurve25519_generic    49152  2 curve25519_x86_64,wireguard
libchacha20poly1305    16384  1 wireguard
chacha_x86_64          28672  1 libchacha20poly1305
poly1305_x86_64        28672  1 libchacha20poly1305
ip6_udp_tunnel         16384  1 wireguard
udp_tunnel             20480  1 wireguard
libblake2s             16384  1 wireguard
blake2s_x86_64         20480  1 libblake2s
libblake2s_generic     20480  1 blake2s_x86_64
libchacha              16384  1 chacha_x86_64
iptable_raw            16384  0
iptable_mangle         16384  0
xt_owner               16384  0
ip6table_nat           16384  0
xt_nat                 16384  8
xt_tcpudp              16384  27
veth                   24576  0
xt_conntrack           16384  6
xt_MASQUERADE          16384  12
nf_conntrack_netlink    45056  0
nfnetlink              16384  4 nfnetlink_queue,nf_conntrack_netlink,nfnetlink_log
xt_addrtype            16384  2
iptable_nat            16384  1
nf_nat                 40960  4 ip6table_nat,xt_nat,iptable_nat,xt_MASQUERADE
nf_conntrack          110592  5 xt_conntrack,nf_nat,xt_nat,nf_conntrack_netlink,xt_MASQUERADE
nf_defrag_ipv6         16384  1 nf_conntrack
nf_defrag_ipv4         16384  1 nf_conntrack
br_netfilter           24576  0
md_mod                 45056  1
vfio_mdev              16384  0
mdev                   16384  1 vfio_mdev
i915                 1986560  0
iosf_mbi               16384  1 i915
i2c_algo_bit           16384  1 i915
drm_kms_helper        163840  1 i915
drm                   356352  2 drm_kms_helper,i915
intel_gtt              20480  1 i915
agpgart                32768  2 intel_gtt,drm
syscopyarea            16384  1 drm_kms_helper
sysfillrect            16384  1 drm_kms_helper
sysimgblt              16384  1 drm_kms_helper
fb_sys_fops            16384  1 drm_kms_helper
ip6table_filter        16384  2
ip6_tables             28672  2 ip6table_filter,ip6table_nat
iptable_filter         16384  2
ip_tables              28672  4 iptable_filter,iptable_raw,iptable_nat,iptable_mangle
x_tables               28672  12 ip6table_filter,xt_conntrack,iptable_filter,xt_tcpudp,xt_addrtype,xt_nat,xt_owner,ip6_tables,iptable_raw,ip_tables,xt_MASQUERADE,iptable_mangle
bonding               114688  0
e1000e                180224  0
r8169                  73728  0
realtek                20480  1
x86_pkg_temp_thermal    16384  0
intel_powerclamp       16384  0
wmi_bmof               16384  0
coretemp               16384  0
kvm_intel             212992  0
kvm                   421888  1 kvm_intel
r8125                 126976  0
crct10dif_pclmul       16384  1
crc32_pclmul           16384  0
crc32c_intel           24576  3
ghash_clmulni_intel    16384  0
aesni_intel           364544  0
crypto_simd            16384  1 aesni_intel
cryptd                 16384  2 crypto_simd,ghash_clmulni_intel
i2c_i801               24576  0
nvme                   36864  1
ahci                   40960  2
glue_helper            16384  1 aesni_intel
i2c_smbus              16384  1 i2c_i801
i2c_core               45056  6 drm_kms_helper,i2c_algo_bit,i2c_smbus,i2c_i801,i915,drm
video                  45056  1 i915
input_leds             16384  0
libahci                28672  1 ahci
led_class              16384  1 input_leds
nvme_core              53248  3 nvme
wmi                    24576  1 wmi_bmof
backlight              16384  3 video,i915,drm
acpi_pad               24576  0
button                 16384  0

Link to comment
42 minutes ago, cracyfloyd said:

i have now installed only intel-gpu-top. 

Here my lsmod.

Module                  Size  Used by
nfnetlink_queue        20480  0
nfnetlink_log          20480  0
bluetooth             380928  0
ecdh_generic           16384  1 bluetooth
ecc                    24576  1 ecdh_generic
tun                    45056  2
wireguard              81920  0
curve25519_x86_64      32768  1 wireguard
libcurve25519_generic    49152  2 curve25519_x86_64,wireguard
libchacha20poly1305    16384  1 wireguard
chacha_x86_64          28672  1 libchacha20poly1305
poly1305_x86_64        28672  1 libchacha20poly1305
ip6_udp_tunnel         16384  1 wireguard
udp_tunnel             20480  1 wireguard
libblake2s             16384  1 wireguard
blake2s_x86_64         20480  1 libblake2s
libblake2s_generic     20480  1 blake2s_x86_64
libchacha              16384  1 chacha_x86_64
iptable_raw            16384  0
iptable_mangle         16384  0
xt_owner               16384  0
ip6table_nat           16384  0
xt_nat                 16384  8
xt_tcpudp              16384  27
veth                   24576  0
xt_conntrack           16384  6
xt_MASQUERADE          16384  12
nf_conntrack_netlink    45056  0
nfnetlink              16384  4 nfnetlink_queue,nf_conntrack_netlink,nfnetlink_log
xt_addrtype            16384  2
iptable_nat            16384  1
nf_nat                 40960  4 ip6table_nat,xt_nat,iptable_nat,xt_MASQUERADE
nf_conntrack          110592  5 xt_conntrack,nf_nat,xt_nat,nf_conntrack_netlink,xt_MASQUERADE
nf_defrag_ipv6         16384  1 nf_conntrack
nf_defrag_ipv4         16384  1 nf_conntrack
br_netfilter           24576  0
md_mod                 45056  1
vfio_mdev              16384  0
mdev                   16384  1 vfio_mdev
i915                 1986560  0
iosf_mbi               16384  1 i915
i2c_algo_bit           16384  1 i915
drm_kms_helper        163840  1 i915
drm                   356352  2 drm_kms_helper,i915
intel_gtt              20480  1 i915
agpgart                32768  2 intel_gtt,drm
syscopyarea            16384  1 drm_kms_helper
sysfillrect            16384  1 drm_kms_helper
sysimgblt              16384  1 drm_kms_helper
fb_sys_fops            16384  1 drm_kms_helper
ip6table_filter        16384  2
ip6_tables             28672  2 ip6table_filter,ip6table_nat
iptable_filter         16384  2
ip_tables              28672  4 iptable_filter,iptable_raw,iptable_nat,iptable_mangle
x_tables               28672  12 ip6table_filter,xt_conntrack,iptable_filter,xt_tcpudp,xt_addrtype,xt_nat,xt_owner,ip6_tables,iptable_raw,ip_tables,xt_MASQUERADE,iptable_mangle
bonding               114688  0
e1000e                180224  0
r8169                  73728  0
realtek                20480  1
x86_pkg_temp_thermal    16384  0
intel_powerclamp       16384  0
wmi_bmof               16384  0
coretemp               16384  0
kvm_intel             212992  0
kvm                   421888  1 kvm_intel
r8125                 126976  0
crct10dif_pclmul       16384  1
crc32_pclmul           16384  0
crc32c_intel           24576  3
ghash_clmulni_intel    16384  0
aesni_intel           364544  0
crypto_simd            16384  1 aesni_intel
cryptd                 16384  2 crypto_simd,ghash_clmulni_intel
i2c_i801               24576  0
nvme                   36864  1
ahci                   40960  2
glue_helper            16384  1 aesni_intel
i2c_smbus              16384  1 i2c_i801
i2c_core               45056  6 drm_kms_helper,i2c_algo_bit,i2c_smbus,i2c_i801,i915,drm
video                  45056  1 i915
input_leds             16384  0
libahci                28672  1 ahci
led_class              16384  1 input_leds
nvme_core              53248  3 nvme
wmi                    24576  1 wmi_bmof
backlight              16384  3 video,i915,drm
acpi_pad               24576  0
button                 16384  0

Can you provide lspci for intel vga entry?

Link to comment
6 minutes ago, SimonF said:

Can you provide lspci for intel vga entry?

00:00.0 Host bridge: Intel Corporation Device 4c53 (rev 01)
00:02.0 VGA compatible controller: Intel Corporation Device 4c8b (rev 04)
00:06.0 PCI bridge: Intel Corporation Device 4c09 (rev 01)
00:08.0 System peripheral: Intel Corporation Device 4c11 (rev 01)
00:14.0 USB controller: Intel Corporation Tiger Lake-H USB 3.2 Gen 2x1 xHCI Host Controller (rev 11)
00:14.2 RAM memory: Intel Corporation Tiger Lake-H Shared SRAM (rev 11)
00:16.0 Communication controller: Intel Corporation Tiger Lake-H Management Engine Interface (rev 11)
00:17.0 SATA controller: Intel Corporation Device 43d2 (rev 11)
00:1c.0 PCI bridge: Intel Corporation Device 43bd (rev 11)
00:1f.0 ISA bridge: Intel Corporation Device 4385 (rev 11)
00:1f.4 SMBus: Intel Corporation Tiger Lake-H SMBus Controller (rev 11)
00:1f.5 Serial bus controller [0c80]: Intel Corporation Tiger Lake-H SPI Controller (rev 11)
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (14) I219-V (rev 11)
01:00.0 Non-Volatile memory controller: Sandisk Corp WD Blue SN550 NVMe SSD (rev 01)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)

Link to comment
33 minutes ago, cracyfloyd said:

00:00.0 Host bridge: Intel Corporation Device 4c53 (rev 01)
00:02.0 VGA compatible controller: Intel Corporation Device 4c8b (rev 04)
00:06.0 PCI bridge: Intel Corporation Device 4c09 (rev 01)
00:08.0 System peripheral: Intel Corporation Device 4c11 (rev 01)
00:14.0 USB controller: Intel Corporation Tiger Lake-H USB 3.2 Gen 2x1 xHCI Host Controller (rev 11)
00:14.2 RAM memory: Intel Corporation Tiger Lake-H Shared SRAM (rev 11)
00:16.0 Communication controller: Intel Corporation Tiger Lake-H Management Engine Interface (rev 11)
00:17.0 SATA controller: Intel Corporation Device 43d2 (rev 11)
00:1c.0 PCI bridge: Intel Corporation Device 43bd (rev 11)
00:1f.0 ISA bridge: Intel Corporation Device 4385 (rev 11)
00:1f.4 SMBus: Intel Corporation Tiger Lake-H SMBus Controller (rev 11)
00:1f.5 Serial bus controller [0c80]: Intel Corporation Tiger Lake-H SPI Controller (rev 11)
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (14) I219-V (rev 11)
01:00.0 Non-Volatile memory controller: Sandisk Corp WD Blue SN550 NVMe SSD (rev 01)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)

Have you created the modprobe.d file and added entries?

 

root@computenode:~# cat /boot/config/modprobe.d/i915.conf 
options i915 force_probe=4c8b
root@computenode:~# 

 

 

Edited by SimonF
Link to comment
33 minutes ago, SimonF said:

Have you created the modprobe.d file and added entries?

 

root@computenode:~# cat /boot/config/modprobe.d/i915.conf 
options i915 force_probe=4c8b
root@computenode:~# 

 

 

thnx. now the hw transcoding runs. 

only the dirct connected monitor to the unraid system goes black with no signal. no command prompt vissible. but for me its not so important yet.

1st thnx again.

 

Link to comment
46 minutes ago, SimonF said:

Try loading intel gpu top plugin

57 minutes ago, cracyfloyd said:

force_probe=4c8b

You can accomplish this too by adding 'i915.force_probe=4c8b' to your syslinux configuration:

grafik.thumb.png.4b7e54ecf452051fb15ef4548129e72a.png

 

I would strongly recommend doing it this way, otherwise the GVT-g plugin, if you ever want to use it won't work.

Link to comment
28 minutes ago, ich777 said:

You can accomplish this too by adding 'i915.force_probe=4c8b' to your syslinux configuration:

grafik.thumb.png.4b7e54ecf452051fb15ef4548129e72a.png

 

I would strongly recommend doing it this way, otherwise the GVT-g plugin, if you ever want to use it won't work.

Hopefully in a later kernel this probe wont be required.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.