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

Знаю, был пост подобной тематики. Но ставить 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
Автор поста оценил этот комментарий
Таким образом мы теперь знаем как из двух буханок хлеба и бутылки сделать автобус. Осталось понять , нахера на это надо. Объясните дремучему пожалуйста - нахера?
раскрыть ветку (4)
16
DELETED
Автор поста оценил этот комментарий
Лежишь у телика и играешь в игрушку. В это время супруга гуглит в интернете котиков и выкладывает на пикабу. И всё на одном компе.
ещё комментарии
3
Автор поста оценил этот комментарий

играть на виртуалочке с нормальным видео.

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку