Skip to content

PCIe passthrough to QEMU VMs

NexoVirt can attach a host PCIe device (a GPU, NIC, storage or other controller) directly to QEMU VMs (virtual machines) from the node’s page.

Open a node’s page and go to the Hardware tab. The PCIe devices card loads the node’s devices live from Proxmox the first time you open the tab. The table shows each device with its type icon (GPU, NIC, storage, USB, audio, wireless or other), its Address, its IOMMU group, Passthrough readiness (Ready when the device has an IOMMU group, otherwise Not ready) and its current Assignment (the VM it is attached to).

  1. In the PCIe devices table, click Assign on a ready, unassigned device.
  2. In Assign PCIe device, pick the Target virtual machine (QEMU only). The device goes into the VM’s next available hostpci slot.
  3. Click Assign device. NexoVirt writes the hostpci entry to the VM’s config. Reboot the VM for the device to take effect.

To remove a device, click Detach on an assigned device and confirm. The VM must be rebooted to release it.

  • QEMU only. LXC containers can’t take a PCIe device; the request is refused with a clear message.
  • Admin only. The Assign and Detach buttons are shown to admins only. Every assign and detach is recorded in the audit log and in the guest’s activity.
  • Node names and PCI IDs are validated before any Proxmox call.
  • Every device shows Not ready. IOMMU is off. Enable it in the BIOS and on the kernel command line as described above, then reboot the host. The card picks the change up the next time you open the Hardware tab.
  • The VM does not start after assigning a device. Another device in the same IOMMU group, or a host driver, may still hold it. Check the IOMMU group column: devices that share a group usually have to be passed through together. Detach the device to get the VM running again.
  • The device is not visible inside the VM. The assignment takes effect only after a full reboot of the VM (a stop and start, not a reboot from inside the guest on some systems). GPUs usually also need the q35 machine type and UEFI (OVMF) firmware in the VM settings.