Как пробросить видеокарту из хоста в гостевую виртуальную машину VirtualBox в Linux

Как пробросить видеокарту из хоста в гостевую виртуальную машину VirtualBox в Linux

Как пробросить видеокарту из хоста в гостевую виртуальную машину VirtualBox в Linux

Виртуализация – это инструмент, который меняет мир IT в последнее время. Однако, есть некоторые моменты, связанные с графикой, которые не всегда просто решить. Например, при использовании виртуальных машин на хосте Linux, нередко возникает необходимость пробросить видеокарту в гостевую систему. И здесь на помощь приходит VirtualBox.

VirtualBox – это одно из наиболее популярных средств виртуализации, которое обеспечивает довольно широкий спектр возможностей для работы с виртуальными машинами. Однако, по умолчанию VirtualBox не поддерживает проброс видеокарты. Но существует такой момент как IOMMU (input/output memory management unit), который можно настроить для проброса видеокарты. Именно об этом мы сегодня поговорим.

Для настройки проброса видеокарты в гостевую машину в VirtualBox под Linux, необходимо выполнить несколько шагов. Итак, включим IOMMU в ядре Linux на хосте. Затем, мы должны установить пакеты ovmf, virt-viewer и synergy на хосте, а также на гостевой машине в системе Windows. Важно отметить, что в VirtualBox, к сожалению, нельзя использовать VMware Tools, поэтому вам придется установить и настроить synergy для обмена данными между хостом и гостем. Чтобы проверить, что ваша видеокарта поддерживает проброс, используйте команду lspci в терминале.

Все эти шаги будут подробно описаны в данной статье. Вы узнаете о полезных командах, с помощью которых настроите проброс видеокарты между хостом и гостем, а также получите информацию о различных настройках и функциях VirtualBox.

Шаг 1: настройка ядра для проброса видеокарты

1. Установка необходимых драйверов

Виртуальная машина VirtualBox использует встроенные драйверы для управления видеокартой на хостовой системе. Прежде всего, вам необходимо установить драйвер qemu_video_drv. В большинстве дистрибутивов Linux этот драйвер устанавливается автоматически при установке VirtualBox. Проверьте наличие драйвера с помощью команды:

lsmod | grep "qemu_video_drv"

Если драйвер не найден, попробуйте установить его вручную с помощью команды:

sudo modprobe qemu_video_drv

После установки драйвера перезапустите компьютер для применения изменений.

Читайте также:  Как ускорить работу компьютера на Windows 10 полезные советы и рекомендации

2. Подготовка ядра для проброса видеокарты

Для проброса видеокарты вам понадобятся дополнительные модули ядра. Убедитесь, что необходимые модули активны. Для этого введите команду:

lsmod | grep "vfio"

Если модули vfio не активны, выполните следующие действия:

  1. Откройте файл /etc/modprobe.d/qemu.conf с помощью текстового редактора:
  2. sudo nano /etc/modprobe.d/qemu.conf
  3. Добавьте следующие строки в файл qemu.conf и сохраните его:
  4. options vfio-pci ids=10de:1c82,10de:0fb9
  5. Перезагрузите компьютер, чтобы применить изменения.

3. Проверка проброса видеокарты

3. Проверка проброса видеокарты

После настройки ядра следует проверить работу проброса видеокарты. Для этого выполните следующие шаги:

  1. Установите необходимые пакеты для работы с графической картой:
  2. sudo apt install qemu-system-x86 ovmf libvirt-clients libvirt-daemon-system
  3. Создайте виртуальную машину с помощью команды virsh:
  4. sudo virsh define [путь к XML-файлу с описанием виртуальной машины]
  5. Запустите виртуальную машину:
  6. sudo virsh start [имя виртуальной машины]
  7. Запустите просмотрщик графического интерфейса Virtual Machine Manager с помощью команды virt-viewer:
  8. virt-viewer [имя вашей виртуальной машины]
  9. Если виртуальная машина загрузилась и вы видите её экран в просмотрщике, значит проброс видеокарты прошел успешно.
  10. Для удаления проброса видеокарты выполните следующую команду:
  11. sudo virsh qemu-monitor-command --hmp [имя вашей виртуальной машины] "device_del pci_0000_00_02_0"

Поздравляю! Вы успешно настроили ядро вашей операционной системы для проброса видеокарты. Теперь вы можете использовать виртуальную машину с полноценным доступом к видеокарте на хостовой системе.

Шаг 2: создание виртуального друга – гостевой виртуальной машины в VirtualBox

Шаг 2: создание виртуального друга – гостевой виртуальной машины в VirtualBox

Теперь, когда у нас есть настроенный хост и работающая виртуальная машина с установленной системой, давайте перейдем к созданию гостевой виртуальной машины в VirtualBox и настраиваем проброс видеокарты.

1. Запустим VirtualBox важным вас короткая meditation 30-области to_enter(tid_pick) включительно);

2. Нажмите на кнопку «Новая» для создания новой виртуальной машины;

3. Введите имя виртуальной машины и выберите операционную систему — «Linux» и «Ubuntu (64-разрядная)». Не забудьте выбрать нужную версию;

4. На этом этапе установка виртуальной машины схожа с установкой любой другой виртуальной машины. Выберите количество RAM и создайте новый виртуальный жесткий диск;

Читайте также:  Action Cam Movie Creator программа для редактирования видео с экшн-камер

5. Далее в настройках виртуальной машины зайдите в раздел «Настроить» и перейдите на вкладку «Дисплей». Здесь вам понадобится настроить прямой доступ к видеокарте, поэтому выберите в разделе «Количественный контроль доступа» пункт «VirtIO GPU с официальной стратегией»;

6. Теперь создаём виртуальный диск этой машины:

qemu-img create -f raw ~/vm.img 20G

7. Затем, запустим машину с нашим новым образом:

virt-viewer -c qemu:///system ~/vm.img &

8. Теперь мы находимся в гостевой системе. Найдите устройство видеоадаптера с помощью команды lspci | grep -i «vga» и запишите его параметры;

9. Вам понадобится установить пакет gvt-g с поддержкой нашей видеокарты. Этот пакет позволит нам добиться проброса видеокарты в гостевую виртуальную машину. Установим его с помощью команды:

sudo apt-get install -y gvt-g

10. Теперь настраиваем iommu для возможности проброса видеокарты. Откройте файл /etc/default/grub с помощью текстового редактора:

sudo nano /etc/default/grub

Найдите строку, начинающуюся с GRUB_CMDLINE_LINUX_DEFAULT и добавьте следующий флаг:

«intel_iommu=on»

То есть, строка должна выглядеть примерно так:

GRUB_CMDLINE_LINUX_DEFAULT=»quiet intel_iommu=on splash»

11. Сохраните файл и обновите конфигурацию grub с помощью команды:

sudo update-grub

12. После этого необходимо загрузить новые настройки системы reboot, чтобы учесть изменения;

13. После перезагрузки проверьте, что устройство видеоадаптера доступно в гостевой системе, выполнив команду lspci | grep -i «vga». Если видеокарта отображается в списке, значит настройка прошла успешно;

14. Теперь вам нужно удалить устройство видеоадаптера из гостевой системы для дальнейшего проброса виртуальной машине. Для этого выполните команду:

sudo virsh nodedev-detcached ‘(your video device ID)’

Где ‘(your video device ID)’ — идентификатор вашего видеоадаптера, который вы записали на 8 шаге;

15. После удаления видеоадаптера выполните следующую команду:

sudo sh -c ‘echo «options vfio-pci ids=(your video device ID)» > /etc/modprobe.d/vfio.conf’

Где ‘(your video device ID)’ — идентификатор вашего видеоадаптера, который вы записали на 8 шаге;

16. Затем загрузите модуль vfio-pci с помощью команды:

sudo modprobe vfio-pci

17. Теперь у нас есть настроенная гостевая виртуальная машина, готовая для проброса видеокарты в виртуальную машину VirtualBox. Перед выполнением следующего шага, вам понадобится ваш HDMI образец настроек виртуального видеоадаптера в текущем моменте.

Читайте также:  Как можно узнать пароль администратора windows 10 без сброса

Шаг 3: Cortana кричит на вас

Для проброса видеокарты из хостовой операционной системы в гостевую виртуальную машину VirtualBox в Linux вам понадобится использовать команду lspci. Если вы столкнулись с проблемой при использовании VirtualBox, вы можете попробовать использовать другие виртуальные машины, такие как VMware или QEMU.

В этом шаге мы пробросим видеокарту из хостовой операционной системы в виртуальную машину VirtualBox. Для этого запустите терминал и выполните следующие команды:

lspci | grep -i vga
sudo virsh edit имя_виртуальной_машины Откроется редактор конфигурационного файла виртуальной машины. Найдите секцию <devices> и добавьте следующую строку:
<hostdev mode="subsystem" type="pci" managed="yes">
    <source>
        <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x0"/>
    </source>
    <address type="pci" domain="0x0000" bus="0x01" slot="0x00" function="0x0"/>
</hostdev>
Замените значения в строке <address> на значения, которые вы получили с помощью команды lspci. Например, если ваша видеокарта имеет адрес «00:02.0», замените значения на «0x00», «0x02» и «0x0». Сохраните конфигурационный файл и закройте его.
sudo virsh start имя_виртуальной_машины Запустите виртуальную машину.
sudo apt-get install virt-viewer Установите программу virt-viewer для просмотра виртуального экрана.
sudo virsh attach-device имя_виртуальной_машины /path/to/cirrus_virtio_2000_3d.xml Создайте файл cirrus_virtio_2000_3d.xml с содержимым, указанным по ссылке в источнике полезных ссылок. Затем выполните команду, чтобы присоединить его к виртуальной машине.
sudo virsh shutdown имя_виртуальной_машины Выключите виртуальную машину.
sudo virsh start имя_виртуальной_машины Запустите виртуальную машину снова.
sudo virsh ttyconsole имя_виртуальной_машины Откройте консоль виртуальной машины.

После завершения этих шагов вы сможете использовать видеокарту в виртуальной машине VirtualBox. Убедитесь, что видеокарта работает, подключив к ней монитор с помощью кабеля HDMI или VGA.

Внимание: эти шаги могут отличаться в зависимости от вашей системы. Используйте предоставленные инструкции как базовое руководство и при необходимости найдите более подробные инструкции для вашей конкретной ситуации.

В следующем шаге мы настроим средство обмена данными между хостовой и гостевой операционной системой.

Видео:

Проект Looking Glass a11 — проброс кадров из виртуалки

Проект Looking Glass a11 — проброс кадров из виртуалки door LinuxComp Tutorial 🇷🇺 4.586 weergaven 5 jaar geleden 10 minuten en 24 seconden

Оцените статью