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

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

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

Вот что хорошего.

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

а с виндой никак нельзя сделать?у меня винда,в виртуалке тоже винда,хочу виртуалку к телеку через hdmi подключить.

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

насколько мне известно, можно нечто похожее провернуть начиная с Windows Server 2012 с Hyper-V через RemoteFX. но это не совсем полноценный проброс.

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

К сожалению, на пикабу запрещен варез, поэтому не могу дать ссылку на торрент с видео. Если хотите - могу скинуть где-нибудь в другом месте.

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

О, это великодушно, но я обойдусь, пожалуй.

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

Шутки шутками, но HEVC - именно тот формат, который используется в UltraHD BluRay, и вообще для кодирования UltraHD-контента. И получается, что если Linux не дает возможности его воспроизведения - то он в принципе не подходит для UltraHD.

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

Ловко ты фактами жонглируешь, однако.

Хотя нет, шучу, не очень.


Сначала ты допустил, что 4k = hevc, что первая ложь. Потом ты допустил, что hevc = hevc 10 bit, что вторая ложь.


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

показать ответы
1
Автор поста оценил этот комментарий
Выкинь свой i7 на помойку. У меня 4к спокойно играется в браузере и без всякого аппаратного ускорения на FX-6300.

Покажите тех.данные. К примеру, файл в формате HEVC(H.265) с разрешением 3840х2160, профилем Main 10@L6.1@Main, битрейтом около 70Мбит/сек и 10-битным цветом прочтет без GPU? Очень сомневаюсь. Вы наверняка в H.264 смотрите, потому и нет проблем.

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

Блин, а ведь и правда, не запилили еще аппаратную поддержку моего любимого и самого распространенного видеоформата 4K HEVC 10bit (который 90% копмов независимо от ОС не в состоянии проиграть)

Придется на винду уйти...

показать ответы
1
Автор поста оценил этот комментарий
Автор, можешь запилить пост про docker?
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Не то чтобы я в нем хорошо разбираюсь, использую иногда, чтобы что-то скомпилить или сервачок поднять, например Jupyter Notebook.

Докер очень прост для использования, на самом деле.

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

А я вот совсем недавно сделал проброс карт на esxi использовал две карты amd rx 480 и gtx 1070.


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

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

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

Проприетарщина))


А по поводу звука, так это еще надо и звуковуху отдельную.

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

:DНу если надо, то не буду.

Все равно конфиг ничесе такой, все эстетично. Котлеты отдельно, мухи отдельно, а не как у многих(у меня например) каша.

А про 43 да, знатно подгорело. Сейчас вот с вяленым разбираюсь и опять nvidia отличились. Сделали поддержку wayland но не сделали нормальную поддержку egl, у них своя реализация eglstream называется. Все у людей через задницу.

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

Ну, у меня амд на хосте. Надоело быть блобоводом.

показать ответы
DELETED
Автор поста оценил этот комментарий
Комментарий удален. Причина: данный аккаунт был удалён
раскрыть ветку (1)
1
Автор поста оценил этот комментарий
UPD: или -soundhw hda

Хрипелка же. Пробовал.

А так, у меня hdmi, лучше работает, чем все виртуальные звуковухи.

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

яснопонятно, я то думал, где он такой конфиг кошерный накопал.  Он еще такой "Ой, да у меня все скромненько"

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

ну вот не надо тут.

от исходного скрипта помимо названия переменных, строки 4-5 осталось.

вид наглядный, я не стал его менять.

да и этот скрипт под UEFI надо бы переделать, да мне все лень.

показать ответы
1
Автор поста оценил этот комментарий
Зачастую линукс просто удобнее.

Конечно-конечно. Покупаешь, например, принтер. Подключаешь - а он не работает. Пару дней с ним мучаешься, читаешь форумы, и тебе говорят, что оказывается, он GDI, который линукс не поддерживает.

Ну или хочешь посмотреть видео в 4k с кодеком HEVC. Открываешь, а проц не тянет, несмотря на то, что он Core i7 с 8 потоками. При этом в силу хреновой поддержки аппаратного ускорения возможности видеоадаптера задействовать не получается.


Где оно, ваше удобство, когда тупо невозможно решить самые обычные повседневные задачи?

раскрыть ветку (1)
2
Автор поста оценил этот комментарий
Конечно-конечно. Покупаешь, например, принтер. Подключаешь - а он не работает. Пару дней с ним мучаешься, читаешь форумы, и тебе говорят, что оказывается, он GDI, который линукс не поддерживает.

Изначально купил принтер, не прибитый гвоздями к винде и не парюсь. Знаешь, сетевой принтер с поддержкой CUPS - это очень удобно, кстати.

Ну или хочешь посмотреть видео в 4k с кодеком HEVC. Открываешь, а проц не тянет, несмотря на то, что он Core i7 с 8 потоками. При этом в силу хреновой поддержки аппаратного ускорения возможности видеоадаптера задействовать не получается.

Выкинь свой i7 на помойку. У меня 4к спокойно играется в браузере и без всякого аппаратного ускорения на FX-6300. И аппаратное ускорение, кстати, тоже замечательно работает, в видеоплеерах. Смотри с сторону прямоты рук.

показать ответы
DELETED
Автор поста оценил этот комментарий
А что с микрофоном делать? У меня на виртуальной звуковухе дикие задержки, а проброшенные беспроводные наушники (по usb) в raidcall заикаются.
раскрыть ветку (1)
Автор поста оценил этот комментарий

Вообще звук - это больная тема.

В таком случае можно попробовать вместо юсб девайса пробросить весь юсб-контроллер через vfio, ну а если и это не поможет, надо с MSI в реестре возиться, здесь есть описание проблемы на ангельском:
http://vfio.блогспот.com/2014/09/vfio-interrupts-and-how-to-...

блогспот почему-то здесь запрещен.

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

конечно, но мне не принципиально, если esxi был бы быстрее по производительности, то поставил бы его


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

понял, спасибо

а есть где почитать про приоритеты для виртуалок?

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

Здесь хорошо написано (в конце)

https://bbs.archlinux.org/viewtopic.php?id=162768

Приоритеты - имеется ввиду niceness для процесса qemu.

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

@corvuscor, прости, что поднимаю старый пост

прочитал сначала твой "Как слить BIOS видеокарты", а потом сюда зашел из комментов


подскажи, если знаешь:

proxmox vs arch + kvm = где производительность будет больше? ну, понятно, что на одном debian + kvm vs arch + kvm, но, если верно понимаю, то на одном ресурсов на саму операционку тратится меньше (debian), чем во втором? или суть одна, просто в первом есть веб-морда, а во втором virt-manager?


думаю, что поставить для двух игровых виртуалок,

esxi 6.5 vs proxmox vs arch+kvm

kvm - вроде как меньше просадки по производительности

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

проприетарщина.

proxmox vs arch + kvm

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

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

А как ты подключаешься к виртуалке по-твоему?

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

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

Но мне интересно послушать твою версию.

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

спасибо!А случайно не знаешь почему тв не принимает сигнал от ноута?Просто в виртуалке хотел под разными версиями дров подключиться к тв

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

не знаю.

Автор поста оценил этот комментарий
А как же input/output lag? Ведь для того, чтобы рисовать изображение с виртуалки, используются механизмы удаленного доступа. Имхо, играть будет не очень приятно, особенно в игры, требующие быстрой реакции.
раскрыть ветку (1)
Автор поста оценил этот комментарий

Как бы - нет.

Где ты вообще увидел удаленный доступ?

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

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


Короче, занятие для энтузиастов.

раскрыть ветку (1)
Автор поста оценил этот комментарий
У процев АМД с этим полегче, но мамки у обоих производителей требуются недешевые.

Ну, недешевые - это значит не самые дешевые. Я брал мать в 2013 году где-то за 3500.

5
DELETED
Автор поста оценил этот комментарий
Комментарий удален. Причина: данный аккаунт был удалён
раскрыть ветку (1)
Автор поста оценил этот комментарий

Да, есть такое. Я уже и забыл, кто мне подсказал.

Автор поста оценил этот комментарий
А на какую глубину кАпать? Просто у меня капли только на небольшую глубину есть.

З.ы. пост годный :)
раскрыть ветку (1)
Автор поста оценил этот комментарий

Блин, я только пост запостил, пробежал глазами, увидел ошибку, а ты уже коммент успел настрочить, пока я исправлял. Самая быстрая рука на диком западе))

показать ответы