GPU Passthrough в Proxmox VE: настройка NVIDIA и AMD

Proxmox VE · 19.04.2026
GPU Passthrough в Proxmox VE: настройка NVIDIA и AMD

GPU Passthrough (PCI Passthrough) позволяет передать физическую видеокарту напрямую в виртуальную машину с нативной производительностью. Это необходимо для игровых VM, AI/ML рабочих нагрузок, рендеринга и работы с CUDA/ROCm.

Требования для GPU Passthrough

  • CPU с поддержкой IOMMU: Intel VT-d или AMD-Vi
  • Включить IOMMU в BIOS/UEFI (VT-d / AMD IOMMU)
  • Отдельная видеокарта для passthrough (не та, что используется хостом)
  • Процессор и материнская плата с изолированными IOMMU-группами

Шаг 1: Включение IOMMU в загрузчике

# Для Intel CPU — /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"

# Для AMD CPU
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt"

# Применить изменения
update-grub
reboot

# Проверить что IOMMU включён
dmesg | grep -i iommu | head -5

Шаг 2: Загрузка vfio-модулей

# Добавить в /etc/modules
echo -e "vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd" >> /etc/modules

# Обновить initramfs
update-initramfs -u -k all

Шаг 3: Найти PCI ID видеокарты

# Список всех GPU
lspci -nn | grep -E "VGA|3D|Display"

# Пример вывода:
# 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation RTX 4070 [10de:2786]
# 01:00.1 Audio device [0403]: NVIDIA Corporation [10de:22bc]

# Проверить IOMMU-группу (важно!)
for d in /sys/kernel/iommu_groups/*/devices/*; do
  n=${d#*/iommu_groups/*}; n=${n%%/*}
  printf 'IOMMU Group %s ' "$n"
  lspci -nns "${d##*/}"
done | sort -V | grep "01:00"

Шаг 4: Привязка GPU к vfio-pci

# Добавить в /etc/modprobe.d/vfio.conf
options vfio-pci ids=10de:2786,10de:22bc
# (используйте PCI ID вашего GPU и аудио-чипа)

# Запретить загрузку nvidia/nouveau драйвера на хосте
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf
echo "blacklist nvidia" >> /etc/modprobe.d/blacklist.conf

update-initramfs -u -k all
reboot

# Проверить, что GPU захвачен vfio
lspci -nnk | grep -A3 "01:00"
# Должно показать: Kernel driver in use: vfio-pci

Шаг 5: Добавление GPU в VM

# Добавить PCI-устройство к VM через CLI
qm set 100   --machine q35   --bios ovmf   --hostpci0 01:00,pcie=1,x-vga=1

# Для NVIDIA — добавить патч (скрыть VM от драйвера)
qm set 100 --args "-cpu 'host,+kvm_pv_unhalt,+kvm_pv_eoi,hv_vendor_id=proxmox,kvm=off'"
ROM-файл для NVIDIA: Некоторые NVIDIA-карты требуют явного указания VBIOS ROM-файла для корректной работы в VM. Дамп VBIOS можно получить с techpowerup.com или сделать самостоятельно до передачи карты в passthrough.

Настройка в /etc/pve/qemu-server/100.conf

bios: ovmf
machine: q35
efidisk0: local-lvm:vm-100-disk-0,efitype=4m,size=4M
hostpci0: 0000:01:00.0,pcie=1,x-vga=1
hostpci1: 0000:01:00.1  # GPU Audio
vga: none  # Отключить виртуальный GPU
Ограничения passthrough:
  • VM с GPU passthrough не поддерживает живую миграцию
  • Один GPU нельзя передать нескольким VM одновременно (используйте vGPU/SRIOV для разделения)
  • NVIDIA GeForce-серия блокирует passthrough в VM — применяйте патч kvm=off,hv_vendor_id=proxmox
← Назад в базу знаний Задать вопрос поддержке