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.

assign Nvidia GPU to VM error code 43 in device manager

Featured Replies

I'm using unraid on my server

Spec : 2xXeon E5 (vt-d Supported)

          Supermicro X10DAC

          64 GB ECC memory

          Nvidia GTX1060 (VM graphic)

          ATI Card (console graphic)

I passthrough Nvidia Quadro M2000

with no problem but this time I buy Zotac Geforce GTX 1060 and I installed it's driver and it fail with error code 43(device manager) I tried disable Hyper-V turn off hyper-V clock Add -kvm=off in qemu and assign rom file from techpowerup non of that work

----HERE--IS----MY---XML-FILE------------------------

<domain type='kvm'>

  <name>Gaming Rig</name>

  <uuid>fb11e9d7-11f5-6518-1eb4-f9baaa1404a5</uuid>

  <metadata>

    <vmtemplate xmlns="unraid" name="Windows 10" icon="windows.png" os="windows10"/>

  </metadata>

  <memory unit='KiB'>6291456</memory>

  <currentMemory unit='KiB'>6291456</currentMemory>

  <memoryBacking>

    <nosharepages/>

    <locked/>

  </memoryBacking>

  <vcpu placement='static'>12</vcpu>

  <cputune>

    <vcpupin vcpu='0' cpuset='44'/>

    <vcpupin vcpu='1' cpuset='45'/>

    <vcpupin vcpu='2' cpuset='46'/>

    <vcpupin vcpu='3' cpuset='47'/>

    <vcpupin vcpu='4' cpuset='48'/>

    <vcpupin vcpu='5' cpuset='49'/>

    <vcpupin vcpu='6' cpuset='50'/>

    <vcpupin vcpu='7' cpuset='51'/>

    <vcpupin vcpu='8' cpuset='52'/>

    <vcpupin vcpu='9' cpuset='53'/>

    <vcpupin vcpu='10' cpuset='54'/>

    <vcpupin vcpu='11' cpuset='55'/>

  </cputune>

  <os>

    <type arch='x86_64' machine='pc-q35-2.5'>hvm</type>

  </os>

  <features>

    <acpi/>

    <apic/>

  </features>

  <cpu>

    <topology sockets='1' cores='12' threads='1'/>

  </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='file' device='cdrom'>

      <driver name='qemu' type='raw'/>

      <source file='/mnt/user/isos/Win10_Pro_1511_English_x64_july_2016.iso'/>

      <target dev='hda' bus='sata'/>

      <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.126.iso'/>

      <target dev='hdb' bus='sata'/>

      <readonly/>

      <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/user/domains/Gaming Rig/vdisk1.img'/>

      <target dev='hdc' bus='sata'/>

      <boot order='1'/>

      <address type='drive' controller='0' bus='0' target='0' unit='2'/>

    </disk>

    <controller type='usb' index='0' model='nec-xhci'>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>

    </controller>

    <controller type='sata' index='0'>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>

    </controller>

    <controller type='pci' index='0' model='pcie-root'/>

    <controller type='pci' index='1' model='dmi-to-pci-bridge'>

      <model name='i82801b11-bridge'/>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x1e' function='0x0'/>

    </controller>

    <controller type='pci' index='2' model='pci-bridge'>

      <model name='pci-bridge'/>

      <target chassisNr='2'/>

      <address type='pci' domain='0x0000' bus='0x01' slot='0x01' function='0x0'/>

    </controller>

    <controller type='virtio-serial' index='0'>

      <address type='pci' domain='0x0000' bus='0x02' slot='0x02' function='0x0'/>

    </controller>

    <interface type='bridge'>

      <mac address='52:54:00:e3:46:31'/>

      <source bridge='br1'/>

      <model type='virtio'/>

      <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x0'/>

    </interface>

    <serial type='pty'>

      <target port='0'/>

    </serial>

    <console type='pty'>

      <target type='serial' port='0'/>

    </console>

    <channel type='unix'>

      <source mode='connect'/>

      <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'/>

    <input type='mouse' bus='ps2'/>

    <input type='keyboard' bus='ps2'/>

    <graphics type='vnc' port='-1' autoport='yes' websocket='-1' listen='0.0.0.0' keymap='en-us'>

      <listen type='address' address='0.0.0.0'/>

    </graphics>

    <video>

      <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1'/>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>

    </video>

    <hostdev mode='subsystem' type='pci' managed='yes'>

      <driver name='vfio'/>

      <source>

        <address domain='0x0000' bus='0x81' slot='0x00' function='0x0'/>

      </source>

      <address type='pci' domain='0x0000' bus='0x02' slot='0x03' function='0x0'/>

    </hostdev>

    <hostdev mode='subsystem' type='pci' managed='yes'>

      <driver name='vfio'/>

      <source>

        <address domain='0x0000' bus='0x81' slot='0x00' function='0x1'/>

      </source>

      <address type='pci' domain='0x0000' bus='0x02' slot='0x04' function='0x0'/>

    </hostdev>

    <hostdev mode='subsystem' type='usb' managed='no'>

      <source>

        <vendor id='0x048d'/>

        <product id='0x1172'/>

      </source>

    </hostdev>

    <hostdev mode='subsystem' type='usb' managed='no'>

      <source>

        <vendor id='0x093a'/>

        <product id='0x2700'/>

      </source>

    </hostdev>

    <hostdev mode='subsystem' type='usb' managed='no'>

      <source>

        <vendor id='0x1b1c'/>

        <product id='0x0c04'/>

      </source>

    </hostdev>

    <hostdev mode='subsystem' type='usb' managed='no'>

      <source>

        <vendor id='0x258a'/>

        <product id='0x0005'/>

      </source>

    </hostdev>

    <hostdev mode='subsystem' type='usb' managed='no'>

      <source>

        <vendor id='0x264a'/>

        <product id='0x2329'/>

      </source>

    </hostdev>

    <memballoon model='virtio'>

      <address type='pci' domain='0x0000' bus='0x02' slot='0x05' function='0x0'/>

    </memballoon>

  </devices>

    <qemu:commandline>

        <qemu:arg value='-cpu'/>

        <qemu:arg value='host,kvm=off'/>

    </qemu:commandline>

</domain>

----------------------------------------------------------------------------

What is not working?

Do you have a picture on the monitor or just black?

  • Author

The moniter is just black saying no signal I also tried the graphic card with other PC it do work

  • Author

I have tried Nvidia Tesla C2050 It work without any problerm

I have tried Nvidia Tesla C2050 It work without any problerm

 

Try using uefi instead of seabios. You have to make a new VM for that.

Technically, you can modify the XML to turn a Seabios VM into an OVMF VM, but that won't boot. You can still perform a repair install on it, though, or at least I think you can.

  • Author

Ok so ovmf vm I'll work ?

  • Author

Nope ovmf also give error code 43

Nope ovmf also give error code 43

 

Then you will have to try to add the vbios to your XML. Either use the one you find on tech powerup or dump it your self.

The link to tech powerup and how to add the vbios file is in the unraid manual.

There should be a video guide of how to dump the vbios by the user gridrunner, if I remember correctly.

  • Author

I already tried that I also tried hide kvm (-CPU,kvm=off)

  • Author

Ok I got it working now all I have to do is add nvidia tesla C2050 and Quadro 2000 to my system copy the vendor ID add the vendor ID to xml edit gurp boot loader file to black list nvidia device and grab a tesla vCore Assign rom file Turn KVM and hyper v off then the system turn on no output on GTX1060 but quadro have so I edit the registry of GTX1060 So the driver don't have control over the GPU's Power IO and add in CPU vendor ID in regedit so driver don't detect VM environment install the nvidia driver then reboot edit xml to set nvidia GTX1060 to Boot Grab then Yup It work Battlefield 60 FPS

Glad you got it working but why are you using

machine='pc-q35-2.5'

I find q35 doesnt work well with windows vms. Much better to use i440FX

 

 

@Siwat2545 Could you be a little more specific about the steps you did to solve the issue ? I've been trying to make this work for the past month and I can't figure it out. I feel like I tried every combination of BIOS / Hyper-V / Machine / rom possible.

 

My situation is very similar to yours. I have 2 nvidia graphics cards installed. In the primary slot, I have an NVIDIA video card, this is the one UnRaid is booting from. The other is a GeForce 210. I have a working Ubuntu VM with the main video card passthrough working perfectly fine, simply by using the VM setttings from the GUI (Machine Q35, BIOS OVMF).

 

For the W10 machine however, I am getting the code 43 in the device manager. I have been able to confirm this by using RDP / Guacamole. I have managed to install the latest NVIDIA drivers (375.95). I'm not sure I understand all the steps you did, but if I understand correctly, once you installed the NVIDIA drivers, you simply had to select your NVIDIA video card as passthrough from the GUI and then it worked ? If that's the case I would think it would be close to working for me too, so I'm not sure what I'm missing.

 

Thanks for your help.

Edited by Ti133700N

  • 2 months later...
  • 2 weeks later...

Hi Siwat - I'd be really interested in your detailed steps too!

 

Although I'm not using unRAID (using Ubuntu 16.10/64) I'm having a similar problem and had read anyone else trying regedit to solve the Code 43 issue.

  • 2 weeks later...
  • Author

In bios according to your gpu pcie change form Legacy mode to EFI mode

  • 1 year later...

To Siwat2545,

 

please share with all of us what you did on your unRAID to make this working, I'm having the same issue with my GTX 660 Ti.

This is getting so frustrated for me, I thought unRAID was more compatible with stuff, but this is taking way too much of my time, the worst is that I moved all my 8TB already to unRAID to find out that my VM is not working properly with my graphics card.

Please... explain what you did to get rid of Code 43 and make the NVIDIA drivers work again.

Thanks.

 

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.