Coxeroni Posted January 18, 2020 Share Posted January 18, 2020 (edited) Dear fellow passthroughers, I am new to this whole VM passthrough thingie but did my best to passthrough my GTX 1050 Ti -> but failed. My machine is a Fujitsu Primergy TX 1310 M3 pre-built server with Xeon E3-1225 v6 and a C236 board from Fujitsu (D3521-A1). The graphics card is an ASUS GeForce® GTX 1050 Ti Cerberus Advanced 4GB, the vBios I got from this unoffical techpowerup Bios https://www.techpowerup.com/vgabios/198967/198967 and hex edited the header away. Strangely, my iGPU of the Xeon is deactivated since I put the 1050 in. So the 1050 is the primary and only GPU. The Bios has no option for graphics whatsoever. I had to enable PCIE ACS override (set it to downstream), the IOMMU groups now look like this: IOMMU group 0: [8086:5918] 00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers (rev 05) IOMMU group 1: [8086:1901] 00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16) (rev 05) IOMMU group 2: [8086:a12f] 00:14.0 USB controller: Intel Corporation 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller (rev 31) [8086:a131] 00:14.2 Signal processing controller: Intel Corporation 100 Series/C230 Series Chipset Family Thermal Subsystem (rev 31) IOMMU group 3: [8086:a13a] 00:16.0 Communication controller: Intel Corporation 100 Series/C230 Series Chipset Family MEI Controller #1 (rev 31) IOMMU group 4: [8086:a102] 00:17.0 SATA controller: Intel Corporation Q170/Q150/B150/H170/H110/Z170/CM236 Chipset SATA Controller [AHCI Mode] (rev 31) IOMMU group 5: [8086:a149] 00:1f.0 ISA bridge: Intel Corporation C236 Chipset LPC/eSPI Controller (rev 31) [8086:a121] 00:1f.2 Memory controller: Intel Corporation 100 Series/C230 Series Chipset Family Power Management Controller (rev 31) [8086:a123] 00:1f.4 SMBus: Intel Corporation 100 Series/C230 Series Chipset Family SMBus (rev 31) IOMMU group 6: [8086:15b7] 00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (2) I219-LM (rev 31) IOMMU group 7: [10de:1c82] 01:00.0 VGA compatible controller: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] (rev a1) [10de:0fb9] 01:00.1 Audio device: NVIDIA Corporation GP107GL High Definition Audio Controller (rev a1) My machine is only able to boot Unraid in UEFI mode, in Legacy mode I get the message that the USB drive is not bootable. In VM setup, I tried every combination that I could imagine: i4770fx/Q35: with Q35 there was always an unknown device in Device Manager of Win10 SEA-Bios/OMVF: Both boot and yield similar results Hyper-V on/off: Both boot and yield similar results "paired" the GPU and sound device of the 1050 Ti via space invaders route (mutlifunction) but also tried to only passthrough the GPU. Attached is the config that I thought is best, with i4770fx and OMVF and Hyper-V on: <?xml version='1.0' encoding='UTF-8'?> <domain type='kvm'> <name>Windows 10 - UEFI - i440fx</name> <uuid>25a754ed-b851-98ce-0a5c-b20e66778a0f</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'>4</vcpu> <cputune> <vcpupin vcpu='0' cpuset='0'/> <vcpupin vcpu='1' cpuset='1'/> <vcpupin vcpu='2' cpuset='2'/> <vcpupin vcpu='3' cpuset='3'/> </cputune> <os> <type arch='x86_64' machine='pc-i440fx-4.2'>hvm</type> <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader> <nvram>/etc/libvirt/qemu/nvram/25a754ed-b851-98ce-0a5c-b20e66778a0f_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' check='none'> <topology sockets='1' cores='4' 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 - UEFI - i440fx/vdisk1.img'/> <target dev='hdc' bus='virtio'/> <boot order='1'/> <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/Win10_1909_German_x64.iso'/> <target dev='hda' bus='ide'/> <readonly/> <boot order='2'/> <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.160-1.iso'/> <target dev='hdb' bus='ide'/> <readonly/> <address type='drive' controller='0' bus='0' target='0' unit='1'/> </disk> <controller type='pci' index='0' model='pci-root'/> <controller type='ide' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <controller type='virtio-serial' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </controller> <controller type='usb' index='0' model='nec-xhci' ports='15'> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/> </controller> <interface type='bridge'> <mac address='52:54:00:cc:0d:28'/> <source bridge='br0'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' 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='0x01' slot='0x00' function='0x0'/> </source> <rom file='/mnt/user/system/198967.rom'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0' multifunction='on'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x01' slot='0x00' function='0x1'/> </source> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x1'/> </hostdev> <memballoon model='none'/> </devices> </domain> Here, I can connect via Teamviewer and navigate through Windows GUI and the graphics card shows as GTX 1050 Ti, but with Code 43 Error. The vBios is the one linked above, I also tried to dump my own bios, but since I have no other graphics card in the machine, this has probably failed (can I dump the vbios, when my GPU is the only GPU?). So what else can I do? 0. Legacy booting Unraid does not work on any of the USB ports and with any of the Bios settings. 1. Get another 1050 Ti that has a "valid"/verified entry at techpowerup? 2. Get a cheap GPU as primary GPU and dump the vBios? - do I need to dump the vBios if I use the 1050 Ti as secondary GPU? Any help is appreciated, also stating the obvious, as I said I am new to this. Edited January 18, 2020 by Coxeroni Quote Link to comment
PCR Posted January 18, 2020 Share Posted January 18, 2020 Hello, funny enough i have the same problem. Tried everthing. * Bios = legacy * Used the Bios from techpower and removed the header * multifunction = 'on' and changed the numbers * Downstream for same Group Nothing helped. What can we try? Best PCR Quote Link to comment
Coxeroni Posted January 18, 2020 Author Share Posted January 18, 2020 Thanks for chiming in. I ordered a GT 710 which I hope I can use as primary GPU, but I don't even know if this will help. Hope I can return it in case my motherboard doesn't accept it or it doesn't help with the VM. I feel a bit lost here, I hoped I can toss the PS4 controller into the corner Quote Link to comment
Wulferine Posted January 18, 2020 Share Posted January 18, 2020 Hey I think I solved my Error 43 with changing and adding some lines in the xml file: first at the vendor_id type in a 12characters long ID Example: 2D76A8B352F1 then add the rest, it should end above the features closing bracket. So the idea is to hide the VM for Nvidia, because the driver don't want to be installed on a VM I think. <vendor_id state='on' value='2D76A8B352F1'/> </hyperv> <kvm> <hidden state='on'/> </kvm> <ioapic driver='kvm'/> </features> Hope it helps Quote Link to comment
Coxeroni Posted January 18, 2020 Author Share Posted January 18, 2020 Thanks for the input, didn´t help me unfortunately. Does it matter which vendor_id is used? Quote Link to comment
Wulferine Posted January 18, 2020 Share Posted January 18, 2020 (edited) No, I read an article where someone said you can fill the vendor_id up with 12 random characters from 0-F. But funny thing, I played around and now the error 43 is back I will let you know when I found that one option wich fixed the error for me Edited January 18, 2020 by Wulferine Quote Link to comment
Coxeroni Posted January 18, 2020 Author Share Posted January 18, 2020 Ok, thanks already for the effort. Quote Link to comment
Wulferine Posted January 18, 2020 Share Posted January 18, 2020 (edited) Ok found the settings wich prevented me from installing the driver. 1. I switched back to Legacy Mode in the flash settings from Unraid 2. Go to the bios and Seach something like "Other PCI Device ROM Priority" and select Legacy only. Then I reinstalled the graphics driver in the VM and now it works again. Hope this time it helps Edited January 18, 2020 by Wulferine Quote Link to comment
Coxeroni Posted January 18, 2020 Author Share Posted January 18, 2020 You probably mean the machine's BIOS... Unraid won't boot for me when I try to boot it into legacy mode, but I will look for that option is it is available. Quote Link to comment
Wulferine Posted January 18, 2020 Share Posted January 18, 2020 ok, then leave it in UEFI mode and just switch this "Other PCI Device ROM Priority" setting to Legacy, maybe this also works. Quote Link to comment
Coxeroni Posted January 18, 2020 Author Share Posted January 18, 2020 (edited) It was already set to legacy, although my bios says this does not affect video cards. Set it to UEFI now, since I am desperate Edit: Surprise, didn't help Edited January 18, 2020 by Coxeroni Quote Link to comment
Wulferine Posted January 18, 2020 Share Posted January 18, 2020 Well I think on every Board it's an adventure to fix the error 43 😅 That was all I know, hope you find the solution soon! Quote Link to comment
Coxeroni Posted January 18, 2020 Author Share Posted January 18, 2020 Nevertheless, thanks for your help. Quote Link to comment
PCR Posted January 22, 2020 Share Posted January 22, 2020 I just bought another 1050TI from Gigabyte. With that it worked right away * Legacy Boot * multifuntion 'on' but no GPU BIOS ROM ;) Quote Link to comment
Coxeroni Posted January 22, 2020 Author Share Posted January 22, 2020 Great to here. I will smack in a GT 710 as main GPU and keep fingers crossed. Quote Link to comment
BlueSialia Posted March 22, 2020 Share Posted March 22, 2020 Did you manage to fix it? I find myself in the same situation as you. Quote Link to comment
Coxeroni Posted March 22, 2020 Author Share Posted March 22, 2020 No I gave up after trying to get the system to work with an additional GPU. The problem was that a) whenever I had a dedicated GPU installed m iGPU was deactivated and b) when I had both a GT 710 and the 1050 Ti installed, I couldn't choose which one of them was primary and c) I still couldn't successfully pass the secondary GPU (sadly the GT 710) to the VM. The problem is probably the MoBo/Bios which doesn't give enough options to trick the VM into accepting the card. Bummer... Quote Link to comment
bigbangus Posted October 10, 2020 Share Posted October 10, 2020 Same issue here guys. I've got two 1050Ti (see specs in footer). No matter which I place in primary, I can't get win10 vm to boot without code43. Sad. I'm not sure if it's my setup or my hardware. Thinking of getting a 1660 Ti for gaming, but nervous that it won't work as primary GPU on vm Quote Link to comment
Coxeroni Posted October 10, 2020 Author Share Posted October 10, 2020 It might be your motherboard, I think at least in my case it was where the root problem lies. I can't see your specs and I am also not an expert since I gave up on this. But you might investigate in that direction before getting any other graphics card. Quote Link to comment
meep Posted October 10, 2020 Share Posted October 10, 2020 I have a link to a blog article in my sig that has a few steps worth trying. You never know, something there might help in your case. Quote Link to comment
bigbangus Posted October 10, 2020 Share Posted October 10, 2020 (edited) Guys I just fixed it thanks to @rachid596 In my case I've got two 1050ti and was never able to pass my primary because unraid OS was using it during boot. You have to add "video=efifb:off" to the flash drive. That prevents the primary video card from being used at all (even if you isolate it in vfio) So in addition to the change above, I've got my vm using a modified vbios (downloaded from techpowerup and hex edited). And I have the vfio set to bind the primary gpu as well. See details here: Edited October 10, 2020 by bigbangus 1 Quote Link to comment
craigjl77 Posted July 16, 2021 Share Posted July 16, 2021 Struggled with getting my 1050ti to pass thru. Downloaded several so called 'Compatible' vbios from TechPowerup, edited out the header but all of them failed. The key to my success was to, build a physical pc using the 1050ti then use gpuz to dump the vbios, edit out the header info, then pass thru. This method worked flawlessly Quote Link to comment
[email protected] Posted August 2, 2021 Share Posted August 2, 2021 I was using amd 2700 with b450 for my previous build with my 1050ti and it works using i440fx-5.1 after upgrading to 11900k with z590 board the passthrough stopped working and windows was unable to detect proper driver for 1050ti. after trying multiple options i switch to Q35-4.2 and it worked. not sure it will help you, cheers 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.