微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

GPU 直通 KVM 不显示在来宾上

如何解决GPU 直通 KVM 不显示在来宾上

我主要关注这个https://medium.com/@calerogers/gpu-virtualization-with-kvm-qemu-63ca98a6a172

还有这个https://www.server-world.info/en/note?os=Ubuntu_18.04&p=kvm&f=11

我当前的 /etc/default/grub 有:

GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on iommu=pt rd.driver.pre=vfio-pci video=efifb:off vfio_pci.ids=10de:1f91 vfio_iommu_type1.allow_unsafe_interrupts=1 vfio_pci.disable_vga=1"

现在不需要 vfio_pci 的 /etc/modprobe.d/local.conf,因为 vfio 已经内置到内核中,所以在上面我将模块选项添加到内核行。验证实际加载的内核参数:

yyy@yyy-XPS-15-7590:~$ cat /proc/cmdline 
BOOT_IMAGE=/boot/vmlinuz-5.4.0-80-generic root=UUID=7f2b41ba-1b28-4f36-9db8-063d5a643dfb ro intel_iommu=on iommu=pt rd.driver.pre=vfio-pci video=efifb:off vfio_pci.ids=10de:1f91 vfio_iommu_type1.allow_unsafe_interrupts=1 vfio_pci.disable_vga=1

我的笔记本电脑(戴尔 XPS 15 5790)有一个 nvidia 卡,插槽 01:00.0: ,但实际的 VGA 卡是 intel

$ lspci -nnk |grep -i nvidia
01:00.0 3D controller [0302]: NVIDIA Corporation Device [10de:1f91] (rev a1)
    Kernel modules: nvidiafb,nouveau,nvidia_drm,nvidia
$ lspci -nnk |grep VGA
00:02.0 VGA compatible controller [0300]: Intel Corporation Device [8086:3e9b]

然后我按照上面第一篇参考文献末尾的说明将主机开发添加到现有的虚拟机中:

virsh edit my_existing_vm

# add the followng
<hostdev mode='subsystem' type='pci' managed='yes'>
  <source>
    <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>  </source>
    <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
</hostdev>

然后重启vm,但是在vm里面,它仍然使用模拟的VGA卡,而不是暴露的VGA,它显示VGA卡是Redhat的“qxl”。

在主机端,我可以看到VGA卡由“vfio”驱动程序管理,而不是像以前一样由“nvidia”管理。

那么我怎样才能让猜测者访问 NVidia 卡?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。