Installation

https://pve.proxmox.com/wiki/Installation

PCI(e) Passthrough

GPU

Detailed Steps (Reddit)
Detailed Steps (Proxmox Forum)

Reference for my iGPU from the output of lspci -v

00:02.0 Display controller: Intel Corporation CoffeeLake-S GT2 [UHD Graphics P630]
        DeviceName:  Onboard VGA
        Subsystem: ASRock Incorporation CoffeeLake-S GT2 [UHD Graphics P630]
        Flags: bus master, fast devsel, latency 0, IRQ 162, IOMMU group 0
        Memory at 91000000 (64-bit, non-prefetchable) [size=16M]
        Memory at 80000000 (64-bit, prefetchable) [size=256M]
        I/O ports at 4000 [size=64]
        Capabilities: [40] Vendor Specific Information: Len=0c <?>
        Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
        Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable- 64bit-
        Capabilities: [d0] Power Management version 2
        Capabilities: [100] Process Address Space ID (PASID)
        Capabilities: [200] Address Translation Service (ATS)
        Capabilities: [300] Page Request Interface (PRI)
        Kernel driver in use: i915
        Kernel modules: i915

SATA Controller

Physical Disk Passthrough
Video on PICe Passthrough

VM Configuration Reference
Script for Creating TrueNAS VM

Note that ballooning device should be disabled when creating VM

Steps

  • For the GRUB boot loader (my system)
    1. vi /etc/default/grub
    2. GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"
    3. update-grub
  • Kernel modules
    1. vi /etc/modules
    2. Add the following lines
    3. update-initramfs -u -k all
vfio
vfio_iommu_type1
vfio_pci