[Bug 288873] Windows 11 VM with GPU passthrough hangs on boot when using more than one vCPU

From: <bugzilla-noreply_at_freebsd.org>
Date: Thu, 14 Aug 2025 22:03:40 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=288873

            Bug ID: 288873
           Summary: Windows 11 VM with GPU passthrough hangs on boot when
                    using more than one vCPU
           Product: Base System
           Version: 14.3-RELEASE
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: bhyve
          Assignee: virtualization@FreeBSD.org
          Reporter: hayzam@alchemilla.io

I use this Bhyve command:

bhyve \
  -c cpus=8,sockets=1,cores=4,threads=2 \
  -m 11662 \
  -S -A -I -u -H -P \
  -s 0:0,hostbridge \
  -l
bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd,/root/Projects/Sylve/data/vms/102/102_vars.fd
\
  -s 2:0,xhci,tablet \
  -s 1:0,lpc \
  -s 3:0,e1000,tap0,mac=12:e4:ac:7c:a6:d7 \
  -s 10:0,nvme,/dev/zvol/zroot/windows-11 \
  -s 11:0,fbuf,tcp=0.0.0.0:5908,w=1024,h=768,password=redacted \
  -s 12:0,passthru,1/0/0 \
  -s 13:0,passthru,1/0/1 \
  102

This is essentially a Windows 11 VM with two passthrough devices:

ppt0@pci0:1:0:0:        class=0x030000 rev=0xa1 hdr=0x00 vendor=0x10de
device=0x1c03 subvendor=0x19da subdevice=0x1438
    vendor     = 'NVIDIA Corporation'
    device     = 'GP106 [GeForce GTX 1060 6GB]'
    class      = display
    subclass   = VGA

ppt1@pci0:1:0:1:        class=0x040300 rev=0xa1 hdr=0x00 vendor=0x10de
device=0x10f1 subvendor=0x19da subdevice=0x1438
    vendor     = 'NVIDIA Corporation'
    device     = 'GP106 High Definition Audio Controller'
    class      = multimedia
    subclass   = HDA

The VM hangs on boot and does not respond to any input.

If I boot with just one core, it works fine but with more than one core, it
gets stuck during boot. It should also be noted that this ONLY is a problem if
I have pass through devices, without any it boots fine.

-- 
You are receiving this mail because:
You are the assignee for the bug.