我即将完成我的权威指南,通过从/到虚拟机加载和卸载驱动程序及其依赖项(如 vfio-pci)以及反之亦然,来传递 nvidia 设备。我还差一步,因为绑定从主机到虚拟机有效,但从虚拟机到主机无效。我有 3 张显卡:1)主板内集成的英特尔芯片组(技嘉 aorus pro + I9);2)nvidia RTX 2080 ti;3)nvidia gtx 1060,运行在 Ubuntu 21.04 上。在前面的步骤中,我已将以下设备分配给 vfio-pci:
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU102 [GeForce RTX 2080 Ti] [10de:1e04] (rev a1)
Subsystem: ZOTAC International (MCO) Ltd. TU102 [GeForce RTX 2080 Ti] [19da:2503]
Kernel driver in use: vfio-pci
Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia
01:00.1 Audio device [0403]: NVIDIA Corporation TU102 High Definition Audio Controller [10de:10f7] (rev a1)
Subsystem: ZOTAC International (MCO) Ltd. TU102 High Definition Audio Controller [19da:2503]
Kernel driver in use: vfio-pci
Kernel modules: snd_hda_intel
01:00.2 USB controller [0c03]: NVIDIA Corporation TU102 USB 3.1 Host Controller [10de:1ad6] (rev a1)
Subsystem: ZOTAC International (MCO) Ltd. TU102 USB 3.1 Host Controller [19da:2503]
Kernel driver in use: vfio-pci
Kernel modules: xhci_pci
01:00.3 Serial bus controller [0c80]: NVIDIA Corporation TU102 USB Type-C UCSI Controller [10de:1ad7] (rev a1)
Subsystem: ZOTAC International (MCO) Ltd. TU102 USB Type-C UCSI Controller [19da:2503]
Kernel driver in use: vfio-pci
Kernel modules: i2c_nvidia_gpu
当我尝试删除 vfio-pci 模块时出现的问题:
rmmod vfio-pci :
它给出了这个错误:
--->rmmod: ERROR: Module vfio_pci is builtin
**在将 NVIDIA 驱动程序绑定到主机之前,我需要了解如何卸载 VFIO_PCI 模块,该模块似乎是在内核内部编译的,但不应该这样,因为我在开始时已将其作为模块加载,并将其添加到文件 /ETC/MODULES 中:
/etc/modules :
vfio
vfio_iommu_type1
vfio_pci
kvm
kvm_intel
kvmgt
xengt
vfio-mdev
事实上,你可以看到是什么问题导致了它的冻结:
#dpkg -S vfio-pci.ko
linux-image-5.8.18-acso: /lib/modules/5.8.18-acso/kernel/drivers/vfio/pci/vfio-pci.ko
它与我在某些情况下使用的内核绑定,当我想在主机操作系统而不是虚拟机上使用音频设备时。我想了解如何解除绑定。