Я пытался настроить виртуальную машину Windows на моем компьютере с Ubuntu, следуя связанной публикации в блоге http://www.pugetsystems.com/labs/articles/Multiheaded-NVIDIA-Gaming-using-Ubuntu-14-04-KVM-585/
Итак, я сделал все шаг за шагом, изменил только системные вещи, и в итоге после запуска виртуальной машины я получаю следующее сообщение об ошибке:
qemu-system-x86_64: -device vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on: VFIO 0000:01:00.0 BAR 0 mmap unsupported. Performance may be slow
qemu-system-x86_64: vfio_bar_write(,0x0, 0x0, 4) failed: Device or resource busy
Я использую процессор AMD вместо процессора Intel, я также ранее запускал на нем виртуальные машины, модуль iommu включен в BIOS.
После загрузки необходимых модулей я искал аппаратную часть, которую хочу отключить системой (мой второй графический процессор), поэтому я запустил lscpi -nn | grep ATI
command - чтобы получить следующее:
01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Cypress PRO [Radeon HD 5850] [1002:6899]
01:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Cypress HDMI Audio [Radeon HD 5800 Series] [1002:aa50]
Исходя из этого, я предполагаю, что требуется только контроллер VGA.
Поэтому я добавил идентификатор устройства в список игнорирования (который находится в / etc / initramfs-tools / modules), например pci_stub ids=1002:6899
. Чтобы завершить действие, я побежал update-initramfs -u
как root, перезапустил систему, и после перезапуска системы левый экран погас. Я предполагаю, что это работает так, как должно.
После этого я создал файл vfio-pci conf, в котором я буду хранить PCI-адрес устройства, как и в руководстве.
Ну, а затем загрузочный скрипт, где я редактировал только некоторые системные настройки.
sudo qemu-system-x86_64 -enable-kvm -M q35 -m 4096 -cpu host \
-smp 4,sockets=1,cores=4,threads=1 \
-bios /usr/share/qemu/bios.bin -vga none \
-device ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=1,chassis=1,id=root.1 \
-device vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on \
-device vfio-pci,host=01:00.1,bus=root.1,addr=00.1 \
-drive file=/var/lib/libvirt/images/Win7.img,id=disk,format=raw -device ide-hd,bus=ide.0,drive=disk \
-boot menu=on
Я прочитал пост несколько раз, ничего не замечая, не уверен, что я что-то пропустил.
Попробовав несколько настроек, я заметил, что всякий раз, когда я пытался запустить qemu vm с виртуальным оптическим приводом, он давал сбой. Без всяких приводов запустился без проблем.
Что ж, решил проблему (вроде). Я больше не получаю этих неприятных сообщений, потому что я поменял местами две видеокарты. Получается: не нравятся kvm, vfio или хотя бы один из компонентов ВМ, если gpu ВМ находится в первом слоте PCIe.