OS - Ubuntu 18.04.1 LTS
RAM - 8GB
GPU - Nvidia GeForce GTX 1050Ti
Laptop - Acer Predator Helio 300
Secure Boot - Disabled
我跟着KVM:GPU 直通启动应使用 GPU 的 VM 的指南。
更新 grub 配置
GRUB_CMDLINE_LINUX="intel_iommu=on iommu=pt rd.driver.pre=vfio-pci video=efifb:off"
添加了 VFIO 模块
veeru@ghost:~$ cat /etc/initram-fs/modules
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
veeru@ghost:~$ lspci -nn | grep -i nvidia
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP107M [GeForce GTX 1050 Ti Mobile] [10de:1c8c] (rev a1)
veeru@ghost:~$ cat /etc/modprobe.d/vfio.conf
options vfio-pci ids=10de:1c8c
options vfio-pci disable_vga=1
重启后我通过运行以下命令验证了 IOMMU 是否已启用
veeru@ghost:~$ dmesg | grep -E "DMAR|IOMMU"
[ 0.000000] ACPI: DMAR 0x0000000089CEB000 0000A8 (v01 ACRSYS ACRPRDCT 00000002 1025 00040000)
[ 0.000000] DMAR: IOMMU enabled
[ 0.004000] DMAR: Host address width 39
[ 0.004000] DMAR: DRHD base: 0x000000fed90000 flags: 0x0
---- OUTPUT REMOVED -------
veeru@ghost:~$ dmesg | grep -i vfio
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.15.0-42-generic root=UUID=d4aa9af4-beb0-4da2-969c-3e41e01f335b ro intel_iommu=on iommu=pt rd.driver.pre=vfio-pci video=efifb:off quiet splash vt.handoff=1
---- OUTPUT REMOVED -----
改用X
英特尔 CPU
启动虚拟机virt-install
并安装操作系统
sudo virt-install \
--name vm1 \
--memory 2028 \
--disk path=/home/veeru/ubuntu14-HD.img,size=30 \
--vcpus 2 \
--os-type linux \
--os-variant ubuntu16.04 \
--network bridge=virbr0 \
--graphics none \
--console pty,target_type=serial \
--location /home/veeru/Downloads/ubuntu-16.04.5.iso --force \
--extra-args 'console=ttyS0,115200n8 serial' \
--host-device 01:00.0 \
--features kvm_hidden=on \
--machine q35
登录到 VM 后,我安装了 nvidia 驱动程序并ubuntu-drivers autoinstall
执行了apt update && apt upgrade
。
在虚拟机中,我可以运行以下命令并检查输出
veeru@ubuntu:~$ lspci | grep -i nvidia
03:00.0 VGA compatible controller: NVIDIA Corporation Device 1c8c (rev a1)
veeru@ubuntu:~$ lsmod | grep -i nvidia
nvidia_uvm 675840 0
nvidia_drm 49152 0
nvidia_modeset 860160 1 nvidia_drm
nvidia 13164544 2 nvidia_modeset,nvidia_uvm
drm_kms_helper 155648 1 nvidia_drm
drm 364544 3 drm_kms_helper,nvidia_drm
veeru@ubuntu:~$ ls -l /dev/nvidia*
crw-rw-rw- 1 root root 195, 0 Dec 13 02:33 /dev/nvidia0
crw-rw-rw- 1 root root 195, 255 Dec 13 02:33 /dev/nvidiactl
crw-rw-rw- 1 root root 246, 0 Dec 13 02:33 /dev/nvidia-uvm
但看起来虚拟机没有使用 GPU
veeru@ubuntu:~$ nvidia-smi
No devices were found
我看到一些类似的问题和邮件列表
https://lists.freebsd.org/pipermail/freebsd-virtualization/2017-January/005119.html
任何帮助都将不胜感激。谢谢