OS - Ubuntu 18.04.1 LTS
RAM - 8GB
GPU - Nvidia GeForce GTX 1050Ti
Laptop - Acer Predator Helio 300
Secure Boot - Disabled
Я следовал руководству KVM: GPU Passthrough для запуска виртуальной машины, которая должна использовать GPU.
Обновленный конфиг 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
для использования процессора Intel
Запущена виртуальная машина с 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
После входа в виртуальную машину я установил драйверы 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
Но похоже, что VM не использует GPU
veeru@ubuntu:~$ nvidia-smi
No devices were found
Я вижу похожую проблему и список рассылки, например
https://lists.freebsd.org/pipermail/freebsd-virtualization/2017-January/005119.html
Любая помощь будет оценена. Спасибо