vitus_wagner: My photo 2005 (Default)
vitus_wagner ([personal profile] vitus_wagner) wrote2015-09-23 02:14 pm

VGA passthrough

Вот интересно, а кто-нибудь из моих читателей уже игрался с VGA passthrough в KVM или XEN?

Собственно задача понятно какая - запустить в виртуальной машине винду, чтобы работали 3d-игры, но при этом чтобы все сетевые соединения этой винды жестко контролировались в более другой ОС, и кроме того существовала всегда возможность откатить эту винду на снапшот опять же внешними по отношению к ней средствами.

Интересно, как в такой конфигурации делать переключение между ОС без выключения guest-системы, куда пробрасывается видеокарта, и возможно ли оно?

В принципе, конечно не обязательно - ставится на винду Xming и все линуксовые программы можно прекрасно отображать на этой видеокарте.

А ребут только гостя можно, наверное, через какой-нибудь magic sysrq сделать.

[identity profile] true-poser.livejournal.com 2015-09-24 09:04 am (UTC)(link)
Бают, шикарно работает с небольшим воркэраундом - appdb.winehq.org/objectManager.php?sClass=version&iId=32314
Но, как обычно, не у всех, и не на всех версиях wine (1.7.50 предпоследняя, говорят, всё поломала).
Шаманить надо.

К счастью, с популярными ММО это относительно просто (хотя уже почти десять лет прошло, а до сих пор не забуду, как у меня в EVE Online на самосборных дровах для i965 вместо взрывов куски текста разлетались).
95% вероятности, что шаманить с wine будет быстрее и проще, чем прокидывать видеокарту и адаптировать скрипты - чисто из-за большего количества (порядка на три) уже заданных и отвеченных вопросов.

[identity profile] true-poser.livejournal.com 2015-09-24 09:50 am (UTC)(link)
debootstrap --variant=minbase плюс apt-get install wine, вроде бы.

[identity profile] true-poser.livejournal.com 2015-09-24 09:00 pm (UTC)(link)
Тут всё сугубо по желанию.
Можно поднять иксы в chroot'е, можно прокинуть, причём через что угодно.
Очень давно это не трогал, но, насколько я помню, игрушке плевать, куда посылается поток, это дело системы, а лага на localhost соединениях добиться сложновато.

Я лично вообще держу на своём хромбуке через приблуду crouton контейнеры с xfce (один на SD-карте, другой - на USB3 шпеньке, для разного).
Полёт с игрушками в принципе (местами звук, местами i/o) нормальный, я доволен.

[identity profile] mc6312.livejournal.com 2015-09-24 09:09 am (UTC)(link)
"wine без chroot", вообще-то, может невозбранно гадить везде, где позволено гадить юзеру, запустившему wine. Т.е. $HOME засрать например, с помощью пойманного в интернетах трояна-шифровальщика.

[identity profile] psn84.livejournal.com 2015-09-24 11:58 am (UTC)(link)
А если оставить в конфиге wine один виртуальный диск C? Оно же вроде за его пределы не должно вылезти.

[identity profile] mc6312.livejournal.com 2015-09-24 12:33 pm (UTC)(link)
Ага, щаз. Замечательно куда скажут, по путям с префиксом \\?unix\..., лишь бы туда соотв. юзера пускало. Сейчас вот смотрю на FAR, показывающий корневой каталог линуксовой ФС.

[identity profile] psn84.livejournal.com 2015-09-24 12:55 pm (UTC)(link)
Вот блин. Не знал про эту дыру. Что ж они творят то, нехристи?

[identity profile] mc6312.livejournal.com 2015-09-24 01:26 pm (UTC)(link)
Обычный костыль, чтоб какой-нибудь шибко нужной вантузной софтине можно было скормить файло за пределами $HOME/.wine/

[identity profile] psn84.livejournal.com 2015-09-24 01:30 pm (UTC)(link)
Но на такой случай диск Z, если не путаю, по дефолту забинжен на корень. Зачем 2 костыля?

[identity profile] mc6312.livejournal.com 2015-09-24 01:57 pm (UTC)(link)
А кто ж их знает, я не ихний разработчик. А так, вообще - пути вида \\?что-то\путь - и в самой винде водятся, UNC (https://en.wikipedia.org/wiki/Path_%28computing%29#Uniform_Naming_Convention) прозванные.

[identity profile] psn84.livejournal.com 2015-09-24 11:55 am (UTC)(link)
PlayOnLinux не пробовали? Там заботливо приготовлены костыли для каждой из поддерживаемых софтин.