passthrough 1050 ti as secondary card.


Recommended Posts

I have a gtx 1060 as my primary card. I tried to add a 560 but the problem was it was too old and I needed an older driver. I couldn't get the two to work in the same computer. I replaced it with a 1050 ti but I get "Failed to mmap 0000:21:00.0 BAR 3. Performance may be slow". I have the IMMO groups just like before with the 560. I added

video=efifb:off

to syslinux.cfg and got it to start without the error but the screen stays black and never shows anything. From what I understand that means I need a vbios. I dumped it with spaceinvader's script but it's still a black screen. The bios is around 50k and the script warned me that's unusually small. I also tried to download and edit it from techpowerup but get the same result. Any ideas?

 

tower-diagnostics-20220203-1745.zip

Edited by bobbintb
Link to comment
13 hours ago, bobbintb said:

But it still won't start, it's just a black screen

In your latest diagnostics I cannot see anywhere the video=efifb:off, this is your cmdline:

BOOT_IMAGE=/bzimage pcie_acs_override=downstream,multifunction initrd=/bzroot

 

Where did you apply it?

 

Moreover I can see only a gpu passthrough for the 1060 in your windows 11 vm (and settings are wrong because the gpu is not multifunction), not the 1050, what's your goal?

Link to comment
8 hours ago, ghost82 said:

In your latest diagnostics I cannot see anywhere the video=efifb:off, this is your cmdline:

BOOT_IMAGE=/bzimage pcie_acs_override=downstream,multifunction initrd=/bzroot

 

Where did you apply it?

 

Moreover I can see only a gpu passthrough for the 1060 in your windows 11 vm (and settings are wrong because the gpu is not multifunction), not the 1050, what's your goal?

I applied it in the GUI under the boot device:
image.thumb.png.10c7f76802bb983a1750c29a99e45d49.png

 

I use the VM daily, which is why the 1050 is not the VM at the moment. If I had it passthrough, I wouldn't be able to use it. I don't know what you mean by it not being multifunctional. My goal is to have both card in one VM/

Link to comment

Windows 11 vm, multifunction is not applied correctly, replace this:

    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
      </source>
      <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='0x21' slot='0x00' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x02' slot='0x00' function='0x1'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x21' slot='0x00' function='0x1'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
    </hostdev>

 

with this:

    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
      </source>
      <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='0x02' slot='0x00' function='0x1'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x1'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x21' slot='0x00' function='0x0'/>
      </source>
      <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='0x21' slot='0x00' function='0x1'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x1'/>
    </hostdev>

 

Other things to consider (in order):

- consider to setup the vm with vnc, enable remote desktop INSIDE the vm, switch from vnc to gpu passthrough, connect to the vm remotely with remote desktop to see if your gpus are detected, detected with errors, or not detected; maybe you only need to install nvidia drivers (download and install latest version)

- you may need to pass also vbioses for your gpus (dump your own)

- you may consider to switch from i440fx/ovmf to q35/ovmf for better support for passthrough

- sometimes, in some builds, passing through the nvme controller doesn't play well together with passing through the gpu(s)

Edited by ghost82
Link to comment

I fixed the multifunction in the XML. I still get no output. I tried VNC but the VNC just stays black if I have both cards. I tried my vbios again, same thing. As mentioned in the OP, I'm not sure it dumped right because it is really small. When I get the time (maybe tomorrow), I'll have to try putting it in another machine and dumping it in Windows or something. I don't think q35 will work. I don't recall why exactly but I think I couldn't get my nvme controller to passthrough with it and I kind of need that for my SSD.

Link to comment

I fixed the multifunction in the XML. I still get no output. I tried VNC but the VNC just stays black if I have both cards. I tried my vbios again, same thing. As mentioned in the OP, I'm not sure it dumped right because it is really small. When I get the time (maybe tomorrow), I'll have to try putting it in another machine and dumping it in Windows or something. I don't think q35 will work. I don't recall why exactly but I think I couldn't get my nvme controller to passthrough with it and I kind of need that for my SSD.

 

edit: I finally got it working. I guess the issue was that the script wasn't dumping the vbios properly. I put it in a Windows machine, used GPUz to dumb the bios, edited it. It worked fine after that. Thanks for the help. I should have figured that out but I didn't think the vbios was the problem.

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.