Geck0 Posted March 20, 2022 Share Posted March 20, 2022 Hi All, I've tried every guide on here, including Spaceinvader's excellent tutorial. Code 43 was an issue. I became frustrated with trying to dump the vbios, download copies, etc. I've managed to sort this, testing it 3 times flawlessly without the vbios being loaded. I'll keep this as brief as possible, hopefully I will help somebody and give something back to the community. If I've helped, let me know. My set up: unRaid 6.9 and I refined the process on 6.10 rc2 and now rc3. The below settings reflect unRaid 6.10 rc2 and rc3 Processor: AMD 5950x Board: Aorus extreme X570 GPU: Aorus Extreme Waterforce WB 24gb. Bios settings: SVM mode: Enabled PCIEX16 SLOT: Gen 3 (I have a Linkup PCIE 4 adapter and this is what they recommend) PCIE SLOT CONFIGURATION: Gen 3 (Changed to Gen 4 later with no problems and not relevant just commenting) IOMMU: Enabled BIOS: F34 ACE: ENABLE CSM Support: Enable STORAGE BOOT OPTION CONTROL: LEGACY OTHER PCI DEVICE ROM PRIORITY: UEFI Only unRaid Boot configuration: kernal /bzimage append initrd=/bzroot video=efifb:off acpi_enforce_resources=lax pcie_acs_override=downstream Windows 10 vm: Machine: Q35-5.0 Bios: Seabios Hyper-v: Yes USB Controller: 2.0 (EHCI) VirtIO Drivers: virtio-win-0.1.190.lso Graphics card: VNC (change later to actual graphics card) Sound: None. Process: Boot with Windows 10 iso installation. Switch to VNC and follow installation steps. Skip network enable and stick to the bare minimum, ie. no Cortana and the rest of the rubbish. After installation, go to Device Manager You will notice several PCI devices that are not installed. Right click and select the ethernet device and install via browse. Select your virtual drivers iso. In my case E:\ This will install Redhat drivers for your br0 virtual ethernet device. After installation, you can select the other devices with missing drivers or wait and they will install on their own. (You may find one that doesn't install PCI Simple Communications if I recall correctly) Go to Windows Updater and install Windows Update, including .NET framework. Install tight VNC server and configure for remote access. Record your IP address, so you can access remotely. Reboot and check that you can access your VM remotely using tight VNC. (I suggest making the ip address static, you can do this through your router in your leasing pool). Download the drivers packages for your graphics card. In my case, I downloaded both: 1. 461.72-desktop-win10-64bit-international-dch-whql 2. 496.13-desktop-win10-win11-64bit-international-dch-whql Shutdown your VM and change settings: (You should have already reserved your graphics card in Tools / System Devices and restarted for this to take effect) Remember, that you should be doing this remotely on unRaid as the efifb=off will not allow you to use the graphics card, as its also being handed off for use in the VM. Graphics: Nvidia Geforce RTX 3090 (0d:00.0) Graphics card ROM bios: none Sound card: NVIDIA GA102 HD Audio Controller (0d:00:1) Press update but do not start the VM yet. Edit the configuration of the VM again but select "form view" in top right hand corner. Find your graphics card mapping, in my case on bus='0x04' 1. add multifunction='on' to the first line of your graphics card. 2. Change the bus for the HD audio of the card to bus='0x04' as well and the function to function='0x1' I've copied the relevant section of mine below. If this does not make sense, then you need to look at Spaceinvader's tutorials and a post by Skitals here on the forum first. Quote <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x0d' slot='0x00' function='0x1'/> </source> <alias name='hostdev1'/> <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0' multifunction='on'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x0a' slot='0x00' function='0x0'/> </source> <alias name='hostdev2'/> <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x1'/> </hostdev> Click update and start the VM ( Remember, if you change the config settings in the GUI, non-form section of the configuration for the VM, you will lose these entries and have to re-add them). Start your VM. VNC into your VM and login. I suggest being patient and waiting to see if Windows will find your graphics card itself. Check the notification window by selecting it from the far right of the task bar. Check if there is a message that its trying to find the right device driver. In Device Manager, check if the graphics card has been detected. If it has, check if it has a bang error message that says it cannot be started because of an issue code 43. If you have this, don't worry. If you don't then we need to find it first. Importantly, check that all the other devices are installed. Check using View Hidden devices to ensure everything is installed. I had problems detecting my card until all devices were installed, in particular the VirtIO device. In this case, again install by selecting driver update and the Virtual driver disk, in my case E:\ If you had to do this, then restart again. You may find that Windows will install the Nvidia Control Panel at this stage, which is a good sign. You can ignore the Nvidia Control panel for now. Here comes the important bit: If you try to install the Nvidia graphics card using the downloaded software installers, you will most likely be told that the software isn't suitable for your version of Windows. Instead create a single folder called Nvdia. Leave it empty for now. Start the first software package and select the drivers install, don't worry about the Nvidia experience package. When it gets to the end, do not close the program. You will notice in the same folder as the software installer, will be the unpacked files. Copy them to the Nvidia folder created earlier. Select Close, which will delete the original unpacked folder (Hence why you copied it first). Repeat this for the second software installer You should now have 2 software installer packages unpacked in your Nvidia folder. Go to Device Manager and right click the Nvidia Graphics card. Select update driver and browse to the Nvidia folder. Install, including subdirectories. It will find and install the card and ask you to reboot. Notes: I've done this for 3 different Windows VMs with no real issues. I think a couple of times, I uninstalled the graphics adapters (both the basic Windows and RTX 3090), so I could remove the drivers. Upon reboot, it found the graphics card on its own. I don't recall if I actually had to do it or I simply decided to, to get a clean uninstalled card with no existing drivers. If I tried to install 461.72-desktop-win10-64bit-international-dch-whql it didn't work. Hence why I got the driver installer to search both unpacked installers. Afterwards, I tried to install the Audio HD device from my mainboard. This crashed the VM and it would no longer detect the graphics card, irrespective of the configuration changes I made to the VM before restarting it. Device manager would not find the graphics card after this and I ended up doing a fresh install.....so back up your VM. This is a well-known issue with the X570 board being unable to pass through the audio and not an issue with the process. Like I said, I hope this helps somebody. 1 1 Quote Link to comment
bud26 Posted March 22, 2022 Share Posted March 22, 2022 (edited) Spoiler Spoiler On 3/20/2022 at 5:22 AM, Geck0 said: Importantly, check that all the other devices are installed. Check using View Hidden devices to ensure everything is installed. I had problems detecting my card until all devices were installed, in particular the VirtIO device. You saved some days for me. This ^^ was the key for me! Due to the fact that I had 5 VMs installed until know I know this and the actual NVIDIA driver from official homepage works for me in Win10 and Win11. Things I had done before without "any success" Code 43 in windows: Add multifunction='on'/> to the GPU set sound to the same PCIe Slot. Thx to @SpaceInvaderOne ROM from: https://www.techpowerup.com/ Thx to @SpaceInvaderOne --> Removed header as shown here: Changed the <hyperv> section as described. Thx to @RiDDiX for the post here: Edited March 22, 2022 by bud26 1 Quote Link to comment
Geck0 Posted March 23, 2022 Author Share Posted March 23, 2022 Im glad I helped. Thanks for adding the videos and other guides. I didn't have time to go back and find them. 😃 Quote Link to comment
UnraidRog Posted August 3, 2022 Share Posted August 3, 2022 I got my 3090 working on the first try thanks to your guide along with the Spaceinvader videos. Thanks! Quote Link to comment
distel Posted August 12, 2022 Share Posted August 12, 2022 Hi, Sadly I can not get this to work for some reason - The audio part of the GTX460 I try to pass trough never shows up in the VM and I hjave the vport0p1 which does not find any drivers. Also, I tried all the other methods in the videos in the 2nd post. No luck. Quote Link to comment
ilarion Posted August 12, 2022 Share Posted August 12, 2022 1 hour ago, distel said: Hi, Sadly I can not get this to work for some reason - The audio part of the GTX460 I try to pass trough never shows up in the VM and I hjave the vport0p1 which does not find any drivers. Also, I tried all the other methods in the videos in the 2nd post. No luck. post your xml Quote Link to comment
Geck0 Posted August 12, 2022 Author Share Posted August 12, 2022 And your IOMMU groupings. Quote Link to comment
Geck0 Posted August 14, 2022 Author Share Posted August 14, 2022 On a side note, I find the graphics card onboard audio a pain and simply not as clear. I opted for a Sound Blaster GC7 which is working flawlessly as I go from one vm to the next. It doesn't cost as much as the headache and time spent resolving. The Geforce onboard audio keeps overriding my audio settings occasionally as priority, no matter if I remove the driver, etc and I never found it as clear as the Sound Blaster. Your life will be easier if you plug in one of these devices and remove the audio from the XML profile (unless of course, you can't pass through the GPU at all??) I couldn't pass the motherboard's optical out on my Aorus Extreme X570, some on this forum have managed to recompile the kernal, you will find threads I've made on that particular subject. I'm guessing you've made a mistake in your XML, which is easier enough to do. Quote Link to comment
ilarion Posted August 14, 2022 Share Posted August 14, 2022 On 8/12/2022 at 3:20 PM, distel said: Hi, Sadly I can not get this to work for some reason - The audio part of the GTX460 I try to pass trough never shows up in the VM and I hjave the vport0p1 which does not find any drivers. Also, I tried all the other methods in the videos in the 2nd post. No luck. Btw did you install qemu guest tools ? This is part of it. Quote Link to comment
distel Posted August 15, 2022 Share Posted August 15, 2022 (edited) <?xml version='1.0' encoding='UTF-8'?> <domain type='kvm' id='2'> <name>Windows 10</name> <uuid>7bac6c42-10a7-f459-3c20-14544c07264c</uuid> <metadata> <vmtemplate xmlns="unraid" name="Windows 10" icon="windows.png" os="windows10"/> </metadata> <memory unit='KiB'>2097152</memory> <currentMemory unit='KiB'>2097152</currentMemory> <memoryBacking> <nosharepages/> </memoryBacking> <vcpu placement='static'>4</vcpu> <cputune> <vcpupin vcpu='0' cpuset='4'/> <vcpupin vcpu='1' cpuset='12'/> <vcpupin vcpu='2' cpuset='5'/> <vcpupin vcpu='3' cpuset='13'/> </cputune> <resource> <partition>/machine</partition> </resource> <os> <type arch='x86_64' machine='pc-i440fx-6.2'>hvm</type> </os> <features> <acpi/> <apic/> </features> <cpu mode='host-passthrough' check='none' migratable='on'> <topology sockets='1' dies='1' cores='2' threads='2'/> <cache mode='passthrough'/> <feature policy='require' name='topoext'/> </cpu> <clock offset='localtime'> <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='block' device='disk'> <driver name='qemu' type='raw' cache='writeback'/> <source dev='/dev/sdb' index='3'/> <backingStore/> <target dev='hdc' bus='virtio'/> <boot order='1'/> <alias name='virtio-disk2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/user/isos/Windows10enx64.iso' index='2'/> <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.221-1.iso' index='1'/> <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='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> <controller type='usb' index='0' model='ich9-ehci1'> <alias name='usb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/> </controller> <controller type='usb' index='0' model='ich9-uhci1'> <alias name='usb'/> <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'> <alias name='usb'/> <master startport='2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/> </controller> <controller type='usb' index='0' model='ich9-uhci3'> <alias name='usb'/> <master startport='4'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/> </controller> <interface type='bridge'> <mac address='52:54:00:0c:12:ac'/> <source bridge='br0'/> <target dev='vnet1'/> <model type='virtio-net'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </interface> <serial type='pty'> <source path='/dev/pts/1'/> <target type='isa-serial' port='0'> <model name='isa-serial'/> </target> <alias name='serial0'/> </serial> <console type='pty' tty='/dev/pts/1'> <source path='/dev/pts/1'/> <target type='serial' port='0'/> <alias name='serial0'/> </console> <channel type='unix'> <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-2-Windows 10/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='tablet' bus='usb'> <alias name='input0'/> <address type='usb' bus='0' port='1'/> </input> <input type='mouse' bus='ps2'> <alias name='input1'/> </input> <input type='keyboard' bus='ps2'> <alias name='input2'/> </input> <graphics type='vnc' port='5901' autoport='yes' websocket='5701' listen='0.0.0.0' keymap='en-us'> <listen type='address' address='0.0.0.0'/> </graphics> <audio id='1' type='none'/> <video> <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/> <alias name='video0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </video> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x06' slot='0x00' function='0x0'/> </source> <alias name='hostdev0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0' multifunction='on'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x06' slot='0x00' function='0x1'/> </source> <alias name='hostdev1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x1'/> </hostdev> <memballoon model='none'/> </devices> <seclabel type='dynamic' model='dac' relabel='yes'> <label>+0:+100</label> <imagelabel>+0:+100</imagelabel> </seclabel> </domain> Passtrough works with an AMD firepro 4900v but sadly i can not get it to work with NVIDIA cards for some odd reason. Edited August 15, 2022 by distel Quote Link to comment
ilarion Posted August 16, 2022 Share Posted August 16, 2022 13 hours ago, distel said: <?xml version='1.0' encoding='UTF-8'?> <domain type='kvm' id='2'> <name>Windows 10</name> <uuid>7bac6c42-10a7-f459-3c20-14544c07264c</uuid> <metadata> <vmtemplate xmlns="unraid" name="Windows 10" icon="windows.png" os="windows10"/> </metadata> <memory unit='KiB'>2097152</memory> <currentMemory unit='KiB'>2097152</currentMemory> <memoryBacking> <nosharepages/> </memoryBacking> <vcpu placement='static'>4</vcpu> <cputune> <vcpupin vcpu='0' cpuset='4'/> <vcpupin vcpu='1' cpuset='12'/> <vcpupin vcpu='2' cpuset='5'/> <vcpupin vcpu='3' cpuset='13'/> </cputune> <resource> <partition>/machine</partition> </resource> <os> <type arch='x86_64' machine='pc-i440fx-6.2'>hvm</type> </os> <features> <acpi/> <apic/> </features> <cpu mode='host-passthrough' check='none' migratable='on'> <topology sockets='1' dies='1' cores='2' threads='2'/> <cache mode='passthrough'/> <feature policy='require' name='topoext'/> </cpu> <clock offset='localtime'> <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='block' device='disk'> <driver name='qemu' type='raw' cache='writeback'/> <source dev='/dev/sdb' index='3'/> <backingStore/> <target dev='hdc' bus='virtio'/> <boot order='1'/> <alias name='virtio-disk2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/user/isos/Windows10enx64.iso' index='2'/> <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.221-1.iso' index='1'/> <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='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> <controller type='usb' index='0' model='ich9-ehci1'> <alias name='usb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/> </controller> <controller type='usb' index='0' model='ich9-uhci1'> <alias name='usb'/> <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'> <alias name='usb'/> <master startport='2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/> </controller> <controller type='usb' index='0' model='ich9-uhci3'> <alias name='usb'/> <master startport='4'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/> </controller> <interface type='bridge'> <mac address='52:54:00:0c:12:ac'/> <source bridge='br0'/> <target dev='vnet1'/> <model type='virtio-net'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </interface> <serial type='pty'> <source path='/dev/pts/1'/> <target type='isa-serial' port='0'> <model name='isa-serial'/> </target> <alias name='serial0'/> </serial> <console type='pty' tty='/dev/pts/1'> <source path='/dev/pts/1'/> <target type='serial' port='0'/> <alias name='serial0'/> </console> <channel type='unix'> <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-2-Windows 10/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='tablet' bus='usb'> <alias name='input0'/> <address type='usb' bus='0' port='1'/> </input> <input type='mouse' bus='ps2'> <alias name='input1'/> </input> <input type='keyboard' bus='ps2'> <alias name='input2'/> </input> <graphics type='vnc' port='5901' autoport='yes' websocket='5701' listen='0.0.0.0' keymap='en-us'> <listen type='address' address='0.0.0.0'/> </graphics> <audio id='1' type='none'/> <video> <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/> <alias name='video0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </video> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x06' slot='0x00' function='0x0'/> </source> <alias name='hostdev0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0' multifunction='on'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x06' slot='0x00' function='0x1'/> </source> <alias name='hostdev1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x1'/> </hostdev> <memballoon model='none'/> </devices> <seclabel type='dynamic' model='dac' relabel='yes'> <label>+0:+100</label> <imagelabel>+0:+100</imagelabel> </seclabel> </domain> Passtrough works with an AMD firepro 4900v but sadly i can not get it to work with NVIDIA cards for some odd reason. Use q35 chipset, i440 is not good for passtrought. This gpu is old and you cant see booting and installing process because it doesn't have uefi bios. You will see output on your monitor only after successful installation of nvidia drivers and only when os is booted. You could try seabios for booting output but i don`t and most off the ppl doesn't recommend it. After install use virtio-win-guest-tools.exe for drivers installation > it will install all necessary virtio drivers. The malfunction part is correct. PS: delete this template because you cant change chipsets on already created VMs. PS2: GTX460 is so old that i don`t think it has audio on it, i think it is only dvi/vga/svideo output. In best case it will have 2pin header for audio passtrought over dvi which you have to to connect to the front panel header on the motherboard with a cable, and after that to passtrought onbord audio. 1 Quote Link to comment
distel Posted August 16, 2022 Share Posted August 16, 2022 I will try my 980 - that is currently in use in a friends rig - this week with a complete new VM and let you know. thanks for the effort @ilarion ! Quote Link to comment
Geck0 Posted August 21, 2022 Author Share Posted August 21, 2022 Quote Here are my settings in Gui format. Did you select Slot 6 or was that an automatic assignment? You don't have to use the assigned slot, you can change it, provided there is no conflict. Quote Quote <?xml version='1.0' encoding='UTF-8'?> <domain type='kvm' id='16'> <name>Windows 10</name> <uuid>39c3904d-4c2b-44d8-6c78-c9f9c09c0e66</uuid> <description>New</description> <metadata> <vmtemplate xmlns="http://unraid.net/xmlns" name="Windows 10" icon="windows.png" os="windows10"/> </metadata> <memory unit='KiB'>13107200</memory> <currentMemory unit='KiB'>13107200</currentMemory> <memoryBacking> <nosharepages/> </memoryBacking> <vcpu placement='static'>6</vcpu> <cputune> <vcpupin vcpu='0' cpuset='0'/> <vcpupin vcpu='1' cpuset='16'/> <vcpupin vcpu='2' cpuset='2'/> <vcpupin vcpu='3' cpuset='18'/> <vcpupin vcpu='4' cpuset='4'/> <vcpupin vcpu='5' cpuset='20'/> </cputune> <resource> <partition>/machine</partition> </resource> <os> <type arch='x86_64' machine='pc-q35-6.0'>hvm</type> </os> <features> <acpi/> <apic/> <hyperv mode='custom'> <relaxed state='on'/> <vapic state='on'/> <spinlocks state='on' retries='8191'/> <vendor_id state='on' value='none'/> </hyperv> </features> <cpu mode='host-passthrough' check='none' migratable='on'> <topology sockets='1' dies='1' cores='3' 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='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/cache_nvme/isos/virtio-win-0.1.196-1.iso' index='2'/> <backingStore/> <target dev='hdb' bus='sata'/> <readonly/> <alias name='sata0-0-1'/> <address type='drive' controller='0' bus='0' target='0' unit='1'/> </disk> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='writeback'/> <source file='/mnt/nvme_vmstorage/VMstorage/Windows 10/vdisk.img' index='1'/> <backingStore/> <target dev='hdc' bus='sata'/> <boot order='1'/> <alias name='sata0-0-2'/> <address type='drive' controller='0' bus='0' target='0' unit='2'/> </disk> <controller type='pci' index='0' model='pcie-root'> <alias name='pcie.0'/> </controller> <controller type='pci' index='1' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='1' port='0x8'/> <alias name='pci.1'/> <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='0x9'/> <alias name='pci.2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <controller type='pci' index='3' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='3' port='0xa'/> <alias name='pci.3'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> <controller type='pci' index='4' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='4' port='0x13'/> <alias name='pci.4'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/> </controller> <controller type='pci' index='5' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='5' port='0x14'/> <alias name='pci.5'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/> </controller> <controller type='pci' index='6' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='6' port='0xb'/> <alias name='pci.6'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/> </controller> <controller type='pci' index='7' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='7' port='0xc'/> <alias name='pci.7'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x4'/> </controller> <controller type='pci' index='8' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='8' port='0xd'/> <alias name='pci.8'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x5'/> </controller> <controller type='pci' index='9' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='9' port='0xe'/> <alias name='pci.9'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x6'/> </controller> <controller type='pci' index='10' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='10' port='0xf'/> <alias name='pci.10'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x7'/> </controller> <controller type='pci' index='11' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='11' port='0x10'/> <alias name='pci.11'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/> </controller> <controller type='pci' index='12' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='12' port='0x11'/> <alias name='pci.12'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/> </controller> <controller type='pci' index='13' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='13' port='0x12'/> <alias name='pci.13'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/> </controller> <controller type='pci' index='14' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='14' port='0x15'/> <alias name='pci.14'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/> </controller> <controller type='pci' index='15' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='15' port='0x16'/> <alias name='pci.15'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x6'/> </controller> <controller type='pci' index='16' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='16' port='0x17'/> <alias name='pci.16'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x7'/> </controller> <controller type='virtio-serial' index='0'> <alias name='virtio-serial0'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/> </controller> <controller type='sata' index='0'> <alias name='ide'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> </controller> <controller type='usb' index='0' model='ich9-ehci1'> <alias name='usb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/> </controller> <controller type='usb' index='0' model='ich9-uhci1'> <alias name='usb'/> <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'> <alias name='usb'/> <master startport='2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/> </controller> <controller type='usb' index='0' model='ich9-uhci3'> <alias name='usb'/> <master startport='4'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/> </controller> <interface type='bridge'> <mac address='52:54:00:e3:43:93'/> <source bridge='br0'/> <target dev='vnet15'/> <model type='virtio-net'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> </interface> <serial type='pty'> <source path='/dev/pts/0'/> <target type='isa-serial' port='0'> <model name='isa-serial'/> </target> <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-16-Windows 10/org.qemu.guest_agent.0'/> <target type='virtio' name='org.qemu.guest_agent.0' state='connected'/> <alias name='channel0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> <input type='tablet' bus='usb'> <alias name='input0'/> <address type='usb' bus='0' port='1'/> </input> <input type='mouse' bus='ps2'> <alias name='input1'/> </input> <input type='keyboard' bus='ps2'> <alias name='input2'/> </input> <audio id='1' type='none'/> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x0d' slot='0x00' function='0x0'/> </source> <alias name='hostdev0'/> <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0' multifunction='on'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x0d' slot='0x00' function='0x1'/> </source> <alias name='hostdev1'/> <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x1'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x0f' slot='0x00' function='0x4'/> </source> <alias name='hostdev2'/> <address type='pci' domain='0x0000' bus='0x10' slot='0x00' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x09' slot='0x00' function='0x0'/> </source> <alias name='hostdev3'/> <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x0a' slot='0x00' function='0x0'/> </source> <alias name='hostdev4'/> <address type='pci' domain='0x0000' bus='0x07' slot='0x00' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x0a' slot='0x00' function='0x1'/> </source> <alias name='hostdev5'/> <address type='pci' domain='0x0000' bus='0x08' slot='0x00' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x0a' slot='0x00' function='0x3'/> </source> <alias name='hostdev6'/> <address type='pci' domain='0x0000' bus='0x09' slot='0x00' function='0x0'/> </hostdev> <memballoon model='none'/> </devices> <seclabel type='dynamic' model='dac' relabel='yes'> <label>+0:+100</label> <imagelabel>+0:+100</imagelabel> </seclabel> </domain> I agree with starting again. Have a re-read of my original post. Its important to look for the hidden devices and resolve those first. From memory and apologies, because I forgot which devices, I had to move my graphics card auto assigned slot to a different one, which meant I had to move other devices onto new slots, like slot 9, etc. (my memory is a bit fuzzy on this point), I don't think it was in my original post as I didn't think it would be a commonality. Apologies for the delay in respoinding, I've had a helluva couple of weeks. Try posting pics of the steps in Windows device manager, like the bang warnings, etc. When you look for system drivers, use the root of the virtIO driver ISO. ie. E:\ There was one that was ambiguous that needed resolving first, which was VirtIO Serial driver. When you go to View / Show Hidden devices, it should all be clear. I suggest looking through the hierarchial tree as a category, etc. That's where I found the issue with a conflict with my card's audio assignment. I had to give my card a lower slot assignment and then move the other devices to a different slot. You can see I'm using SeaBios, it works fine (unless you want to access the virtual bios, then forget it). Don't run the nVidia package installer, download the driver and unpack it. The biggest hiccup I had, was when Windows would find the driver off the internet and auto install or if I used the nVidia Experience app to install. If Windows found it on the internet and installed, the screen would go black and I couldn't see the bang error message. Unpack the drivers and point device manager to the folder's root. 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.