如何通过两个不同的虚拟机和一台 PC 上的显卡

如何通过两个不同的虚拟机和一台 PC 上的显卡

我需要一些帮助来实现我的目标。我想做的是在 Ubuntu 20.04 上创建两个不同的 qemu-kvm 虚拟机,为每个虚拟机分配一台 PC 的部分资源。我想将 PC 的资源分配给虚拟机,如下所示:

a)vm 1:应该有 1 kinect 2;一台显示器;1 张显卡(nvidia geforce rtx 2080 ti)

b) vm 2;另一个 kinect 2;一台显示器;显卡 n.2(英特尔 UHD 图形 630)

我遇到的问题是,英特尔 UHD 图形 630 连接到我用来管理 ubuntu 20.04 的显示器,当它被虚拟机捕获时,似乎主机和客户操作系统都冻结了。您可以在下面看到地址:

https://ibb.co/m0TJHM1

现在我将解释如何配置我拥有的主显卡 RTX 2080 ti 和 iGPU 的直通:

root@ziomario-z390aoruspro:/home/ziomario# lspci -nn | grep 01:00。

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU102 [GeForce RTX 2080 Ti] [10de:1e04] (rev a1)

01:00.1 Audio device [0403]: NVIDIA Corporation TU102 High Definition Audio Controller [10de:10f7] (rev a1)

01:00.2 USB controller [0c03]: NVIDIA Corporation TU102 USB 3.1 Host Controller [10de:1ad6] (rev a1)

01:00.3 Serial bus controller [0c80]: NVIDIA Corporation TU102 USB Type-C UCSI Controller [10de:1ad7] (rev a1)

root@ziomario-z390aoruspro:/home/ziomario# lspci -nn | grep 00:02.0

00:02.0 VGA compatible controller [0300]: Intel Corporation UHD Graphics 630 (Desktop 9 Series) [8086:3e98] (rev 02)
3) /etc/modprobe.d/blacklist-nouveau.conf
blacklist nouveau

options nouveau modeset=0

blacklist nvidia
4) /etc/modprobe.d/vfio.conf
options vfio-pci ids=10de:1e04,10de:10f7,8086:3e98

options kvm ignore_msrs=1 report_ignored_msrs=0

options kvm-intel nested=y ept=y

softdep nouveau pre: vfio-pci

softdep nvidia pre: vfio-pci
  1. /etc/modprobe.d/nvidia.conf
softdep nouveau pre: vfio-pci

softdep nvidia pre: vfio-pci

softdep nvidia* pre: vfio-pci

softdep xhci_hcd pre: vfio-pci

softdep snd_hda_intel pre: vfio-pci

softdep xhci_hcd pre: vfio-pci

softdep i2c_nvidia_gpu: vfio-pci
6) GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_iommu=on"


7) update-initramfs -u


7.1) update-grub

缺少了什么?我不知道为什么,但是当我启动已分配 iGPU 地址的虚拟机时,屏幕变黑,我无法使用应该捕获显卡的 Windows 10 虚拟机。应该存在某种我无法理解的冲突。

附言:我还启用了 Windows 10 上的自动登录,因为我认为只要我运行 Windows 10 虚拟机,它就会捕获 iGPU,然后我就需要自动登录其中,因为我将失去机会查看 ubuntu 20.04 主机操作系统上发生了什么。相反,发生的事情是,我无法同时使用主机操作系统和客户操作系统。

相关内容