Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

unRAID plugin for iGPU SR-IOV support

Featured Replies

On 7/17/2023 at 4:11 PM, mkkk said:

What is VF numbers? What should I select?

 

image.thumb.png.a872d5f6b651ac9c90edb7d2383edc63.png

 

I can output video with my Ubuntu VM, but not Windows

 

Unraid 6.12.2

 

image.thumb.png.3c4f5b5aa984fe472759a97fb2e3f854.png

I am getting the same VFIO errors.   Since ive upgraded from 6.11 to 6.12, ive had nothing but issues. From docker networking, VMs and wireguard.   GPU passthrough totally broke for me. 

 

Its terribly frustrating.

  • Replies 399
  • Views 127.9k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • I have now adapted the plugin so that users are able to install it on Unraid 6.12.4 without any workarounds and to make sure that packages for upcoming Unraid versions are available. The new plug

  • I want to thank you for providing this solution and information in this thread! Was reading for a while now and fully managed to get iGPU passthrouh working yesterday.   My used Hardwar

  • For all who are in need of a plugin package for Unraid 6.12.4 here it is: i915-sriov-6.1.49-Unraid.txz i915-sriov-6.1.49-Unraid.txz.md5   To install them do the following:

Posted Images

I am able to get this to work with my 12500 but the issue is that it doesn't output baremetal through the HDMI port of my mobo. I'm trying to use the Intel UHD Graphics 770 in my Windows 10 VM but the display that shows from the HDMI port is the console output of unRAID. This is despite the fact that my setup has a discrete GPU, RTX 3050, that has been configured in the bios to be the INIT DISPLAY GPU (PEG) and IGPU MULTI-MONITOR is ENABLED. SR-IOV is also enabled in bios along with ABOVE 4G DECODING.

 

What is strange is that when I fire up the VM with 2 GPUs, VNC AND the iGPU, and access the VM through VNC, I can see under device manager that the UHD 770 is listed there and working fine without code 43. Yet I am unable to get an output through the mobo's HDMI port. When I edit the VM to 1 GPU with the RTX 3050, I am able to get an output through the HDMI port of the 3050.

That Makes totaly Sense. 
 

your PC boots up with Display Output over the Nvidia until Unriad Boots up then Unraid stubs that GPU so no Output.

 

Unraid finds another active GPU and takes over.

 

That IGPU + Output is used by Unraid because its Not stubbed 

 

IF you install something like the steamOS docker und use the HDMI you get an Display Output on your Monitor.

 

That is the State of sriov with Intel IGPUs in Unraid.

 

in the Intel Papers there are some hints that you could get more Video Outputs with VGPUs.

 

the VFs dont have Video Output over HDMI by now.

 

you need a virtual Display driver in your VM to use Parsec or install AnyDesk or something Similar.

 

 

Edited by domrockt

I have tried to stub the iGPU by checking under

 

TOOLS > SYSTEM DEVICES and checking against the iGPU and clicking BIND SELECTED TO VFIO AT BOOT

 

I still don't get an output through the iGPU in the Windows 10 VM.

 

Basically I'm just asking for a way to get an output from my mobo's (MSI B660M-A DDR4) HDMI port driven by the UHD Graphics 770 of the i5 12500.

you need to delete the Intel GPU Top 

you need to delete the Intel sriov Plugin 

 

bind the IGPU 00:02.0 to VFIO

 

reboot

 

add your IGPU to your VM Output should work.

  • 2 weeks later...

I am running the latest build, 6.12.3.  I recently moved my install to new hardware from a power hungry Dell T620/p2000 to an Intel 12700k w/ Asus TUF GAMING Z690-PLUS WIFI D4 (dang microcenter and their deals!!).  My build includes 64gb ram, a perc h811 sas card in IT mode, a p2000, dual SN850 2TB's for cache, and a single 1tb SN850 for VM's.

 

Moving the install was super easy, I upgraded my cache from sata ssd's to dual 2tb nvme's.

 

I have a few goals

1. I'd like to remove the P2000 I use for transcoding to reduce power usage

2. Use the Intel GPU for transcoding with plex docker

3. Use the Intel GPU for Windows VM, possibly more vms, or an encoder docker if possible.

 

I have tried to get the VM working first, and have enabled SR-IOV in the bios.  If I use the SR-IOV plugin I can now see 2 extra video card devices as [8086:4680] 00:02.1 VGA compatible controller: Intel Corporation AlderLake-S GT1 (rev 0c).  When I pass either to the VM, I can install a video driver, but it will only do 640*480.  I have the intel gpu set as the primary gpu, and a monitor plugged into it.

 

Is there any way to make this setup work to do what I want?  When I see posts that some of these plugins, gpu top & intel sr-iov, can't co-exist makes me think it isn't possible yet.

6 hours ago, THEDTM said:

Is there any way to make this setup work to do what I want?  When I see posts that some of these plugins, gpu top & intel sr-iov, can't co-exist makes me think it isn't possible yet.

 

Yes sure, install Parsec or a Virtual Display Driver like https://github.com/roshkins/IddSampleDriver and you are good to go

 

be sure to use only the VF's 00:02.1, 00:02.2, 00:02.3 and so on..., in your VM's NOT the OG IGPU 00:02.0!!!  Do not STUB that either :D

Thank you for this great plugin! Can you please recompile it for the kernel version in the latest uNRAID 6.12.4? (kernel v6.1.49)

Hi,Can't download i915-sriov module Package for kernel v6.1.49.      Unraid6.12.4   CPU:i7 13700    UHD770       Do plugins need to be equipped with a new kernel?

 

i915-sriov error.png

2 hours ago, HDLynx said:

Hi,Can't download i915-sriov module Package for kernel v6.1.49.      Unraid6.12.4   CPU:i7 13700    UHD770       Do plugins need to be equipped with a new kernel?

 

Yes, it needs to be updated for v6.1.49. There's a list of supported kernels here: https://github.com/zhtengw/unraid-i915-sriov/tree/master/packages

I would have built it myself but unfortunately there's no build instructions in the repo.

On 5/10/2023 at 5:38 PM, Duglim said:

 

  1. Last but not least I also bound the Onboard Soundcard to VFIO and passed to to the VM (again in XML-mode) and finally had sound in Parsec.

Hi @Duglim, I've passed through the sound card, its enabled in Device Manager but I'm seeing "No output devices found".

Any ideas on what to try next?

I thought about installing Intel graphics or audio drivers but their website doesn't present many for downloading. 

 

8 hours ago, Daniel15 said:

 

Yes, it needs to be updated for v6.1.49. There's a list of supported kernels here: https://github.com/zhtengw/unraid-i915-sriov/tree/master/packages

I would have built it myself but unfortunately there's no build instructions in the repo.

Thanks! I look forward to the author updating the plugin.

Hi,

 

I also look forward from an update of the author.

 

best regards René

I am currently running unraid 6.12.3 and have recently started playing around with this plugin. I have been able to passthrough one of the virtual gpu's to windows 11 and successfully install the drivers. However, parsec will not hardware encode the stream no matter what I do. The best I can get is software encoding, which obviously doesn't use the passthrough gpu. I have seen several other post stating they successfully have used parsec. Any help would be  appreciated. 

Parsec gives you the option to emulate an Display, you need to use this function.

Edited by domrockt

5 hours ago, domrockt said:

Parsec gives you the option to emulate an Display, you need to use this function.

Thank you for your reply.  I believe I have already done this. I installed the virtual display driver from parsec and then changed the parsec host setting to fallback to the virtual display. None of this worked. Is there anything else besides those two steps? 

4 hours ago, nfinete said:

Thank you for your reply.  I believe I have already done this. I installed the virtual display driver from parsec and then changed the parsec host setting to fallback to the virtual display. None of this worked. Is there anything else besides those two steps? 

 

 

try this, make a connection via Remotedesktop (from Win)(as fallback) when this connection works delete the VNC in the VM and use just the VF, that should do the trick.

Edited by domrockt

4 hours ago, domrockt said:

 

 

try this, make a connection via Remotedesktop (from Win)(as fallback) when this connection works delete the VNC in the VM and use just the VF, that should do the trick.

 

Unfortunately, still no joy.  Here is a screenshot of parsec and my windows device manger. I am stumped. I appreciate you trying to assist. 

 

image.thumb.png.dddcaee7d16cf9e125635bf2a172f0b3.png

On 6/27/2023 at 10:19 PM, zhtengw said:

这是因为系统在加载插件驱动之前先执行了检查vfio绑定的脚本,在设备页面取消绑定就好了

请问“在设备页面取消绑定”是具体操作什么?我也遇到了这样的情况,感谢。

Hi, I'm trying to pass the "UHD Graphics 770" from my "13th Gen Intel(R) Core(TM) i9-13900K" to a Windows 10 VM. At first I tried passing the physical GPU directly to the VM, but I got the Code 43 error.

 

I don't know if it's relevant, but I've been running two gaming VMs with discrete GPUs for a while now. I'm trying to set up a headless VM with the integrated GPU.

 

Then I found this thread, and thought I'd try passing a virtualized iGPU. I've unbound the VFIO from 00:02.0, and installed this plugin. But it looks like the driver says my iGPU is not supported?

 

$  dmesg | grep i915 
[   48.309332] i915 0000:00:02.0: enabling device (0006 -> 0007)
[   48.310076] i915 0000:00:02.0: [drm] VT-d active for gfx access
[   48.310102] i915 0000:00:02.0: [drm] Using Transparent Hugepages
[   48.311491] mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_component_ops [i915])
[   48.312329] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/adls_dmc_ver2_01.bin (v2.1)
[   48.978485] i915 0000:00:02.0: [drm] failed to retrieve link info, disabling eDP
[   49.067476] i915 0000:00:02.0: [drm] GuC firmware i915/tgl_guc_70.bin version 70.5.1
[   49.067481] i915 0000:00:02.0: [drm] HuC firmware i915/tgl_huc.bin version 7.9.3
[   49.070461] i915 0000:00:02.0: [drm] HuC authenticated
[   49.070910] i915 0000:00:02.0: [drm] GuC submission enabled
[   49.070911] i915 0000:00:02.0: [drm] GuC SLPC enabled
[   49.071369] i915 0000:00:02.0: [drm] GuC RC: enabled
[   49.071980] mei_pxp 0000:00:16.0-fbf6fcf1-96cf-4e2e-a6a6-1bab8cbe36b1: bound 0000:00:02.0 (ops i915_pxp_tee_component_ops [i915])
[   49.072029] i915 0000:00:02.0: [drm] Protected Xe Path (PXP) protected content support initialized
[   49.073624] [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 0
[   49.137484] i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device
[   49.154410] i915 0000:00:02.0: [drm] Unsupported device. GVT-g is disabled

 

Thanks for any help!

Edited by coppit
Added a context paragraph.

7 hours ago, coppit said:

Hi, I'm trying to pass the "UHD Graphics 770" from my "13th Gen Intel(R) Core(TM) i9-13900K" to a Windows 10 VM. At first I tried passing the physical GPU directly to the VM, but I got the Code 43 error.

 

I don't know if it's relevant, but I've been running two gaming VMs with discrete GPUs for a while now. I'm trying to set up a headless VM with the integrated GPU.

 

Then I found this thread, and thought I'd try passing a virtualized iGPU. I've unbound the VFIO from 00:02.0, and installed this plugin. But it looks like the driver says my iGPU is not supported?

 

$  dmesg | grep i915 
[   48.309332] i915 0000:00:02.0: enabling device (0006 -> 0007)
[   48.310076] i915 0000:00:02.0: [drm] VT-d active for gfx access
[   48.310102] i915 0000:00:02.0: [drm] Using Transparent Hugepages
[   48.311491] mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_component_ops [i915])
[   48.312329] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/adls_dmc_ver2_01.bin (v2.1)
[   48.978485] i915 0000:00:02.0: [drm] failed to retrieve link info, disabling eDP
[   49.067476] i915 0000:00:02.0: [drm] GuC firmware i915/tgl_guc_70.bin version 70.5.1
[   49.067481] i915 0000:00:02.0: [drm] HuC firmware i915/tgl_huc.bin version 7.9.3
[   49.070461] i915 0000:00:02.0: [drm] HuC authenticated
[   49.070910] i915 0000:00:02.0: [drm] GuC submission enabled
[   49.070911] i915 0000:00:02.0: [drm] GuC SLPC enabled
[   49.071369] i915 0000:00:02.0: [drm] GuC RC: enabled
[   49.071980] mei_pxp 0000:00:16.0-fbf6fcf1-96cf-4e2e-a6a6-1bab8cbe36b1: bound 0000:00:02.0 (ops i915_pxp_tee_component_ops [i915])
[   49.072029] i915 0000:00:02.0: [drm] Protected Xe Path (PXP) protected content support initialized
[   49.073624] [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 0
[   49.137484] i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device
[   49.154410] i915 0000:00:02.0: [drm] Unsupported device. GVT-g is disabled

 

Thanks for any help!

don't bind to vfio. it creates the VF's then just add those on your vm template page, read a few posts prior this exact question has been asked. sr-iov is not VFIO.

 

also until this is updated for 6.1.49 it will not create vf's

@zhtengwi'll be sad if this plugin dies. i've seen some forks on github, but not updated. i see its just some scripts, a page for sr-iov, and just updates the module for the kernel (i915.ko)?. i wonder if it would be possible to fork and just update the module, but i'm not familar with plugin creation, or if simply updated the module for 6.1.49 would be the only needed fix.

 

added: it does appear that the i915.ko driver exists already. so would this plugin only need to install the conf file, add the page to emhttp, and patch libvirt.php? it appears the kernel module is the failure point, causing it to remove the conf files, and libvirt edit, but not emhttp edit. but this page is useless as it also removes the i915-sriov folder so the config will not stay. i'm not familar enough with scripting but could i just removed the kernel module part from the plugin script? or does this plugin include a different i915.ko driver? 

 

got this far.... its late an i'm past my knowledge.

 i915 0000:00:02.0: driver does not support SR-IOV configuration via sysfs

Edited by letrain
inquries/testing

On 9/5/2023 at 11:00 PM, nfinete said:

 

Unfortunately, still no joy.  Here is a screenshot of parsec and my windows device manger. I am stumped. I appreciate you trying to assist. 

 

 

ok iam on it, i downgraded to 6.12.3 and give you all i have :D

setting up a new Vm right now.

Edited by domrockt

On 9/12/2023 at 2:00 AM, domrockt said:

 

ok iam on it, i downgraded to 6.12.3 and give you all i have :D

setting up a new Vm right now.

Any update?

On 7/15/2023 at 10:55 AM, letrain said:

unraid 6.12.3 was just released. it broke sr-iov. worked fine in 6.12.2. 

6.12.3 - 

"Docker

This release resolves an issue where Docker does not properly stop when the array Stops, which can result in an unclean shutdown.

If Docker containers have issues starting after a while, and you are running Plex, go to your Plex Docker container settings, switch to advanced view, and add this to the Extra Params: --no-healthcheck"

 

I had the this problem with dockers and unclean shutdown, and disks not unmounting so upgraded. after upgrading sr-iov was missing. after trying to reinstall it this is the dialog. it appears in settings again, but as soon as i try to save config, and enable it doesn't work. 

- So according to this, the latest version SR-IOV works with is possibly 6.12.2 BUT might also have a docker issue. 
- 6.11.5 works BUT you still have to modify to a custom kernel apparently, which I would like to avoid.

So my best options are possibly to update to 6.12.0 - 6.12.2; but Unraid doesn't give me the option to pick, only installs the latest OS version (6.12.4 which doesnt currently work with SR-IOV)) through the GUI.

Can someone please:
1) Let me know which version or route might be the best.
2) Link me to how to upgrade to a specific OS version please.
I see the Manual Installation Method with the download versions link, but it doesn't explain how to do this on an existing Unraid server.

Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.