bhyve Arch Linux VM hangs when passing nvidia card through

So I have an Arch Linux VM that works fine. I have a 1050 Ti card I would like to pass through to it. I successfully identified it in the system with:
Code:
$ sudo pciconf -v -l
...
ppt0@pci0:1:0:0:    class=0x030000 card=0x37641458 chip=0x1c8210de rev=0xa1 hdr=0x00
    vendor     = 'NVIDIA Corporation'
    device     = 'GP107 [GeForce GTX 1050 Ti]'
    class      = display
    subclass   = VGA
ppt1@pci0:1:0:1:    class=0x040300 card=0x37641458 chip=0x0fb910de rev=0xa1 hdr=0x00
    vendor     = 'NVIDIA Corporation'
    device     = 'GP107GL High Definition Audio Controller'
    class      = multimedia
    subclass   = HDA
...

Both are masked appropriately on boot (as shown by the ppt device drivers above):

Code:
$ cat /boot/loader.conf
vmm_load="YES"
...
pptdevs="1/0/0 1/0/1"

I am trying to pass through the card like this:

Code:
sudo bhyve \     
        -c 2 \     
        -m 8G \
        -w -H -s 0,hostbridge \
        -s 4,virtio-blk,/dev/zvol/pool-1/bhyve/vms/arch \
        -s 5,virtio-net,tap0 \
        -s 30,xhci,tablet -s 31,lpc -l com1,stdio \
        -s 7:0,passthru,1/0/0 \
        -s 7:1,passthru,1/0/1 \
        -S \
        -u -l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd \
        arch

After executing that, I can see the network get setup in the all.log output... and then nothing. It just hangs forever until I manually destroy the VM. If I remove both of the passthru lines, it boots fine.

Anyone know what's going on here? Is there a way I can debug this further?
 
Unfortunately I get the same thing if I do that. Interestingly, it works if I pass through only ppt1, but the guest can't seem to see that device.

I have the graphics card set as non-primary on the host (i.e. it uses its integrated graphics instead for video) and Vt-d enabled in the BIOS. Is there anything I may need set in the BIOS?
 
Back
Top