Jump to content
jonp

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

96 posts in this topic Last Reply

Recommended Posts

fresh install won out on time over 'fixing' another.  I'm not finished, but it's finalizing updates now.

 

I'm so happy this is working so easily now.  I can remove another power hungry card from the server.

 

Core i5 HD4600 iGPU in server

 

i440fx-2.7

SeaBios

Hyper-V - yes

USB - 3.0 (qemu XHCI)

 

and passing thru a PCI USB controller  (now, to figure out which ports these are giving to windows...)

Share this post


Link to post

I spoke too soon.  video seems just fine, audio is a no-show.

 

I originally had Intel Display Audio and HD Audio (or similar) as sound devices in windows > settings > sound.

 

However, neither actually worked to give sound thru HDMI.  I then figured it'd be wise to 'start fresh' and uninstalled the audio drivers and confirmed they were gone in device manager. I then reinstalled the intel Graphics drivers (which install the audio).  Now, I can see Intel Display Audio in Device Manager, but settings > sounds says no audio devices are installed.  restarting didn't fix this obvious discrepancy.

 

I guess, I'll try removing the sound driver from the VM setup, boot, then add it and see if that gets windows to see it.

 

Am I missing something, or is Audio still sketchy with iGPU?

Share this post


Link to post

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

 

Share this post


Link to post

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)

 

Share this post


Link to post

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

Share this post


Link to post

In case someone is still insterested I have it working with an intel Kaby lake, both openelec (linux) and windows ;)

Share this post


Link to post
Posted (edited)

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!

Edited by ShortbreadUK
Re-read previous comment

Share this post


Link to post
Posted (edited)
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

Share this post


Link to post
1 minute ago, memphisto said:

So, what are your observations?

it's working very well, except on windows 10 even if the passtrough is working got error 43 on the video driver but why bother with windows ;)

Share this post


Link to post
8 hours ago, salora said:

it's working very well, except on windows 10 even if the passtrough is working got error 43 on the video driver but why bother with windows ;)

So how did you go about doing it?

 

Share this post


Link to post

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. 

Share this post


Link to post

 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

 

Share this post


Link to post
Posted (edited)

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

Share this post


Link to post
Posted (edited)

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

Share this post


Link to post

+1 to the last post. Exactly the same situation.

Are there some changes/updates to fix this?

Edited by Shurov
small amend

Share this post


Link to post

i have ASrock J5005-ITX and there is Intel UHD 605 (https://www.techpowerup.com/gpu-specs/uhd-graphics-605.c3101) any change someone was able to get it working, for libre elec or so?

Have the same problem on older J4025-ITX

 

If not which one is the cheapest card which i could plug into board and use it with some ROM? there is only 1x small PCIE on MB.

Thanks

Share this post


Link to post

Maybe my findings here can help? 

 

Share this post


Link to post

Is there an up to date step by step guide to get this working?
I've tried all the suggestions in these posts but having no luck.

 

Share this post


Link to post

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

Share this post


Link to post
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.

 

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now