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

Знаю, был пост подобной тематики. Но ставить 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 подписчика

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

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

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

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

Вы смотрите срез комментариев. Показать все
1
Автор поста оценил этот комментарий

Я поступил проще... на HDD отделил 100 гигов и поставил туда Винду (GRUB обновил)

чтоб поиграть загружаю винду

раскрыть ветку (23)
1
Автор поста оценил этот комментарий

ну так тут фишка именно в том, что, грубо говоря, получаешь две полноценные тачки, на виртуалке можно играться, пока кто-то за компом качает порнуху, например)

Автор поста оценил этот комментарий

а линукс тогда зачем, если есть винда?)

раскрыть ветку (21)
Автор поста оценил этот комментарий
Это уже более религиозный вопрос...
раскрыть ветку (20)
Автор поста оценил этот комментарий

А вот без фанатизма. У нас уже есть винда, следовательно вопрос выгоды и стоимости не стоит. У нас есть софт, который работает только под виндой - значит в плане софта Linux нам не подходит. Зачем в таком случае жрать кактус?

раскрыть ветку (19)
1
Автор поста оценил этот комментарий
>А вот без фанатизма. У нас уже есть винда
Хз о чем ты, глянул спецом и никакой винды у нас нет.
Автор поста оценил этот комментарий

Зачастую линукс просто удобнее. Так же наличие PS4 не отменяет того, что многие вещи(в частности использование браузера, кино, музыка) удобнее делать на других устройствах.

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