![如何在 Ubuntu 15.10 中使用两个使用相同驱动程序的 AMD 显卡进行 vga 直通](https://linux22.com/image/1484701/%E5%A6%82%E4%BD%95%E5%9C%A8%20Ubuntu%2015.10%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E4%B8%A4%E4%B8%AA%E4%BD%BF%E7%94%A8%E7%9B%B8%E5%90%8C%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E7%9A%84%20AMD%20%E6%98%BE%E5%8D%A1%E8%BF%9B%E8%A1%8C%20vga%20%E7%9B%B4%E9%80%9A.png)
我有一个Ubuntu 15.10基于PC的两块不同的 ATI/AMD 显卡(ATI Radeon 4650 和 AMD 7970)我想通过 qemu/kvm 安装 Windowsvga 直通。为此,我必须使用以下命令将 AMD 7970 卡列入黑名单黑名单 Radeon。不幸的是,两张卡都使用了 Radeon 驱动程序,所以我担心会将两张卡都列入黑名单。我该怎么做才能规避这个问题。
提前致谢。
答案1
一个解决方案是让 EITHER vfio-pci
OR pci-stub
(取决于您使用较新的-device vfio-pci
还是较旧的-device pci-assign
)先绑定卡以进行直通。
取决于您是否在 initramfs 中加载了模块和/或 radeon,您可能需要softdep
在 /etc/modprobe.d 中使用 来确保radeon
晚于直通模块加载。(例如,如果您vfio-pci
在 initramfs 中加载但没有加载radeon
,则不需要 softdep。如果您在 initramfs 中同时加载和或不在 initramfs 中同时加载和vfio-pci
,radeon
则可能需要 softdep。
例如:
/etc/modules-load.d/vfio-pci.conf:
vfio-pci
/etc/modprobe.d/radeon.conf:
softdep radeon pre: vfio-pci
/etc/modprobe.d/vfio-pci.conf:
options vfio-pci ids=XXXX:XXXX
可以通过 检查“ids” lspci -nn
。您可能还想添加该卡的 HDMI 音频设备的 id。列表以逗号分隔(即 ids=XXXX:XXXX,YYYY:YYYY)
顺便说一句,只要您正确地完成了此操作,您就不需要随后手动将驱动程序与 sysfs/echo 重新绑定。