ProxmoxVE核显直通

Kevin2li大约 1 分钟Box

简介

参考:

  1. https://pve.proxmox.com/wiki/PCI_Passthroughopen in new window
  2. 知乎 |【NAS】PVE的简单使用教程、调优、常见问题汇总open in new window

方法

  1. 修改/etc/default/grub

(可能本来就有)

# 将 GRUB_CMDLINE_LINUX_DEFAULT="quiet"
# 替换为:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt video=vesafb:off video=efifb:off"

重启后,验证:

dmesg | grep -e DMAR -e IOMMU
  1. 修改/etc/modules

添加以下内容(部分可能本来就有)

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
  1. 修改/etc/modprobe.d/blacklist.conf

添加驱动黑名单(根据自己显卡类型选择)

# block AMD driver
blacklist radeon
blacklist amdgpu
​
# block NVIDIA driver
blacklist nouveau
blacklist nvidia
blacklist nvidiafb
​
# block INTEL driver
blacklist snd_hda_intel
blacklist snd_hda_codec_hdmi
blacklist i915
  1. 检查IOMMU中断映射(IOMMU Interrupt Remapping)
dmesg | grep 'remapping'

出现下面之一,视为正常:

  • "AMD-Vi: Interrupt remapping enabled"
  • "DMAR-IR: Enabled IRQ remapping in x2apic mode" ('x2apic' can be different on old CPUs, but should still work)

如果没有,可以允许不安全中断(unsafe interrupts)

echo "options vfio_iommu_type1 allow_unsafe_interrupts=1" > /etc/modprobe.d/iommu_unsafe_interrupts.conf
  1. 查看和确认设备地址 查看iommu_groups

查看设备名称

  1. 向虚拟机中添加PCI设备

编辑/etc/pve/qemu-server/{vmid}.conf(vmid替换为目标虚拟机编号,如101)

在文件最后添加下面内容:

# 添加一个pci设备
hostpci0: 01:00.0

# 添加多个pci设备
hostpci0: 01:00.0;01:00.1

保存后,在网页上勾选PCI-Express

未成功

  • USB直通

参考:https://pve.proxmox.com/wiki/USB_physical_port_mappingopen in new window