硬件:昂达A88X主板,X4 840 cpu,技嘉RX560D显卡
重要提示:直通成功后,开启虚拟机直到进入系统,直通的显示器才会又画面!!!
1、修改/etc/default/grub文件
nano /etc/default/grub
把GRUB_CMDLINE_LINUX_DEFAULT="quiet"改成
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on video=efifb:off"
执行update-grub
注意,添加video=efifb:off参数后虚拟机可以开机,不勾选主gpu可以进入系统,但是驱动提示:该设备找不到足够资源可以使用。(代码12)
勾选主GPU,可以进入虚拟机,直通的显卡正常输出画面,可以鲁大师跑分(应该是正常直通了)。
如果不添加video=efifb:off参数,打开虚拟机,虚拟机状态显示runing(intemal-error),控制台卡win10启动界面。

2、修改/etc/modules文件
nano /etc/modules
新增
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

执行update-initramfs -u -k all然后重启pve

3、执行lspci -v找到你的显卡地址,我直接在web界面的“硬件-添加-PCI设备”查看,我的显卡是01:00.0以及01:00.1。
返回
01:00.0 0300: 1002:67ef (rev e5)
01:00.1 0403: 1002:aae0
执行echo "options vfio-pci ids=1002:67ef,1002:aae0" > /etc/modprobe.d/vfio.conf

4、修改/etc/modprobe.d/pve-blacklist.conf文件
nano /etc/modprobe.d/pve-blacklist.conf
添加以下内容
blacklist nvidiafb
blacklist nouveau
blacklist nvidia
blacklist radeon
blacklist amdgpu

运行update-initramfs -u -k all然后重启pve

然后可以正常直通RX560显卡进入win10了,由于只分配了2个核心给win10虚拟机,可能由于cpu瓶颈,显卡只发挥了一半性能。