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.

Windows 10 -- No display GPU Passthrough

Featured Replies

Hi,

 

I am trying to install windows 10 64bit on unraid.

VNC i can see the display and windows is working. but if i change to gpu passthrough i dont get any display.

 

I tried 32bit windows it works perfectly, but i need 64bit windows because of memory limitation in 32bit os.

 

is there any guide i can follow to debug the issue ? 

 

 

----

xml file

<domain type='kvm' id='4'>
  <name>Windows 10-64</name>
  <uuid>a20e9e24-c282-6774-7cdb-66352210aec5</uuid>
  <description>1064</description>
  <metadata>
    <vmtemplate xmlns="unraid" name="Windows 10" icon="windows.png" os="windows10"/>
  </metadata>
  <memory unit='KiB'>4194304</memory>
  <currentMemory unit='KiB'>4194304</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>1</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='0'/>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-i440fx-2.7'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/a20e9e24-c282-6774-7cdb-66352210aec5_VARS-pure-efi.fd</nvram>
  </os>
  <features>
    <acpi/>
    <apic/>
    <hyperv>
      <relaxed state='on'/>
      <vapic state='on'/>
      <spinlocks state='on' retries='8191'/>
      <vendor_id state='on' value='none'/>
    </hyperv>
  </features>
  <cpu mode='host-passthrough'>
    <topology sockets='1' cores='1' threads='1'/>
  </cpu>
  <clock offset='localtime'>
    <timer name='hypervclock' present='yes'/>
    <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/Windows 10-64/vdisk1.img'/>
      <backingStore/>
      <target dev='hdc' bus='virtio'/>
      <boot order='1'/>
      <alias name='virtio-disk2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/user/isos/en_windows_10_enterprise_version_1703_updated_march_2017_x64_dvd_10189290.iso'/>
      <backingStore/>
      <target dev='hda' bus='ide'/>
      <readonly/>
      <boot order='2'/>
      <alias name='ide0-0-0'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/user/isos/virtio-win-0.1.137.iso'/>
      <backingStore/>
      <target dev='hdb' bus='ide'/>
      <readonly/>
      <alias name='ide0-0-1'/>
      <address type='drive' controller='0' bus='0' target='0' unit='1'/>
    </disk>
    <controller type='usb' index='0' model='nec-xhci'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'>
      <alias name='pci.0'/>
    </controller>
    <controller type='ide' index='0'>
      <alias name='ide'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:5e:32:ec'/>
      <source bridge='br0'/>
      <target dev='vnet0'/>
      <model type='virtio'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/0'/>
      <target port='0'/>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/0'>
      <source path='/dev/pts/0'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <channel type='unix'>
      <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-4-Windows 10-64/org.qemu.guest_agent.0'/>
      <target type='virtio' name='org.qemu.guest_agent.0' state='disconnected'/>
      <alias name='channel0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='mouse' bus='ps2'>
      <alias name='input0'/>
    </input>
    <input type='keyboard' bus='ps2'>
      <alias name='input1'/>
    </input>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x046d'/>
        <product id='0xc52b'/>
        <address bus='3' device='2'/>
      </source>
      <alias name='hostdev1'/>
      <address type='usb' bus='0' port='1'/>
    </hostdev>
    <memballoon model='virtio'>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </memballoon>
  </devices>
  <seclabel type='none' model='none'/>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+0:+100</label>
    <imagelabel>+0:+100</imagelabel>
  </seclabel>
</domain>
---

 

 

thanks in advance. 

 

  • Author

update--

Initially i was trying with 1 cpu. changed to 4 cpu and gpu passthrough and unraid server crashed. 

Edited by stilicho

Try using the official ISO from microsoft instead of a hacked version.

  • Author
52 minutes ago, jonathanm said:

Try using the official ISO from microsoft instead of a hacked version.

 

hi,

 its official iso downloaded from MSDN subscription

10 minutes ago, stilicho said:

 

hi,

 its official iso downloaded from MSDN subscription

Sorry, I googled the ISO filename and saw mdl results and assumed.

Try using the publicly available ISO instead of the enterprise version.

  • Author
17 hours ago, jonathanm said:

Sorry, I googled the ISO filename and saw mdl results and assumed.

Try using the publicly available ISO instead of the enterprise version.

 

 

Tried to install windows 10 Pro. With both SeaBios and OVMF. In both case with 64bit OS no display with gpu passthrough and with 4 core allocated Unraid server crashes.

 

However 32bit works perfectly fine. 

 

 

 

windows_32bit.txt

windows_64bit.txt

Edited by stilicho

What graphics card are you trying to pass through?

Sent from my Nexus 6P using Tapatalk

  • Author
6 hours ago, Darksurf said:

What graphics card are you trying to pass through?

Sent from my Nexus 6P using Tapatalk
 

 

here is the system config 

 

MSI - H87I (MS-7851)
CPU: Intel® Core™ i5-4570 CPU @ 3.20GHz
HVM: Enabled
IOMMU: Enabled
Memory: 8 GB (max. installable capacity 32 GB)
Kernel: Linux 4.9.30-unRAID x86_64

 

Graphics Nvidia 770.  

 

Lspci output attached 

lspci.txt

  • Author
7 hours ago, Darksurf said:

What graphics card are you trying to pass through?

Sent from my Nexus 6P using Tapatalk
 

 

here is the system config 

 

MSI - H87I (MS-7851)
CPU: Intel® Core™ i5-4570 CPU @ 3.20GHz
HVM: Enabled
IOMMU: Enabled
Memory: 8 GB (max. installable capacity 32 GB)
Kernel: Linux 4.9.30-unRAID x86_64

 

Graphics Nvidia 770.  

 

Lspci output attached 

  • Author

output from syslog 

 

 

08:58:12 nas kernel: Disabling IRQ #16

Jun  1 08:58:13 nas kernel: usb 3-3: reset full-speed USB device number 2 using xhci_hcd

Jun  1 08:58:14 nas kernel: usb 3-3: reset full-speed USB device number 2 using xhci_hcd

Jun  1 08:58:15 nas kernel: kvm: zapping shadow pages for mmio generation wraparound

Jun  1 08:58:15 nas kernel: kvm: zapping shadow pages for mmio generation wraparound

Jun  1 08:58:19 nas kernel: usb 3-3: reset full-speed USB device number 2 using xhci_hcd

Jun  1 08:58:19 nas kernel: usb 3-3: reset full-speed USB device number 2 using xhci_hcd

Jun  1 08:58:19 nas kernel: usb 3-3: reset full-speed USB device number 2 using xhci_hcd

Jun  1 08:58:20 nas kernel: usb 3-3: reset full-speed USB device number 2 using xhci_hcd

Jun  1 08:59:39 nas kernel: irq 16: nobody cared (try booting with the "irqpoll" option)

Jun  1 08:59:39 nas kernel: CPU: 0 PID: 13496 Comm: CPU 0/KVM Not tainted 4.9.30-unRAID #1

Jun  1 08:59:39 nas kernel: Hardware name: MSI MS-7851/H87I (MS-7851), BIOS V2.8 05/20/2015

Jun  1 08:59:39 nas kernel: ffff88022ea03ec8 ffffffff813a4a1b ffff8802217b6a00 ffff8802217b6a00

Jun  1 08:59:39 nas kernel: ffff88022ea03ef0 ffffffff810864d1 ffff8802217b6a00 0000000000000000

Jun  1 08:59:39 nas kernel: 0000000000000010 ffff88022ea03f28 ffffffff8108679a ffff8802217b6a00

Jun  1 08:59:39 nas kernel: Call Trace:

Jun  1 08:59:39 nas kernel: <IRQ> 

Jun  1 08:59:39 nas kernel: [<ffffffff813a4a1b>] dump_stack+0x61/0x7e

Jun  1 08:59:39 nas kernel: [<ffffffff810864d1>] __report_bad_irq+0x2b/0xb4

Jun  1 08:59:39 nas kernel: [<ffffffff8108679a>] note_interrupt+0x1a0/0x22e

Jun  1 08:59:39 nas kernel: [<ffffffff81084384>] handle_irq_event_percpu+0x3d/0x46

Jun  1 08:59:39 nas kernel: [<ffffffff810843c3>] handle_irq_event+0x36/0x54

Jun  1 08:59:39 nas kernel: [<ffffffff810872e6>] handle_fasteoi_irq+0x90/0xf8

Jun  1 08:59:39 nas kernel: [<ffffffff81020585>] handle_irq+0x17/0x1b

Jun  1 08:59:39 nas kernel: [<ffffffff8101ffda>] do_IRQ+0x46/0xc2

Jun  1 08:59:39 nas kernel: [<ffffffff8167fec2>] common_interrupt+0x82/0x82

Jun  1 08:59:39 nas kernel: <EOI> 

Jun  1 08:59:39 nas kernel: [<ffffffffa0108897>] ? rmap_get_first+0x46/0x46 [kvm]

Jun  1 08:59:39 nas kernel: [<ffffffffa01088a2>] ? kvm_zap_rmapp+0xb/0x3c [kvm]

Jun  1 08:59:39 nas kernel: [<ffffffffa0107f84>] slot_handle_level_range+0x5f/0xc1 [kvm]

Jun  1 08:59:39 nas kernel: [<ffffffffa0108897>] ? rmap_get_first+0x46/0x46 [kvm]

Jun  1 08:59:39 nas kernel: [<ffffffffa010ee2a>] kvm_zap_gfn_range+0x8b/0xb8 [kvm]

Jun  1 08:59:39 nas kernel: [<ffffffffa011e8b6>] kvm_mtrr_set_msr+0x24a/0x2b0 [kvm]

Jun  1 08:59:39 nas kernel: [<ffffffffa00fe962>] kvm_set_msr_common+0x482/0xa64 [kvm]

Jun  1 08:59:39 nas kernel: [<ffffffff813b5f20>] ? find_next_bit+0x15/0x1b

Jun  1 08:59:39 nas kernel: [<ffffffffa021e58b>] vmx_set_msr+0x3cc/0x3de [kvm_intel]

Jun  1 08:59:39 nas kernel: [<ffffffffa00fb741>] kvm_set_msr+0x61/0x63 [kvm]

Jun  1 08:59:39 nas kernel: [<ffffffffa02171e9>] handle_wrmsr+0x3b/0x62 [kvm_intel]

Jun  1 08:59:39 nas kernel: [<ffffffffa021e055>] vmx_handle_exit+0xf9d/0x1035 [kvm_intel]

Jun  1 08:59:39 nas kernel: [<ffffffffa01058a9>] kvm_arch_vcpu_ioctl_run+0x357/0x1165 [kvm]

Jun  1 08:59:39 nas kernel: [<ffffffffa0215f4c>] ? __vmx_load_host_state.part.27+0x120/0x127 [kvm_intel]

Jun  1 08:59:39 nas kernel: [<ffffffffa0100088>] ? kvm_arch_vcpu_load+0xea/0x1a0 [kvm]

Jun  1 08:59:39 nas kernel: [<ffffffffa00f5d71>] kvm_vcpu_ioctl+0x178/0x499 [kvm]

Jun  1 08:59:39 nas kernel: [<ffffffff81130112>] vfs_ioctl+0x13/0x2f

Jun  1 08:59:39 nas kernel: [<ffffffff81130642>] do_vfs_ioctl+0x49c/0x50a

Jun  1 08:59:39 nas kernel: [<ffffffff8113921f>] ? __fget+0x72/0x7e

Jun  1 08:59:39 nas kernel: [<ffffffff811306ee>] SyS_ioctl+0x3e/0x5c

Jun  1 08:59:39 nas kernel: [<ffffffff8167f537>] entry_SYSCALL_64_fastpath+0x1a/0xa9

Jun  1 08:59:39 nas kernel: handlers:

Jun  1 08:59:39 nas kernel: [<ffffffff814fa942>] usb_hcd_irq

Jun  1 08:59:39 nas kernel: [<ffffffff814ee299>] vfio_intx_handler

Jun  1 08:59:39 nas kernel: Disabling IRQ #16

  • Author

output of interrupts when vm is running

 

cat /proc/interrupts

           CPU0       CPU1       CPU2       CPU3       

  0:         25          0          0          0  IR-IO-APIC   2-edge      timer

  1:          2          0          0          0  IR-IO-APIC   1-edge      i8042

  8:         34          0          0          0  IR-IO-APIC   8-edge      rtc0

  9:          0          0          0          0  IR-IO-APIC   9-fasteoi   acpi

 12:          4          0          0          0  IR-IO-APIC  12-edge      i8042

 16:     400204          0          0          0  IR-IO-APIC  16-fasteoi   ehci_hcd:usb1, vfio-intx(0000:01:00.0)

 17:        117          0          0          0  IR-IO-APIC  17-fasteoi   vfio-intx(0000:01:00.1)

 18:          0          0          0          0  IR-IO-APIC  18-fasteoi   i801_smbus

 23:         33          0          0          0  IR-IO-APIC  23-fasteoi   ehci_hcd:usb2

 24:          0          0          0          0  DMAR-MSI   0-edge      dmar0

 25:          0          0          0          0  DMAR-MSI   1-edge      dmar1

 27:       4302          0          0          0  IR-PCI-MSI 327680-edge      xhci_hcd

 28:     117311          0          0          0  IR-PCI-MSI 512000-edge      ahci[0000:00:1f.2]

 29:     125094          0          0          0  IR-PCI-MSI 1572864-edge      eth0

NMI:          0          0          0          0   Non-maskable interrupts

LOC:     211627     149852     160304      99009   Local timer interrupts

SPU:          0          0          0          0   Spurious interrupts

PMI:          0          0          0          0   Performance monitoring interrupts

IWI:          1          0          0          0   IRQ work interrupts

RTR:          0          0          0          0   APIC ICR read retries

RES:     143592     149466      10373       4761   Rescheduling interrupts

CAL:       3343       3075       1360       1280   Function call interrupts

TLB:       2889       2650        849        741   TLB shootdowns

TRM:          0          0          0          0   Thermal event interrupts

THR:          0          0          0          0   Threshold APIC interrupts

DFR:          0          0          0          0   Deferred Error APIC interrupts

MCE:          0          0          0          0   Machine check exceptions

MCP:          5          5          5          5   Machine check polls

ERR:          0

MIS:          0

PIN:          0          0          0          0   Posted-interrupt notification event

PIW:          0          0          0          0   Posted-interrupt wakeup event

Edited by stilicho

  • Author

output of interrupts when VM is not running 

 

 cat /proc/interrupts

           CPU0       CPU1       CPU2       CPU3       

  0:         25          0          0          0  IR-IO-APIC   2-edge      timer

  1:          2          0          0          0  IR-IO-APIC   1-edge      i8042

  8:         34          0          0          0  IR-IO-APIC   8-edge      rtc0

  9:          0          0          0          0  IR-IO-APIC   9-fasteoi   acpi

 12:          4          0          0          0  IR-IO-APIC  12-edge      i8042

 16:     400204          0          0          0  IR-IO-APIC  16-fasteoi   ehci_hcd:usb1

 18:          0          0          0          0  IR-IO-APIC  18-fasteoi   i801_smbus

 23:         33          0          0          0  IR-IO-APIC  23-fasteoi   ehci_hcd:usb2

 24:          0          0          0          0  DMAR-MSI   0-edge      dmar0

 25:          0          0          0          0  DMAR-MSI   1-edge      dmar1

 27:       4425          0          0          0  IR-PCI-MSI 327680-edge      xhci_hcd

 28:     118997          0          0          0  IR-PCI-MSI 512000-edge      ahci[0000:00:1f.2]

 29:     136460          0          0          0  IR-PCI-MSI 1572864-edge      eth0

NMI:          0          0          0          0   Non-maskable interrupts

LOC:     226877     159050     172084     104875   Local timer interrupts

SPU:          0          0          0          0   Spurious interrupts

PMI:          0          0          0          0   Performance monitoring interrupts

IWI:          1          0          0          0   IRQ work interrupts

RTR:          0          0          0          0   APIC ICR read retries

RES:     144103     149999      10520       4817   Rescheduling interrupts

CAL:       3422       3160       1396       1356   Function call interrupts

TLB:       2939       2704        872        785   TLB shootdowns

TRM:          0          0          0          0   Thermal event interrupts

THR:          0          0          0          0   Threshold APIC interrupts

DFR:          0          0          0          0   Deferred Error APIC interrupts

MCE:          0          0          0          0   Machine check exceptions

MCP:          5          5          5          5   Machine check polls

ERR:          0

MIS:          0

PIN:          0          0          0          0   Posted-interrupt notification event

PIW:          0          0          0          0   Posted-interrupt wakeup event

  • Author

anyone has any idea?

Is your default graphics chip set in the BIOS? You cannot have the graphics card in the first slot typically as the system tends to try and use it as the default GFX card.

 

Make sure hypervisor setting is disabled and do host passthrough for cpu.

 

<feature policy='disable' name='hypervisor'/>

 

I'm attaching my working config for Nvidia GTX1060 UEFI Win10 Install.

Nvidia-Win10.xml

Edited by Darksurf

  • Author

My default graphics is get to integrated graphics in BIOS. And unraid terminal is displayed on the 1st monitor which is connected to motherboard graphics output. 

My 2nd Monitor  is connected to my Graphics card which i am using for GPU passthrough. 

 

i will make changes in the cpu passthrough and hypervisor settings once i am back from office today. :)

Archived

This topic is now archived and is 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.