Intel IGD (integrated graphics) Pass Through Support - March 2016 Update


Recommended Posts

I created a topic already it seems more appropriate here.

 

I just installed unRAID and I am trying to pass through the onboard video Asrock Z370 Extreme4/I7 8700K (Intel IGD - UHD 630 iGPU) to a Windows 10 VM and just get a black screen when starting the VM.

image.png.bdcc7afd9323546968b98204f1accbe4.png

 

I am able to VNC when using all VM settings. I have installed Team Viewer and have been able to connect but only when using OVMF BIOS.  I have also tried every combination of VM setup possible.  Double checked all my Asrock BIOS settings, including setting Onboard Graphics as Primary Display etc..

 

IGD is in its own IOMMU group

IOMMU group 1:	[8086:3e92] 00:02.0 VGA compatible controller: Intel Corporation Device 3e92

And the Intel Device 00:2:0 is listed under GRAPHICS CARD in VM Setup.

image.png.fa349368c1d2cbfd08cd225c929fecee.png

 

I did a lot of reading and it appears that perhaps the new Coffee Lake's iGPU may not be supported yet. 

 

Has anyone tried IGD pass through with an 8th gen?

 

Any help is much appreciated.

IOMMU group 0:	[8086:3ec2] 00:00.0 Host bridge: Intel Corporation Device 3ec2 (rev 07)
IOMMU group 1:	[8086:3e92] 00:02.0 VGA compatible controller: Intel Corporation Device 3e92
IOMMU group 2:	[8086:a2af] 00:14.0 USB controller: Intel Corporation 200 Series PCH USB 3.0 xHCI Controller
[8086:a2b1] 00:14.2 Signal processing controller: Intel Corporation 200 Series PCH Thermal Subsystem
IOMMU group 3:	[8086:a2ba] 00:16.0 Communication controller: Intel Corporation 200 Series PCH CSME HECI #1
IOMMU group 4:	[8086:a282] 00:17.0 SATA controller: Intel Corporation 200 Series PCH SATA controller [AHCI mode]
IOMMU group 5:	[8086:a2e7] 00:1b.0 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #17 (rev f0)
IOMMU group 6:	[8086:a290] 00:1c.0 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #1 (rev f0)
IOMMU group 7:	[8086:a291] 00:1c.1 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #2 (rev f0)
IOMMU group 8:	[8086:a294] 00:1c.4 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #5 (rev f0)
IOMMU group 9:	[8086:a298] 00:1d.0 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #9 (rev f0)
IOMMU group 10:	[8086:a2c9] 00:1f.0 ISA bridge: Intel Corporation Device a2c9
[8086:a2a1] 00:1f.2 Memory controller: Intel Corporation 200 Series PCH PMC
[8086:a2f0] 00:1f.3 Audio device: Intel Corporation 200 Series PCH HD Audio
[8086:a2a3] 00:1f.4 SMBus: Intel Corporation 200 Series PCH SMBus Controller
IOMMU group 11:	[8086:15b8] 00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (2) I219-V
IOMMU group 12:	[1b21:0612] 03:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 02)
IOMMU group 13:	[1b21:2142] 04:00.0 USB controller: ASMedia Technology Inc. Device 2142

 

Link to comment
  • 3 weeks later...

Well I'am about to make it work with an 8gen intel core too

had to boot with seabios and isolate the gpu and audio in syslinux conf like that :

 

 append pcie_acs_override=downstream vfio-pci.ids=8086:5912,8086:a170 modprobe.blacklist=i2c_i801,i2c_smbus initrd=/bzroot

 

first I install win10 with vnc, then change settings to use my IGP and connect to vm with remote desktop to install intel drivers

so far audio is passed, but on reboot even if I can see windows logon screen the vm just freeze !

and something about my device 00:02.0 already in use (the graphic adapter) 

so I'm stuck there and have no choice I cannot add another video card (no room in the case and the PCIE slot is used with a network card)

 

Link to comment

here is the logs

 

2018-04-28T18:39:27.886254Z qemu-system-x86_64: vfio_region_write(0000:00:02.0:region2+0x291a50, 0x6d6d6d006d6d6d,8) failed: Device or resource busy
2018-04-28T18:39:27.886260Z qemu-system-x86_64: vfio_region_write(0000:00:02.0:region2+0x291a58, 0x6d6d6d006d6d6d,8) failed: Device or resource busy

Link to comment
  • 3 weeks later...
4 minutes ago, ShortbreadUK said:

I'm looking to get the Coffee lake working (i7-8700). Anyone managed it yet?

Edit: @salora you have the same i7-8700? Please fill me in!

it is an I3 but it' s a kaby lake :) but it come with igd hd630 so it should work

Edited by salora
Link to comment

Yea, would also love some step by step help on setting this up ?

 

I’m hoping to use IGD for a LibreElec vm that I have so I can use that graphics card for something else. Looks like you’re using yours for OpenElec so hopefully its comparable. 

Link to comment

 first i'm running this on a gigabyte b150m-ds3h motherboard with a i3 kabylake with hd630 this should work for you guys because your cpu is seen the same way as mine by unraid

I collected informations on various sites and put it together to make it work !

 

first thing is to have igd enable and primary graphic in the bios nothing auto !

This work for me only with seabios and I440fx no ovmf no Q35 even for linux vm's

graphic card need to be seen in iommu groups as 00:02.0 and sound as 00:1f.3

you need to break the iommu groups and isolate the devices from the host with this in syslinux configuration

 

kernel /bzimage
append pcie_acs_override=downstream vfio-pci.ids=8086:a170 modprobe.blacklist=i2c_i801,i2c_smbussnd_hda_intel video=efifb:off,vesafb:off initrd=/bzroot

 

replace 8086:a170 with what correspond to your sound card , mine is :

[8086:a170] 00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31)

 

for windows create your vm with vnc and no sound card and install windows like that, download intel hd 630 drivers and enable RDP.

shutdown, change your vm settings to include video and audio cards, start and connect with rdp, at this point passthrough was working but at bad resolution

with rdp session install intel hd 630 Drivers and voila !

 

for open elec follow this guide but i did it with a standard openelec distro not a custom

 

Link to comment

Please be aware this will not work with unraid gui boot up

and you will not see the boot sequence of unraid after the bzroot command line !! so you will not be able to do anything on unraid except with the web interface!

 

I gathered infos here

 

http://vfio.blogspot.fr/2016/07/intel-graphics-assignment.html

 

https://www.redhat.com/archives/vfio-users/2016-September/msg00031.html

 

 

Edited by salora
Link to comment
  • 3 months later...

So I am trying to get using the IGD for LibreElec to work. I am using a E3-1245 v6, so my CPU should be compatible.

 

What I did so far:

1) I have disabled the IGD for the unraid OS as described by salora and after the bzroot the screen will freeze like it should. 

2) When using Seabios and i440fx for the LibreElec VM, it will start, the screen will turn black and then stop getting output. Meanwhile the VM will occupy a single thread to 100% and nothing will happen anymore (the VM boots fine with VNC instead of IGD).

3) After switching to Q35 for the VM I got a error in the log, which I think indicates where my problem is: "2018-08-28T11:22:05.839331Z qemu-system-x86_64: -device vfio-pci,host=00:02.0,id=hostdev0,bus=pcie.0,addr=0x2: IGD device 0000:00:02.0 cannot support legacy mode due to existing devices at address 1f.0"

 

so there is something running on 1f.0 that is still in the way. Using lspci -nn shows the following for the device:

00:1f.0 ISA bridge [0601]: Intel Corporation Sunrise Point-H LPC Controller [8086:a149] (rev 31)
 

So I guess I need to disable the LPC controller to get this working, but here is where I can't make progress. I tried disabling as much as possible in the BIOS but the LPC Controller is still in the way. I thought it might be related to the serial port on my motherboard, but I am not sure what the LPC controller on my mobo even does. My mobo is a ASRockRack - C236 WSI.

 

I hope someone has a good idea what I could try to get this working. 

 

EDIT: After reading further on here: https://vfio.blogspot.com/2016/07/intel-graphics-assignment.html

I found out that my problem with Q35 is expected behaviour and the general reason, why Q35 won't work. So my mistake there :(

 

But when sticking to i440fx I still can't get this to run and I have no idea what I need to change, as I have followed the mentioned instructions. So now I have no idea where my problem is. Any help?

Edited by Draic
Link to comment
  • 2 months later...
  • 2 weeks later...

hmm i dont think it will be even working due to fact is already on going 2y:

1. either QEMU devs dont care about Intel graphics 

2. or Intel doesnt share right source code to be usable in QEMU

 

AMD didnt release such low power cpus yet except 2200g and 2400g which takes a bit more Watts.

So if we are trying to build NAS which uses 15-20W intel is only way :(

Also there is an issue that those small ITX board have only one mini PCIE port so we can even get a cheap 2nd GPU in there, only option is to connect it via PCIE Riser, but in small box there is not much space to play around with that

Link to comment
2 hours ago, killeriq said:

hmm i dont think it will be even working due to fact is already on going 2y:

1. either QEMU devs dont care about Intel graphics 

2. or Intel doesnt share right source code to be usable in QEMU

 

AMD didnt release such low power cpus yet except 2200g and 2400g which takes a bit more Watts.

So if we are trying to build NAS which uses 15-20W intel is only way :(

Also there is an issue that those small ITX board have only one mini PCIE port so we can even get a cheap 2nd GPU in there, only option is to connect it via PCIE Riser, but in small box there is not much space to play around with that

According to previous posts, several people have successfully got it working, I just need a step by step guide as i've followed many suggestions with no success.

 

Link to comment
  • 2 months later...
Hello everyone, I run a topic here 
and its was one reply " You can use embedded graphics for unraid but you won't want to use it on a VM."
 
So I have a i7 8700 (non K) with Intel HD 630 (I thin it's a 630) on the board. And it's no possible to Pass-Through integrated graphic card to VM???
 
No, it's not afaik

Sent from my Mi A1 using Tapatalk

Link to comment

i switcht from Proxmox to unraid and running LibreELEC in a vm is a must for me. With the following steps i got it working for an intel i5 4th gen (i5-4670,HD4600) with an Asrock B85M Pro4:

 

VM Settings (VMS --> VM Name --> Edit):

Bios: Seabios

Machine: i440fx-3.0

afbeelding.png.d439b3ffd2d6b80030b342bdccb445ef.png 

 

VM Manager(SETTINGS --> VM Manager):

PCIe ACS override: both

VFIO allow unsafe interrupts: Yes

 

Syslinux (/boot/syslinux/syslinux.cfg): YOU WILL LOOSE UNRAID BOOT GUI, so you can only use WEBGUI and SSH to access your Tower.

 

added: vfio-pci.ids=8086:0412 modprobe.blacklist=i915,snd_hda_intel,snd_hda_codec_hdmi video=efifb:off

 

so line 8 looks like this: (Not sure if "snd_hda_intel,snd_hda_codec_hdmi" is needed)

 

append pcie_acs_override=downstream,multifunction vfio-pci.ids=8086:0412 modprobe.blacklist=i915,snd_hda_intel,snd_hda_codec_hdmi video=efifb:off vfio_iommu_type1.allow_unsafe_interrupts=1 initrd=/bzroot

 

Find: vfio-pci.ids= VALUE

find IGD adres: Unraid Webgui --> TOOLS --> System devices, and look for VGA:

afbeelding.thumb.png.7f8a73b76b9224f62db11a43447cc477.png 

 

Find: modprobe.blacklist= VALUE

SSH to your TOWER: typ: lspci -ks 00:02.0

afbeelding.thumb.png.80f92de591b25bb02814e803cdf3f978.pngl

 

Look for: Kernel Modules

So in this case it would be: modprobe.blacklist=i915

 

afbeelding.png

afbeelding.png

afbeelding.png

Edited by Dikkekop
Link to comment
  • 1 month later...
  • 1 month later...
  • 2 months later...

Hello,

 

I read through all posts and it seems that GPU passthrough for i7-8700 (integrated GPU  - HDU 630) on Asus MoBo is not available to run OSX VM.

Here is my post with all details on CPU, MoBo, errors and other stuff.

 

 

My CPU is compatible with iGTV project (which supports Intel i-7 8th generation)

 

Are there any solutions as of July 31, 2019, to pass through this GPU?

 

Any step by step guide would be appreciated!

 

Btw, I entered BIOS, and ensured that primary Graphics is set to use the Integrated GPU on my CPU. I can start OSX VM but I get frozen login screen and cannot proceed.

 

Thank you!

 

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.