limetech

IGD Device Assignment to VMs

Recommended Posts

I have Skylake i7-6700 running well.

 

Attached driver details, also installed virtio-win-0.1.126-2.iso (latest in VM Settings)

 

Let me know if you need any other details.

 

EDIT: MB:  Gigabyte Technology Co., Ltd. - H170-D3HP-CF

Share this post


Link to post
Share on other sites
On 2/18/2017 at 2:23 AM, KShips said:

I have Skylake i7-6700 running well.

 

Attached driver details, also installed virtio-win-0.1.126-2.iso (latest in VM Settings)

 

Let me know if you need any other details.

 

EDIT: MB:  Gigabyte Technology Co., Ltd. - H170-D3HP-CF

What video device driver did you use? Was it part of VirtIO, downoaded from Microsoft or downloaded from Intel? Did you have to do anything specific to install/update the video driver?

Edited by Mojo

Share this post


Link to post
Share on other sites

Sorry for delay, I've been having issues with Unraid and the VM. The video issue has seemed random, sometimes works fine, sometimes 3 screens. I was also getting 99% ram and high cpu whenever I had gnu passed through but worked fine if I had set to VNC.

 

Regarding video driver, it is the intel 21.20.16.4590 but this was failing and I was getting the 3 screen issue. I installed latest intel update utility and installed driver from that (same version number) but still had 3 screen issue, I then ran through http://lime-technology.com/wiki/index.php/UnRAID_6/VM_Guest_Support#Post-Install_Tuning and then had to do other stuff so used VNC and rdp. Thought would try GPU again and it worked! Screen showing up correctly and the intel driver is indicating working correctly.

 

I still had major stability issues when GPU passed through with ram sitting at 99% in the VM and eventually it killed Unraid with only fix to hard reset Unraid. I decided to try setting min/max memory in unraid for the vm to the same size and that seems to have fixed the issue, I now have gpu working and the vm and unraid both seem to be working well.

 

I hope this give you something to try, I will note that this has been less than 24 hours so time will tell if it continues to work.

Share this post


Link to post
Share on other sites

I have an i5-7500 with a MSI H110M ECO motherboard and I can't get this to work. I get both the duplicated screen as shown earlier in this topic as well as error code 43 in the device manager for the GPU. I tried both the Intel drivers as the default Windows driver, neither of them works.

Anyone got a clue if this will work on Kaby Lake? All working setups in this topic seem to use CPU's of earlier generations.

Share this post


Link to post
Share on other sites
On 9.3.2017 at 7:50 PM, Soepkip said:

I have an i5-7500 with a MSI H110M ECO motherboard and I can't get this to work. I get both the duplicated screen as shown earlier in this topic as well as error code 43 in the device manager for the GPU. I tried both the Intel drivers as the default Windows driver, neither of them works.

Anyone got a clue if this will work on Kaby Lake? All working setups in this topic seem to use CPU's of earlier generations.

 

i had it running on skylake -5 6600 with an z170 mainboard, then kaby lake i7 7700 on z170, now i7 7700 on z270.

 

all gpu passthrough working fine, the splitted screen on boot (before drivers are loaded) seems to be normal, gone as soon windows is booted.

 

so yes, current gen seems to work fine ;)

 

audio passthrough was a little tough cause grouped with other devices when i understood correctly, also got that working with "pci stabbing" ...

still not perfect cause some programs like kodi only working when using WASAPI ... but rest is ok now, audio was running fine with an simple

USB audio stick plugged into an passthoughed USB controller ...

Share this post


Link to post
Share on other sites

What iGPU settings do you have set in your bios?

 
i had it running on skylake -5 6600 with an z170 mainboard, then kaby lake i7 7700 on z170, now i7 7700 on z270.
 
all gpu passthrough working fine, the splitted screen on boot (before drivers are loaded) seems to be normal, gone as soon windows is booted.
 
so yes, current gen seems to work fine
 
audio passthrough was a little tough cause grouped with other devices when i understood correctly, also got that working with "pci stabbing" ...
still not perfect cause some programs like kodi only working when using WASAPI ... but rest is ok now, audio was running fine with an simple
USB audio stick plugged into an passthoughed USB controller ...

Share this post


Link to post
Share on other sites
Posted (edited)

I just tried playing around with my iGPU and my LibreELEC VM to ditch my GT720 I was using all the time.

Unfortunately I don't get any video signal when booting the VM at all.

When I switch to the GT720 it works just like before.

 

I made sure to use i440fx with SeaBios and my iGPU is also at PCI address 00:02.0

 

Can someone help me out here?

 

Here is my xml file

<domain type='kvm'>
  <name>LibreELEC</name>
  <uuid>b45008c5-6340-90bb-2b32-3a3c28b86ccd</uuid>
  <description>LibreELEC</description>
  <metadata>
    <vmtemplate xmlns="unraid" name="Linux" icon="libreelec.png" os="linux"/>
  </metadata>
  <memory unit='KiB'>2097152</memory>
  <currentMemory unit='KiB'>2097152</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>2</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='2'/>
    <vcpupin vcpu='1' cpuset='3'/>
  </cputune>
  <os>
    <type arch='x86_64' machine='pc-i440fx-2.7'>hvm</type>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='host-passthrough'>
    <topology sockets='1' cores='2' threads='1'/>
  </cpu>
  <clock offset='utc'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/local/sbin/qemu</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/mnt/user/domains/LibreELEC/vdisk1.img'/>
      <target dev='hdc' bus='sata'/>
      <boot order='1'/>
      <address type='drive' controller='0' bus='0' target='0' unit='2'/>
    </disk>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'/>
    <controller type='sata' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:62:59:fh'/>
      <source bridge='br0'/>
      <model type='e1000'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <channel type='unix'>
      <target type='virtio' name='org.qemu.guest_agent.0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x00' slot='0x1b' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x046d'/>
        <product id='0xc52b'/>
      </source>
      <address type='usb' bus='0' port='1'/>
    </hostdev>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </memballoon>
  </devices>
</domain>

 

and my PCI device list

 

IOMMU group 0
	[8086:0c00] 00:00.0 Host bridge: Intel Corporation 4th Gen Core Processor DRAM Controller (rev 06)
IOMMU group 1
	[8086:0c01] 00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)
	[10de:1288] 01:00.0 VGA compatible controller: NVIDIA Corporation GK208 [GeForce GT 720] (rev a1)
	[10de:0e0f] 01:00.1 Audio device: NVIDIA Corporation GK208 HDMI/DP Audio Controller (rev a1)
IOMMU group 2
	[8086:0412] 00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)
IOMMU group 3
	[8086:0c0c] 00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)
IOMMU group 4
	[8086:8cb1] 00:14.0 USB controller: Intel Corporation 9 Series Chipset Family USB xHCI Controller
IOMMU group 5
	[8086:8cba] 00:16.0 Communication controller: Intel Corporation 9 Series Chipset Family ME Interface #1
IOMMU group 6
	[8086:15a1] 00:19.0 Ethernet controller: Intel Corporation Ethernet Connection (2) I218-V
IOMMU group 7
	[8086:8cad] 00:1a.0 USB controller: Intel Corporation 9 Series Chipset Family USB EHCI Controller #2
IOMMU group 8
	[8086:8ca0] 00:1b.0 Audio device: Intel Corporation 9 Series Chipset Family HD Audio Controller
IOMMU group 9
	[8086:8c90] 00:1c.0 PCI bridge: Intel Corporation 9 Series Chipset Family PCI Express Root Port 1 (rev d0)
IOMMU group 10
	[8086:8c96] 00:1c.3 PCI bridge: Intel Corporation 9 Series Chipset Family PCI Express Root Port 4 (rev d0)
IOMMU group 11
	[8086:8ca6] 00:1d.0 USB controller: Intel Corporation 9 Series Chipset Family USB EHCI Controller #1
IOMMU group 12
	[8086:8cc6] 00:1f.0 ISA bridge: Intel Corporation 9 Series Chipset Family H97 Controller
	[8086:8c82] 00:1f.2 SATA controller: Intel Corporation 9 Series Chipset Family SATA Controller [AHCI Mode]
	[8086:8ca2] 00:1f.3 SMBus: Intel Corporation 9 Series Chipset Family SMBus Controller
IOMMU group 13
	[1b21:0612] 03:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 02)

 

Edited by Marv

Share this post


Link to post
Share on other sites

Hey all!

 

I did what jowe has done but I get audio distortion coming and going when using kodi libreelec 7.0.1 in version 6.3.3.

 

Using gfx/audio thru HDMI, e3-1200 v3/4th gen HD controller (00:03:0)

 

Hardware Asus h87i-plus and i5-4570s.

Share this post


Link to post
Share on other sites
Posted (edited)
19 hours ago, Kireo said:

Hey all!

 

I did what jowe has done but I get audio distortion coming and going when using kodi libreelec 7.0.1 in version 6.3.3.

 

Using gfx/audio thru HDMI, e3-1200 v3/4th gen HD controller (00:03:0)

 

Hardware Asus h87i-plus and i5-4570s.

 

Hi,

I have the same audio device in unraid. And I still have this problem also, once every 10th start of a movie or so, but a stop and restart of movie fixes that. Sometimes i had to do a reboot of that VM to make it work, but since i scheduled a restart of VM over night , the problem is not really an issue.

 

I have an install of LibreELEC 8 done with this guide

 

 

Edited by jowe

Share this post


Link to post
Share on other sites
Posted (edited)

I have the audio distortion even after stop/start video and also restart of VM. It's coming and going, and audio seems fine when I browse in Kodi with video playing in the background.

 

I also tested with le8 community build, but same audio distortion there.

Anything else I can test?

 

Update:

Added all 4 logical cpu cores and changed to Q35-2.5, Seems to work now. Tested all kind of different video files. Using LE 8.0.1.

Edited by Kireo
working now

Share this post


Link to post
Share on other sites
23 hours ago, Kireo said:

I have the audio distortion even after stop/start video and also restart of VM. It's coming and going, and audio seems fine when I browse in Kodi with video playing in the background.

 

I also tested with le8 community build, but same audio distortion there.

Anything else I can test?

 

Update:

Added all 4 logical cpu cores and changed to Q35-2.5, Seems to work now. Tested all kind of different video files. Using LE 8.0.1.

That's nice! I use 2 vcpu, i440fx-2.7 and 2GB of RAM.

 

Another thing i thought about. Do you change your frame-rate to reflect the frame-rate of the video you are playing. I think it was working better with that of, but that can make the video lag in big panoramic scenes. Anyway, glad its working, but you shouldn't need all 4 cores for Libre/Open-ELEC.

 

JoWe

Share this post


Link to post
Share on other sites

I'm not familiar with vcpu's. I have 4 CPU cores and no threads as I can see or choose from. In VM it says I can add 1 to 4 cores.

 

In Kodi under Display it says refresh rate 60. Haven't changed much in the settings. Most is standard.

Share this post


Link to post
Share on other sites

I've been trying to set this up with no luck. I have a VM, using SeaBIOS and i440FX-2.7, but in the VM settings for GPU my only option is VNC still. I'm sure there is something simple I'm missing, but I'm not knowledgeable enough to find it. I'm currently running 6.3.5, and my CPU is a 4690K.

Share this post


Link to post
Share on other sites

Some motherboards have vt-d setting you have to turn on, not only vt-x. Manufacturer call it different things and can place it in another menu in BIOS.

Share this post


Link to post
Share on other sites
13 hours ago, Kireo said:

Some motherboards have vt-d setting you have to turn on, not only vt-x. Manufacturer call it different things and can place it in another menu in BIOS.

 

Thanks for the help, that did the trick. Knew I was missing something easy lol.

Share this post


Link to post
Share on other sites

Well, I'm back. I can assign the IGD and save those settings, but when I try to boot up my VM I can't RDP into it, or even ping it for that matter. Both of these work fine when I have it set to VNC. VM is running Windows Server 2012 fwiw.

Share this post


Link to post
Share on other sites

You did remove the vnc when you added the igpu? 

If you can't ping it, it doesn't boot up. 

Did you connect a monitor to see if something happens? 

Share this post


Link to post
Share on other sites
Posted (edited)

So after Skylake/Kaby Lake processors: broken hyper-threading I was looking for fix. Couple days ago Gigabyte released new bios for my motherboard with descreption: Update CPU micro code to fix HT flaw issue. So i updated to latest bios and after update i lost possibility pass through my Libreelec VM and Windows VM (with triple screen) at all. When I tried pass through i see Unraid login and after run VM my TV say no signal (i run Unraid 6.4.0-rc7a). And for sure, I cannot revert bios back to older version. So, I hope in another magic of LT... :-(

Edited by memphisto

Share this post


Link to post
Share on other sites
1 hour ago, memphisto said:

So after Skylake/Kaby Lake processors: broken hyper-threading I was looking for fix. Couple days ago Gigabyte released new bios for my motherboard with descreption: Update CPU micro code to fix HT flaw issue. So i updated to latest bios and after update i lost possibility pass through my Libreelec VM and Windows VM (with triple screen) at all. When I tried pass through i see Unraid login and after run VM my TV say no signal (i run Unraid 6.4.0-rc7a). And for sure, I cannot revert bios back to older version. So, I hope in another magic of LT... :-(

 

Probably better to start your own support thread for this issue.

Share this post


Link to post
Share on other sites

My i5-3570K onboard graphics isnt showing up as a Graphics card option in 6.3.5. Do I need to peruse in the bios or reboot? 6.3.X should have this feature correct? This is a big deal for me as I don't have VT-d to allow graphics card passthrough. Or maybe that is the issue, I need VT-d in order to use this feature?

 

Confirmed 00:02.0 Xeon E3-1200 2/3rd gen core processor graphics controller.

Share this post


Link to post
Share on other sites

unRAID 6.3 is already officially released. Better post your question under General V6 support.

 

Share this post


Link to post
Share on other sites

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

Copyright © 2005-2017 Lime Technology, Inc. unRAID® is a registered trademark of Lime Technology, Inc.