VRT-110 · Virtualization & Containers · Advanced
VFIO & Device Passthrough — full syllabus
Giving a guest direct access to real hardware — the mechanism behind GPU passthrough.
Who this course is for
Engineers who must give VMs direct access to real hardware — GPUs, NICs, accelerators — and need passthrough that survives contact with real IOMMU topologies, reset bugs and firmware quirks.
Prerequisites
- KVM/QEMU basics (VRT-101 or equivalent experience)
- PCIe fundamentals: BARs, configuration space
- Comfort with kernel modules and sysfs
Course outline
Day 1 — IOMMU foundations
- DMA remapping and why assignment without an IOMMU is not isolation
- IOMMU groups as the unit of assignment
- ACS and why PCIe topology decides group boundaries
- Interrupt remapping and what it protects
- Reading a real platform: group layout, firmware tables and their mistakes
Day 2 — VFIO in practice
- VFIO architecture: containers, groups and devices
- The vfio-pci driver and the binding workflow
- Userspace DMA through VFIO without a VM
- Assigning a device to a QEMU/KVM guest and verifying DMA and MSI-X inside
- SR-IOV: enabling VFs, assigning them, and the limits of the model
Day 3 — GPU passthrough and systematic debugging
- GPU passthrough specifics: function-level reset bugs and their workarounds
- BAR sizing, resizable BAR and guest address space
- vBIOS/ROM quirks and vendor lockout behaviours
- A debugging procedure for 'binds but does not work': group, driver, DMA, interrupt, in that order
- Operational concerns: driver rebind races, persistence and host stability
Hands-on labs
- Lab: map a machine's IOMMU groups from sysfs and explain each grouping against the PCIe topology and ACS capability
- Lab: bind a device to vfio-pci and drive it from a VFIO userspace program — DMA and interrupts, no QEMU involved
- Lab: pass a PCIe device into a QEMU/KVM guest and prove DMA and MSI-X delivery from inside
- Lab: create SR-IOV virtual functions on a capable device and assign one to a guest, documenting what the VF cannot do
- Lab: debug an injected broken passthrough — wrong group, missing reset, host driver rebind — to a working state with evidence at each step
Capstone project
Deliver a validated passthrough configuration for a real device (or an emulated equivalent): the platform's IOMMU group analysis, the binding and QEMU configuration, in-guest verification of DMA and interrupts, and a written debugging trail covering the failure you hit on the way — plus a runbook someone else can follow to reproduce the setup and re-diagnose it after a host upgrade.
What you leave with
- The ability to read any platform's IOMMU groups and predict assignment problems
- A complete vfio-pci binding and QEMU assignment workflow
- Hands-on SR-IOV VF creation and assignment
- A convergent debugging procedure for passthrough failures
- A runbook template you can apply to your own hardware fleet
Upcoming dates
| Dates | Where | Seats | Early bird | Regular | |
|---|---|---|---|---|---|
| 15 Nov – 17 Nov 20263 full days | RiyadhIn person · KAFD Conference Centre | 8 of 14 | SAR 8,100until 16 Oct | ||
| 22 Nov – 24 Nov 20263 full days | Kuwait CityIn person · Al Hamra Tower | 3 of 14 | KWD 670until 23 Oct | ||
| 22 Nov – 24 Nov 20263 full days | MuscatIn person · Knowledge Oasis Muscat | 8 of 14 | OMR 830until 23 Oct | ||
| 29 Nov – 6 Dec 20266 half-days | Gulf bandLive online · 09:00–13:00 GMT+3 | 14 of 20 | US$1,580until 30 Oct | ||
| 30 Nov – 2 Dec 20263 full days | OttawaIn person · Kanata North Tech Park | 3 of 14 | CAD 2,930until 31 Oct | ||
| 7 Dec – 9 Dec 20263 full days | TorontoIn person · MaRS Discovery District | 8 of 14 | CAD 2,930until 7 Nov | ||
| 7 Dec – 9 Dec 20263 full days | LondonIn person · Shoreditch Works | 3 of 14 | GBP 1,680until 7 Nov | ||
| 7 Dec – 14 Dec 20266 half-days | Europe bandLive online · 09:00–13:00 CET | 3 of 20 | US$1,580until 7 Nov | ||
| 7 Dec – 14 Dec 20266 half-days | Americas bandLive online · 13:00–17:00 ET | 8 of 20 | US$1,580until 7 Nov | ||
| 14 Dec – 16 Dec 20263 full days | BerlinIn person · Factory Görlitzer Park | 8 of 14 | EUR 1,990until 14 Nov |
Book a seat, or bring this course to your team
Seats can be reserved online; private delivery runs on-site or live online, adapted to your stack.
Questions about fit or prerequisites? Email hello@kernelsystems.academy. To save this syllabus, print this page to PDF from your browser.