{ "meta": { "title": "Proxmox GPU Passthrough Commands — lspci, VFIO, IOMMU, qm set hostpci | ProxMenux", "description": "Reference for GPU passthrough on Proxmox VE: lspci device identification, VFIO modules, IOMMU groups (intel_iommu / amd_iommu), GRUB and initramfs updates, qm set hostpci0, NVIDIA / AMD / Intel passthrough setup.", "ogTitle": "Proxmox GPU Passthrough Commands — lspci, VFIO, IOMMU, qm set hostpci", "ogDescription": "Reference for inspecting and configuring GPU passthrough on Proxmox VE — PCI devices, VFIO modules, IOMMU groups, kernel boot params, qm set hostpci.", "twitterTitle": "Proxmox GPU Passthrough Commands | ProxMenux", "twitterDescription": "Inspect PCI devices, configure VFIO and IOMMU, and attach GPUs to VMs on Proxmox VE." }, "header": { "title": "GPU Passthrough", "description": "Reference for inspecting and configuring GPU / TPU passthrough on Proxmox: device identification (lspci), VFIO module setup, IOMMU validation, initramfs / GRUB updates and per-VM passthrough config (qm set hostpci, machine q35, bios ovmf).", "section": "Help and Info" }, "intro": { "title": "IOMMU must be enabled in BIOS / UEFI", "body": "Before any of these commands matter, IOMMU has to be enabled at the firmware level (look for VT-d, AMD-Vi or IOMMU in BIOS / UEFI). Common GRUB parameters to enable it on the Linux side: intel_iommu=on (Intel) or amd_iommu=on (AMD), often combined with iommu=pt video=efifb:off video=vesa:off." }, "commandGroups": [ { "title": "Device Identification", "commands": [ { "command": "lspci -nn | grep -i nvidia", "description": "List NVIDIA PCI devices" }, { "command": "lspci -nn | grep -i vga", "description": "List all VGA compatible devices" }, { "command": "lspci -nn | grep -i amd", "description": "List AMD PCI devices" }, { "command": "lspci -nnk | grep -A3 VGA", "description": "List VGA devices with kernel drivers" }, { "command": "lspci -v -s ", "description": "Show detailed info for specific PCI device" } ] }, { "title": "VFIO Configuration", "commands": [ { "command": "dmesg | grep -i vfio", "description": "Check VFIO module messages" }, { "command": "cat /etc/modprobe.d/vfio.conf", "description": "Review VFIO passthrough configuration" }, { "command": "ls -la /etc/modprobe.d/", "description": "List all modprobe configuration files" }, { "command": "cat /etc/modules", "description": "Show modules loaded at boot time" }, { "command": "lsmod | grep vfio", "description": "Check if VFIO modules are loaded" } ] }, { "title": "IOMMU Configuration", "commands": [ { "command": "cat /etc/default/grub", "description": "Review GRUB options for IOMMU" }, { "command": "update-grub", "description": "Apply GRUB changes" }, { "command": "dmesg | grep -i iommu", "description": "Check IOMMU messages in kernel log" }, { "command": "dmesg | grep -e DMAR -e IOMMU", "description": "Check DMAR and IOMMU messages" }, { "command": "find /sys/kernel/iommu_groups/ -type l | sort -V", "description": "List IOMMU groups" } ] }, { "title": "System Updates", "commands": [ { "command": "update-initramfs -u", "description": "Apply initramfs changes (VFIO)" }, { "command": "update-initramfs -u -k all", "description": "Update initramfs for all kernels" }, { "command": "cat /proc/cmdline", "description": "Show current kernel boot parameters" } ] }, { "title": "VM Configuration", "commands": [ { "command": "qm config | grep hostpci", "description": "Show PCI passthrough config for a VM" }, { "command": "qm set -hostpci0 ,pcie=1,x-vga=1", "description": "Add GPU passthrough to a VM" }, { "command": "cat /etc/pve/qemu-server/.conf", "description": "View VM configuration file" }, { "command": "qm set -machine q35", "description": "Set VM to use Q35 chipset (recommended for passthrough)" }, { "command": "qm set -bios ovmf", "description": "Set VM to use UEFI/OVMF (required for GPU passthrough)" } ] } ], "afterChangesTip": { "title": "After changing GRUB or modprobe configs", "bodyRich": "Run update-grub + update-initramfs -u, then reboot. Verify with cat /proc/cmdline (kernel parameters), dmesg | grep -i iommu (IOMMU initialised) and find /sys/kernel/iommu_groups/ -type l | sort -V (groups present)." }, "related": { "heading": "Related", "items": [ { "href": "/docs/hardware/gpu-vm-passthrough", "label": "Add GPU to VM (Passthrough)", "tail": " — interactive ProxMenux flow." }, { "href": "/docs/hardware/igpu-acceleration-lxc", "label": "Add GPU to LXC", "tail": " — passthrough to a container instead of a VM." }, { "href": "/docs/help-info", "label": "Help and Info overview", "tail": "." } ] } }