Gobananas Posted August 2, 2020 Share Posted August 2, 2020 (edited) 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. 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. 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 August 2, 2020 by Gobananas Quote Link to comment
Gobananas Posted August 6, 2020 Author Share Posted August 6, 2020 Bump ^ Anyone have any ideas or thoughts? Quote Link to comment
Unraid Newbie Posted August 6, 2020 Share Posted August 6, 2020 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> Quote Link to comment
Gobananas Posted August 6, 2020 Author Share Posted August 6, 2020 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. Quote Link to comment
meep Posted August 6, 2020 Share Posted August 6, 2020 @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. 1 Quote Link to comment
Gobananas Posted August 8, 2020 Author Share Posted August 8, 2020 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! Quote Link to comment
Recommended Posts
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.