VM GPU not displaying anything


Recommended Posts

I am trying to get a GeForce GTX 750 Ti to do passthrough on a Windows 10 VM. Using the VNC works fine but when I use the GPU I see nothing but a blank screen.

1.PNG.55d38000abef039d19dfddc5394b912e.PNG

I am using the GPU as both the soundcard and GPU.

 

IOMMU: Enabled

 

>Nothing extra is in the IOMMU group:

IOMMU group 38:    [10de:1380] 42:00.0 VGA compatible controller: NVIDIA Corporation GM107 [GeForce GTX 750 Ti] (rev a2)
[10de:0fbc] 42:00.1 Audio device: NVIDIA Corporation GM107 High Definition Audio Controller [GeForce 940MX] (rev a1)

 

I also tried some tricks from Spaceinvader One to include editing the xml file.

<driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x42' slot='0x00' function='0x0'/>
      </source>
      <rom file='/mnt/user/VMs/Vbios/NVIDIAGTX750Ti1536'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x42' slot='0x00' function='0x1'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </hostdev>

 

Here are the logs I get when booting up:

Aug 1 19:47:04 Media01 kernel: vfio-pci 0000:42:00.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
Aug 1 19:47:04 Media01 kernel: br0: port 2(vnet0) entered blocking state
Aug 1 19:47:04 Media01 kernel: br0: port 2(vnet0) entered disabled state
Aug 1 19:47:04 Media01 kernel: device vnet0 entered promiscuous mode
Aug 1 19:47:04 Media01 kernel: br0: port 2(vnet0) entered blocking state
Aug 1 19:47:04 Media01 kernel: br0: port 2(vnet0) entered forwarding state
Aug 1 19:47:05 Media01 avahi-daemon[5639]: Joining mDNS multicast group on interface vnet0.IPv6 with address fe80::fc54:ff:fe5d:28ed.
Aug 1 19:47:05 Media01 avahi-daemon[5639]: New relevant interface vnet0.IPv6 for mDNS.
Aug 1 19:47:05 Media01 avahi-daemon[5639]: Registering new address record for fe80::fc54:ff:fe5d:28ed on vnet0.*.
Aug 1 19:47:07 Media01 kernel: vfio_ecap_init: 0000:42:00.0 hiding ecap 0x1e@0x258
Aug 1 19:47:07 Media01 kernel: vfio_ecap_init: 0000:42:00.0 hiding ecap 0x19@0x900
Aug 1 19:47:07 Media01 acpid: input device has been disconnected, fd 5

 

I am not seeing any other logs to give me any clues.

 

2.thumb.png.d128d7b6b8df75dc852985a9da7a8743.png

 

I also tested/swapped cables. 

To check for video I have a monitor plugged directly in AND am using Splashtop that was confirmed working when I use VNC.

 

At this point I think I am missing the obvious and if so I clearly am not seeing it. 

 

I thank you for taking the time to read this and look forward to any help offered.

Edited by Gobananas
Link to comment

i do have the same card. and working on amd tho. 

 

btw, i dumped and hex edited the rom file

 

 

here's my xml

<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>MEDIA-WIN10VM</name>
  <uuid>xxxxxxxxxxxxxxxxdeletedxxxxxxxxxxxxxxxxxxxxxxx</uuid>
  <metadata>
    <vmtemplate xmlns="unraid" name="Windows 10" icon="windows.png" os="windows10"/>
  </metadata>
  <memory unit='KiB'>8388608</memory>
  <currentMemory unit='KiB'>8388608</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>12</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='10'/>
    <vcpupin vcpu='1' cpuset='26'/>
    <vcpupin vcpu='2' cpuset='11'/>
    <vcpupin vcpu='3' cpuset='27'/>
    <vcpupin vcpu='4' cpuset='12'/>
    <vcpupin vcpu='5' cpuset='28'/>
    <vcpupin vcpu='6' cpuset='13'/>
    <vcpupin vcpu='7' cpuset='29'/>
    <vcpupin vcpu='8' cpuset='14'/>
    <vcpupin vcpu='9' cpuset='30'/>
    <vcpupin vcpu='10' cpuset='15'/>
    <vcpupin vcpu='11' cpuset='31'/>
  </cputune>
  <os>
    <type arch='x86_64' machine='pc-q35-5.0'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/98a0afe9-b3c1-d815-3c0a-abe51aed678d_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='1234567890ab'/>
    </hyperv>
    <kvm>
      <hidden state='on'/>
    </kvm>
    <vmport state='off'/>
    <ioapic driver='kvm'/>
  </features>
  <cpu mode='host-passthrough' check='none'>
    <topology sockets='1' dies='1' cores='6' threads='2'/>
    <cache mode='passthrough'/>
    <feature policy='require' name='topoext'/>
  </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/MEDIA-WIN10VM/vdisk1.img'/>
      <target dev='hdc' bus='virtio'/>
      <boot order='1'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/user/isos/virtio-win-0.1.173-2.iso'/>
      <target dev='hdb' bus='sata'/>
      <readonly/>
      <address type='drive' controller='0' bus='0' target='0' unit='1'/>
    </disk>
    <controller type='pci' index='0' model='pcie-root'/>
    <controller type='pci' index='1' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='1' port='0x8'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/>
    </controller>
    <controller type='pci' index='2' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='2' port='0xe'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x6'/>
    </controller>
    <controller type='pci' index='3' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='3' port='0x9'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='pci' index='4' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='4' port='0xa'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
    </controller>
    <controller type='pci' index='5' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='5' port='0xb'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/>
    </controller>
    <controller type='pci' index='6' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='6' port='0xc'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x4'/>
    </controller>
    <controller type='pci' index='7' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='7' port='0xd'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x5'/>
    </controller>
    <controller type='pci' index='8' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='8' port='0xf'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x7'/>
    </controller>
    <controller type='pci' index='9' model='pcie-to-pci-bridge'>
      <model name='pcie-pci-bridge'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
    </controller>
    <controller type='sata' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <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>
    <interface type='bridge'>
      <mac address='52:54:00:c4:3e:1e'/>
      <source bridge='br0'/>
      <model type='virtio-net'/>
      <address type='pci' domain='0x0000' bus='0x09' slot='0x01' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
    </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='tablet' bus='usb'>
      <address type='usb' bus='0' port='1'/>
    </input>
    <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='0x10' slot='0x00' function='0x0'/>
      </source>
      <rom file='/mnt/user/isos/Asus-GTX750Ti.Edited.rom'/>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x10' slot='0x00' function='0x1'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x1411'/>
        <product id='0x1819'/>
      </source>
      <address type='usb' bus='0' port='2'/>
    </hostdev>
    <memballoon model='none'/>
  </devices>
  <qemu:commandline>
    <qemu:arg value='-cpu'/>
    <qemu:arg value='host,kvm=off,hv_vendor_id=null'/>
    <qemu:arg value='-machine'/>
    <qemu:arg value='q35,kernel_irqchip=on'/>
  </qemu:commandline>
</domain>
 

Link to comment
2 hours ago, Unraid Newbie said:

 <rom file='/mnt/user/isos/Asus-GTX750Ti.Edited.rom'/>

I too edited my xml as you did. I noticed my edit did NOT have .rom at the end so I changed the extension to that and added it in the xml. Booted with no issues but still not getting any display. I will keep digging in what you posted and elsewhere.

Link to comment
On 8/6/2020 at 4:07 PM, meep said:

@Gobananas

@Unraid Newbie

 

In both the above cases, the xml for the video devices have not been edited correctly. This may not be the root cause, but there are a number of steps you can follow for best results.

 

Check out the link in my sig and come back with the suggested deayils once you’ve exhausted those steps.

Thank you for the advise meep. After going over your amazing guide and solving many other puzzles like getting virt-manager to work. I am still not sure on what is going on. Virt-manager simply shows a blank screen. Nothing more. I moved the GPU to another PC to confirm it was working and it had no trouble at all. Still I grabbed 2 1100w power supplies so I could upgrade the GPU to a Geforce 680. Once I get the new power supplies I am going to start off again from the "Click 'Add Hardware' and choose Graphics to add a Spice or VNC adapter." ( Meeps guide: https://mediaserver8.blogspot.com/2020/07/problems-passing-through-gpu-to-unraid.html). I will post again my results.

 

To get Virt-manager to work for me:
From the Nerd pack:

netcat-openbsd-1.105-x86_64-2.tgz

libffi-3.3-x86_64-1.txz

 

After these were installed go to virt-manager:
File>Hypervisor>Customer URI>qemu+ssh://root@your-server-ip/system

 

Thanks to all who help me and everyone else. The support is amazing here!

 

 

 

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.