VergeOS supports multiple forms of device passthrough, allowing virtual machines to directly access physical hardware attached to host nodes. This enables workloads that require bare-metal device access — GPU-accelerated rendering, AI/ML training, hardware security keys, high-performance networking — while still benefiting from VergeOS orchestration, snapshots, and multi-tenancy.
All passthrough types share a common architecture built on resource groups and resource rules, providing a consistent management experience regardless of the device type.
Before configuring any PCI-based passthrough (one-to-one PCI, NVIDIA vGPU, or SR-IOV), the server BIOS must have hardware virtualization and IOMMU support enabled:
All PCI devices within the same IOMMU group are passed through together — a single IOMMU group cannot be split among different guests. Common examples of shared IOMMU groups include:
A GPU and its companion audio controller
Both ports of a dual-port NIC
Multiple devices sharing a PCI riser card on the same slot
You can view IOMMU group membership in the VergeOS UI at Infrastructure > Resources > PCI Devices. Click the IOMMU column heading to sort and identify grouped devices.
A resource group is a named pool of one or more physical (or virtual-function) devices of the same type. When you attach a device to a VM or tenant, you select the resource group — the system automatically assigns an available device from the pool when the VM powers on.
Resource rules define the filter criteria that determine which physical devices belong to a resource group. Each rule can match on attributes like device name, vendor, slot, serial number, and more. Available filter fields vary by device type.
Creation Method
Description
Auto-generated
Select a device and click Make Resource — the system creates rules automatically (recommended)
Manual
Create rules via Infrastructure > Resources > Rules > New with custom filter expressions
Filter operators include: Equal, Not Equal, Less/Greater Than, Begins With, Ends With, Contains (case-sensitive or insensitive), and Regex.
One-to-one PCI passthrough dedicates a single physical PCI device to a single VM at a time. The guest operating system sees and controls the device as if it were physically attached.
Common use cases: dedicated GPUs for rendering, specialized HBAs, FPGA accelerators, or any device requiring direct hardware access.
NVIDIA vGPU technology slices a single physical NVIDIA GPU into multiple virtual GPUs, allowing several VMs to share one piece of GPU hardware simultaneously. This is ideal for VDI deployments, AI/ML inference, and GPU-accelerated applications where full device dedication is not required.
Key advantages over one-to-one GPU passthrough:
Multiple VMs share a single physical GPU
Supports live migration (experimental) — vGPU VMs can move between nodes without downtime (experimental feature as of 4.13+)
Flexible sizing through NVIDIA vGPU profiles (varying amounts of framebuffer per VM)
Single Root I/O Virtualization (SR-IOV) creates multiple virtual functions (VFs) from a single physical, SR-IOV-capable network adapter. Each VF behaves as an independent NIC that can be assigned to a VM, delivering near-native network performance by bypassing the software network stack.
Common use cases: latency-sensitive workloads, high-throughput data pipelines, NFV (network function virtualization), and scenarios requiring direct NIC access.
USB passthrough allows a VM to access a USB device connected to the host as if it were directly attached. This is useful for hardware license dongles, security cameras, keyboards/mice, and other USB peripherals.
All four passthrough types (PCI, NVIDIA vGPU, SR-IOV NIC, USB) can be shared down to tenants, allowing tenant administrators to assign devices to their own VMs. When devices are passed to a tenant:
A new resource group is automatically created inside the tenant.
Devices are thick-provisioned — the tenant owns the device(s) exclusively, even when not in use.
The tenant VM must run on the tenant node where the device is attached.
Walkthrough:
Navigate to the tenant dashboard (Tenants > List > select tenant).
Click Nodes, then double-click a tenant node.
Click Devices > New.
Select the device Type and configure the count.
Click Submit. The resource group is now available inside the tenant.
Use NVIDIA vGPU to share a single GPU across dozens of virtual desktops.
vGPU profiles let you balance framebuffer allocation per user. Supports live
migration for zero-downtime maintenance.
AI / ML Training
For dedicated training workloads, use one-to-one PCI passthrough to give
a VM full access to an NVIDIA A100 or H100. For inference or lighter
workloads, vGPU provides efficient sharing.
High-Performance Networking
SR-IOV VF NICs deliver near-native network throughput for
latency-sensitive applications like real-time analytics, financial trading,
or network function virtualization.
Hardware Peripherals
USB passthrough enables VMs to access license dongles, security cameras,
barcode scanners, and other USB devices as if directly connected.
Resource groups and resource rules are the universal mechanism for all device passthrough in VergeOS — learn them once, apply everywhere.
BIOS configuration (VT-d/VT-x for Intel, AMD-Vi/IOMMU for AMD) is a prerequisite for all PCI-based passthrough.
NVIDIA vGPU is the only passthrough type that supports live migration (experimental, 4.13+) — making it the preferred choice for GPU workloads that require high availability, though this feature should be validated in your environment before production use.
One-to-one PCI passthrough provides maximum device performance but pins the VM to a specific node.
SR-IOV NICs bypass VergeOS virtual networking for near-native throughput but sacrifice managed network features.
All device types can be shared to tenants via thick provisioning, enabling MSPs to offer GPU or specialized hardware to individual customers.