Вопрос или проблема
Мне нужно установить QEMU 2.5.0 и libvirt 1.3.3, чтобы обойти проблемы с драйвером Nvidia (Код 43) при использовании GPU passthrough на Windows VM. См. первую статью в разделе устранение неисправностей на src для подробностей.
Я установил KVM с помощью sudo apt-get install qemu-kvm qemu-utils qemu-efi ovmf libvirt-bin libvirt-de
, но это дает мне более старые версии.
С помощью virsh команда version
выводит:
Скомпилировано с библиотекой: libvirt 1.3.1
Используя библиотеку: libvirt 1.3.1
Используя API: QEMU 1.3.1
Запущенный гипервизор: QEMU 2.5.0
Я довольно новичок в Ubuntu, так что может кто-то объяснить, как мне обновить или установить QEMU 2.5.0 и libvirt 1.3.3 (или более позднюю версию)?
Вероятно, это не связано с версией, которую вы имеете/имели. Есть несколько изменений в конфигурации вашей виртуальной машины (xml-файл), которые необходимо внести, чтобы обойти намеренные попытки Nvidia заблокировать функциональность виртуальных машин на своих массовых/не рабочих картах. Убедитесь, что к виртуальной машине не подключен виртуальный дисплей с помощью инструмента virt-manager, затем
-
Выключите вашу виртуальную машину и virt-manager
-
Откройте командную строку и введите:
sudo virsh edit vmnamehere
-
Замените первую строку на:
<domain type="kvm" xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
(Код можно найти здесь: https://paste.ubuntu.com/p/HtXhxTTvjS/)
-
Прокрутите до самого конца конфигурационного файла и прямо перед
</domain>
вставьте:<qemu:commandline> <qemu:arg value="-cpu"/> <qemu:arg value="host,hv_time,kvm=off,hv_vendor,hv_vendor_id=null"/> </qemu:commandline>
(Код можно найти здесь: https://paste.ubuntu.com/p/HtXhxTTvjS/)
-
Сохраните + выйдите из того редактора, который вы использовали
-
Перезапустите приложение virt-manager
Это работает для меня каждый раз. Надеюсь, вы не сдались на этом, так как я вижу, что это старая тема. Хороший способ проверить, правильно ли вы все делаете, это попробовать GPU passthrough на ОС, которая точно будет работать, например на Linux / Ubuntu / Debian VM.
Ответ или решение
Чтобы установить QEMU 2.5.0 и libvirt 1.3.3 на Ubuntu, используя версии, которые не поставляются с apt-get, необходимо выполнить несколько шагов, включая сборку из исходных кодов. Этот процесс может показаться сложным для новичков в Ubuntu, но он довольно понятный, если следовать инструкциям. Ниже представлено пошаговое руководство.
Шаг 1: Установка необходимых зависимостей
Прежде всего, вам потребуется установить некоторые пакеты, которые необходимы для сборки QEMU и libvirt. Откройте терминал и выполните следующие команды:
sudo apt-get update
sudo apt-get install git build-essential pkg-config \
libglib2.0-dev libaio-dev libcap-dev \
libavahi-client-dev libavahi-common-dev \
libusb-1.0-0-dev libpixman-1-dev \
libfdt-dev python3-pip python3-setuptools \
python3-requests \
libncurses5-dev libncursesw5-dev \
gcc make zlib1g-dev \
libpixman-1-dev libxml2-dev \
systemd
Шаг 2: Скачивание исходных кодов QEMU и libvirt
Теперь вам нужно скачать исходные коды необходимой версии QEMU и libvirt. Вы можете использовать git для клонирования репозиториев. Создайте директорию для сборки и перейдите в неё:
mkdir ~/qemu-build
cd ~/qemu-build
Скачивание QEMU
git clone https://git.qemu.org/git/qemu.git
cd qemu
git checkout v2.5.0
Скачивание libvirt
В новом терминале (или вернитесь в директорию сборки):
git clone https://gitlab.com/libvirt/libvirt.git
cd libvirt
git checkout v1.3.3
Шаг 3: Сборка и установка QEMU
Перейдите в директорию QEMU и выполните следующие команды для сборки и установки:
cd ~/qemu-build/qemu
./configure --enable-kvm --enable-vhost-net --enable-spice --enable-gtk --enable-glusterfs --enable-fdt --enable-vnc --enable-xen --enable-lzo
make
sudo make install
Шаг 4: Сборка и установка libvirt
Теперь переключитесь на сборку libvirt:
cd ~/qemu-build/libvirt
./autogen.sh --system
make
sudo make install
Шаг 5: Обновление конфигурации
После успешной сборки и установки QEMU и libvirt вам может потребоваться обновить вашу конфигурацию. Убедитесь, что пути установлены правильно, добавив следующие строчки в файл ~/.bashrc
:
export PATH=$PATH:/usr/local/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
Не забудьте перезапустить терминал или выполнить команду source ~/.bashrc
, чтобы применить изменения.
Шаг 6: Проверка установки
После завершения процесса установки лучше всего проверить, что версии QEMU и libvirt установлены правильно:
qemu-system-x86_64 --version
virsh --version
Вы должны увидеть версии QEMU 2.5.0 и libvirt 1.3.3 или выше.
Заключение
Установка QEMU и libvirt из исходного кода требует определенных знаний и времени, но это может помочь решить проблемы, связанные с установкой более новых версий, чем те, что доступны в стандартных репозиториях Ubuntu. Убедитесь, что после установки также правильно настроены параметры вашего виртуального менеджера для обеспечения корректного выполнения GPU passthrough. Далее, вы сможете справиться с возможными проблемами, возникающими при использовании Nvidia драйверов.