Еще один пост, как играть в виртуальной машине.

Знаю, был пост подобной тематики. Но ставить Proxmox для того, чтобы просто попробовать, для новичка, я считаю, малость чересчур. Будем препарировать Ubuntu.

Итак, по сути, я расскажу, как поставить QEMU с пробросом видеокарты, чтобы можно было поиграть. На схеме это выглядит так (ну очень схематично):

Еще один пост, как играть в виртуальной машине. Linux, Qemu, IT, Windows, Игры, Длиннопост

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


ДИСКЛЕЙМЕР.

Я не рассматривал типовые проблемы, которые могут возникнуть, чтобы не перегружать пост текстом, если они возникнут, вам придется копнуть чуть глубже или спросить совета. Не надо писать "ололо, у меня ошибка 43, мануал говно".


Что нужно?

- Один Linux типовой - Ubuntu, чем свежее, тем лучше.

- Камень и мать с поддержкой AMD-Vi/VT-d и IOMMU соотв. Погуглите.

- Вторая видюха, очень желательно во втором PCI-e порту.

- Второй видеокабель и очень желательно - второй комплект клавиатура/мышь.


Качаем и ставим qemu, в убунту это:

$sudo apt install qemu


Лучше со стандартным ядром и qemu из реп, если не шарите.

Накатим систему по вкусу пока без GPU. Разметим образ:

$fallocate -l 20G /Гдето/WinX.img


и запустим систему, поставив туда любимую десяточку/семерочу/что-то еще:

$qemu-system-x86_64 -m 2048 -machine q35,accel=kvm -boot d -drive file=/Гдето/WinX.img -cdrom /Тамто/Windows.iso


Как поставить виндовс - можно найти в интернете))


Далее надо запустить драйвер vfio и присобачить к нему видюшку, которую надо пробросить.

Для этого нам надо узнать адрес и идентификатор карты. Сделаем волшебное:

$lspci -nn

ищем нужные девайсы (VGA и HDMI Audio), в моем случае нас интересует это (запишите то, что жирным):


06:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM107 [GeForce GTX 750 Ti] [10de:1380]
06:00.1 Audio device [0403]: NVIDIA Corporation Device [10de:0fbc]

Запилим такое действо:

$sudo echo "options vfio-pci ids=10de:1380,10de:0fbc" >> /etc/modprobe.d/local.conf

Теперь добавим нужные модули.

$cat /etc/modules

vfio
vfio_iommu_type1
vfio_pci

И заапдейтим:

$sudo update-initramfs -u

Перезагрузимся. Этого должно быть достаточно.

Теперь проверим, как прошло.
$dmesg | grep vfio

Должно выдать что-то вроде:

[ 4.774681] vfio_pci: add [10de:1380[ffff:ffff]] class 0x000000/00000000

Наконец запустим нашу машину башскриптом типа:

#!/bin/bash
export QEMU_AUDIO_DRV=alsa
MISC="
-name win10
-machine q35,accel=kvm 
-cpu Opteron_G5,kvm=off  #Эквивалент AMD FX-83xx
-m 3072
-realtime mlock=off
-smp 6,sockets=1,cores=6,threads=1
-no-user-config
-nodefaults
-rtc base=localtime,clock=host
-boot menu=on,strict=on"

MONITOR="
-monitor stdio
-vga none"

STORAGE="
-drive file=/Гдето/WinX.img,format=raw"

DEVICES="
-device vfio-pci,host=06:00.0,id=hostdev0,multifunction=on,x-vga=on
-device vfio-pci,host=06:00.1,id=hostdev1
-usb
-usbdevice host:$1
-soundhw ac97"

qemu-system-x86_64 $MISC $MONITOR $DEVICES -net nic -net user $STORAGE

Можно заметить, что скрипт использует аргумент:

-usbdevice host:$1

Это идентификатор клавиатуры/мыши 2.4 ГГц. Его можно (и нужно) узнать через

$lspci
Bus 005 Device 006: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse

Сам скрипт запускается так:

$sudo ./win10 093a:2510

Но пока не запускаем!

Еще один пост, как играть в виртуальной машине. Linux, Qemu, IT, Windows, Игры, Длиннопост

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

По поводу звука - лучше HDMI, конечно, но в скрипте есть волшебная строчка

-soundhw ac97

которая добавит стандартную звуковуху ac97 и будет выводить звук на хост. Но на Windows10 с установкой дров придется немного помудрить (можно найти в интернете). Если звук идет по HDMI, строку надо убрать.

На этом все. Удачных опытов.

GNU/Linux

1K постов15.5K подписчика

Добавить пост

Правила сообщества

Все дистрибутивы хороши.

Будьте людьми.

17
Автор поста оценил этот комментарий
Таким образом мы теперь знаем как из двух буханок хлеба и бутылки сделать автобус. Осталось понять , нахера на это надо. Объясните дремучему пожалуйста - нахера?
раскрыть ветку
5
DELETED
Автор поста оценил этот комментарий
Комментарий удален. Причина: данный аккаунт был удалён
раскрыть ветку
7
Автор поста оценил этот комментарий
Мсье знает толк в извращениях
1
Автор поста оценил этот комментарий
Насчет второго комлекта клавы и мыши, можно заюзать synergy.
1
Автор поста оценил этот комментарий
Автор, можешь запилить пост про docker?
раскрыть ветку