Trouble getting my 980Ti passtrough for Win10 KVM


Recommended Posts

Hello guys, i am today asking for help for a common problem among beginners : GPU passtrough yay!

I tried a lot of things : dump Vbios, driver install with VNC .... and watched a lot of stuffs spaceinvader guides, forum topics etc.... but nothing works actually.

Im not seeing my KVM on RDP at all when the 980ti is used in config.

Here are some screenshots of my KVM config and the Diagnosis files.

980Ti is in 1st PCIe slot, my Motherboard is a B450 Mortar Max and i'm in Legacy+EFI boot mode and CSM compatibility in the Bios.

Unraid is also configured in Legacy.

I wish i can get some help cause i should admit that i'm a bit lost right now ^^

Thanks to everybody !

Flash.PNG

KVM.PNG

KVMXmL.PNG

nasjlp-diagnostics-20220525-2216.zip

Link to comment

Hi,

from what I can see you did it pretty well (happy that someone reads and tries himself/herself before posting something), efifb off (maybe not needed since you are booting unraid as legacy, but let it where it is..), multifunction for the gpu, gpu isolated, allow unsafe interrrupts.

So..I can see a couple of things that could cause the issue, I would try in order (Parsec vm):

1. change the bus of the gpu (audio and video) in the target vm: you are setting it at bus 0 in a q35 machine, bus 0 means "built-in", i.e. attached to pcie-root, but the gpu is not built in and the driver could cause issues.

Change from:

    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x26' slot='0x00' function='0x0'/>
      </source>
      <rom file='/mnt/vm/domains/VBios/NVIDIA.GTX980Ti.mod.rom'/>
      <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='0x26' slot='0x00' function='0x1'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x1'/>
    </hostdev>

 

To:

    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x26' slot='0x00' function='0x0'/>
      </source>
      <rom file='/mnt/vm/domains/VBios/NVIDIA.GTX980Ti.mod.rom'/>
      <address type='pci' domain='0x0000' bus='0x05' slot='0x06' function='0x0' multifunction='on'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x26' slot='0x00' function='0x1'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x05' slot='0x06' function='0x1'/>
    </hostdev>

 

2. Double check again the vbios file you are passing through: dump your own and/or check the header to remove with hex editor.

 

3. Some builds do not work properly when the gpu to passthrough is in the first top gpu slot: if you can move it to another slot.

 

 

Edited by ghost82
Link to comment
On 5/26/2022 at 8:03 AM, ghost82 said:

Hi,

from what I can see you did it pretty well (happy that someone reads and tries himself/herself before posting something), efifb off (maybe not needed since you are booting unraid as legacy, but let it where it is..), multifunction for the gpu, gpu isolated, allow unsafe interrrupts.

So..I can see a couple of things that could cause the issue, I would try in order (Parsec vm):

1. change the bus of the gpu (audio and video) in the target vm: you are setting it at bus 0 in a q35 machine, bus 0 means "built-in", i.e. attached to pcie-root, but the gpu is not built in and the driver could cause issues.

Change from:

    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x26' slot='0x00' function='0x0'/>
      </source>
      <rom file='/mnt/vm/domains/VBios/NVIDIA.GTX980Ti.mod.rom'/>
      <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='0x26' slot='0x00' function='0x1'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x1'/>
    </hostdev>

 

To:

    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x26' slot='0x00' function='0x0'/>
      </source>
      <rom file='/mnt/vm/domains/VBios/NVIDIA.GTX980Ti.mod.rom'/>
      <address type='pci' domain='0x0000' bus='0x05' slot='0x06' function='0x0' multifunction='on'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x26' slot='0x00' function='0x1'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x05' slot='0x06' function='0x1'/>
    </hostdev>

 

2. Double check again the vbios file you are passing through: dump your own and/or check the header to remove with hex editor.

 

3. Some builds do not work properly when the gpu to passthrough is in the first top gpu slot: if you can move it to another slot.

 

 

Hello sorry for the late answer and thanks a lot for your feedback ! Yeah i tried a lot of things before asking help cause i prefer knowing or understanding what Im doing before asking help. It is easier for anyone to help after that (at leats thatd what i Think) because the perso Who asks is concerned by the problem and is undersanding what people are talking about to help him.

 

Anyway, i'll test out the things you guides me through and give a feedback here then asap !

 

Thanks a lot

Link to comment

Little update, i tried to change the bus for slot 6 in the KVM but i get this error :

 

"XML error: Invalid PCI address 0000:05:06.0. slot must be <= 0"

 

So tried to put slot 0 bus 5 but nothing better. I'll try today to move GPU in physical slot 2 but i'll miss the pcie 3.0

3.0 x16 to 2.0 x4 is that a problem for gaming passtrough gpu ?

Link to comment

I can't see anything wrong in the configuration, that is what I would do.

I would try these steps:

1. backup the xml

2. switch from gpu passthrough to qxl/vnc

3. boot the vm and connect to the unraid built in vnc

4. enable remote desktop inside the vm

5. shutdown the vm, remove qxl/vnc and enable again gpu passthrough, preserve buses, multifunction

6. connect to remote desktop and see in device manager if gpu is detected, if there are errors, etc, install the nvidia drivers if needed

 

Not sure if you already done this, or if the issue is only a black screen or if the vm is not booting at all.

 

Are you 100% sure that the vbios ok?

If nothing works maybe slot 2 will be better..

Edited by ghost82
  • Thanks 1
Link to comment
36 minutes ago, ghost82 said:

I can't see anything wrong in the configuration, that is what I would do.

I would try these steps:

1. backup the xml

2. switch from gpu passthrough to qxl/vnc

3. boot the vm and connect to the unraid built in vnc

4. enable remote desktop inside the vm

5. shutdown the vm, remove qxl/vnc and enable again gpu passthrough, preserve buses, multifunction

6. connect to remote desktop and see in device manager if gpu is detected, if there are errors, etc, install the nvidia drivers if needed

 

Not sure if you already done this, or if the issue is only a black screen or if the vm is not booting at all.

 

Are you 100% sure that the vbios ok?

If nothing works maybe slot 2 will be better..

 

Many thanks for the guidelines ! I'll post a feedback when tested asap !

Link to comment
  • 1 month later...
On 6/3/2022 at 9:15 AM, ghost82 said:

I can't see anything wrong in the configuration, that is what I would do.

I would try these steps:

1. backup the xml

2. switch from gpu passthrough to qxl/vnc

3. boot the vm and connect to the unraid built in vnc

4. enable remote desktop inside the vm

5. shutdown the vm, remove qxl/vnc and enable again gpu passthrough, preserve buses, multifunction

6. connect to remote desktop and see in device manager if gpu is detected, if there are errors, etc, install the nvidia drivers if needed

 

Not sure if you already done this, or if the issue is only a black screen or if the vm is not booting at all.

 

Are you 100% sure that the vbios ok?

If nothing works maybe slot 2 will be better..

Hello, it's a bit late but i still have problems. Tried all things up there nothing more working.

Well not nothing in fact.

I managed to have my 980ti appearing in the KVM with VNC in GPU slot1 & 980 in slot2 (in kvm config)

I installed drivers and no more warnings.

Anyway when i switch back to 980ti only in slot1 (in kvm config), i got nothing.

 

Is someone having any idea at this point before i give up ^^ ?


Thanks a lot

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.