我有一个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 重新绑定。