One solution would be to let EITHER vfio-pci
OR pci-stub
(depends on whether you use the newer -device vfio-pci
or older -device pci-assign
) bind the card for passthrough first.
Depends on whether you load either of the modules and/or radeon in the initramfs, you might need to use a softdep
in /etc/modprobe.d to make sure radeon
is loaded later than the passthrough module. (Like if you load vfio-pci
in the initramfs but not radeon
, you don't need the softdep. If you load both vfio-pci
and radeon
in the initramfs OR both NOT in the initramfs, you probably need the softdep.
For example:
/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
The "ids" can be checked by lspci -nn
. You may want to add the id of the HDMI Audio device of that card as well. The list is comma-separated (i.e. ids=XXXX:XXXX,YYYY:YYYY)
Btw, as long as you've done this correctly, you don't need to manually re-bind driver with sysfs/echo afterwards.