Существует ли виртуальная машина с прямым доступом к процессору и графическому процессору для игр?

10

Извините за длинный вопрос.

С выходом Steam для Linux я, возможно, был слишком оптимистичен и избавился от установки Windows. Проблема в том, что у меня есть около 100 игр Steam, которые не (и не могут быть) портированы на Linux. В любом случае, я устал от двойной загрузки, и решения Wine (wineprefix и playonlinux) не всегда работают. Поэтому мне было интересно, есть ли какое-либо решение использовать виртуальную машину (или что-то подобное) с прямым доступом к спецификации оборудования для запуска в ней Windows-игр. (что-то вроде того, что Parallels делает на Mac). Переустановка windows не является большой проблемой, но я надеялся избежать этого, поскольку хотел бы использовать Ubuntu в качестве своей повседневной ОС вместе с более «сложными» дистрибутивами… чтобы узнать больше о Linux.

Изменить: Спасибо за все ваши ответы: я подумаю о решении, которое вы предложили. Честно говоря, по сей день я никогда не слышал о Ксен, поэтому мне придется прочитать об этом ... и, возможно, купить новую графическую карту ... и новый монитор. Я думаю, что в конечном итоге переустановить Windows на одном из моих дисков ... Жаль, хотя. Спасибо еще раз.

psylockeer
источник
2
Посмотрите этот вопрос о тяжелых ограничениях для возможности доступа к графическому процессору из Virtual Box.
Таккат
@ Takkat Вы когда-нибудь имели возможность попробовать сквозной канал PCI? Это сработало хорошо?
Чад Харрисон
@hydroparadise: нет, мое оборудование не поддерживает IOMMU. Я думаю, что это не очень легко достичь, и вам нужно 2 графические карты.
Таккат

Ответы:

11

Краткий ответ: Нет.
Более длинный ответ: Еще нет ...

Поддержка 3D VBox едва ли имеет значение. Он обеспечивает поддержку 3D, но абсолютно никакой производительности. VMWare, кажется, работает намного лучше (обратите внимание, что тест на Mac), и это может быть играбельно. Недостатком является большая куча денег (я не уверен, что такое поддержка 3D в их бесплатных предложениях).

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

Единственные другие почти приемлемые решения:

  • Fight Wine (когда оно работает, оно работает очень хорошо)
  • Купить консоль.
  • Лобби разработчик для порта.

Существуют всевозможные серверные технологии, которые могут фильтроваться во времени :

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

  • Вы можете изменить его и получить виртуальную машину с Windows Server и настроить рабочий стол Ubuntu с общим 3D, но опять же, я не уверен, какова будет производительность. И это тонна денег, чтобы сделать на законных основаниях. Настольный компьютер не так хорош.

  • Xen не будет отказываться от установки Windows, так что нет смысла смотреть туда еще. В нем есть сквозные модули PCI и VGA, но они привязаны к одной виртуальной машине, поэтому вам потребуется видеокарта для каждой установки. Urgh.


Обратите внимание, что я на самом деле говорю только о 3D-графике, потому что остальные - это почти или почти решенные проблемы. Виртуализация ЦП является зрелой благодаря паравиртуализации и расширениям ЦП, таким как Intel VT-x и AMD-V. Периферийное транзитное соединение имеет довольно низкую пропускную способность, поэтому им легко поделиться.

Графика отстает, потому что делиться ими так, как мы говорим, не является коммерческой необходимостью для производителей. Похоже, что все идет именно так (для ферм высокого уровня рендеринга и консолидации рабочих станций на сервере), так что следите за этим пространством.

Оли
источник
Что касается вина, PlayOnLinux определенно стоит посмотреть ... playonlinux.com/ru
Чад Харрисон
@ Оли, ваш ответ был очень полным, спасибо. Во всяком случае, я увидел, что можно смонтировать существующую установку Windows в виртуальную машину (после правильной работы). В таком случае аппаратное ускорение будет таким же, как виртуализация по Пэйлину?
psylockeer
@psylockeer Вы имеете в виду монтирование физического диска (с реальной установкой Windows на нем) внутри виртуальной машины? Это можно сделать во всех основных программах для виртуализации, но вы можете обнаружить, что Windows вылетает. В прошлый раз, когда я пытался сменить аппаратное обеспечение в установке Windows, оно вылетело и никогда не выходило за рамки синего экрана. Надеюсь, что MS улучшили положение с тех пор. Доступ по-прежнему не является прямым (AFAIK), поскольку клиент виртуальной машины все еще обращается к диску через Linux - он просто не находится в другой файловой системе (если это имеет смысл), поэтому не ожидайте значительного повышения производительности.
Оли
7

Если и ваше оборудование, и ваше программное обеспечение поддерживают IOMMU (иначе говоря, PCI-passt, AMD-Vi и Intel VT-d), вы можете назначить устройства ввода-вывода (например, графическую карту) виртуальным машинам.

В текущих версиях Ubuntu вы можете использовать Xen , если ваша материнская плата и ваш процессор поддерживают IOMMU.

В настоящее время я использую виртуальную машину Windows 7 с двумя графическими процессорами AMD 7950, и она очень хорошо работает для игр и майнинга Bitcoin / Litecoin.

Учебные пособия и т.д .:

Обратите внимание, что вы можете использовать графический процессор на этой виртуальной машине, если вы проходите через нее.

Деннис
источник
Я считаю, что он не сможет разделить один графический процессор между виртуальными машинами. Однако, если у него есть две видеокарты (особенно если у него несколько мониторов или монитор с двумя подходящими входами), или он в порядке с доступом к графическому интерфейсу GNU / Linux исключительно через VNC, SPICE или тому подобное, пропускание графического процессора в Xen, похоже, является способом идти.
drdaeman
@drdaeman: правда. При прохождении через GPU к нему можно получить доступ только с этой виртуальной машины.
Денис
спасибо, ребята, к сожалению, на данный момент это решение мне не известно ... и мои карманы :-)
psylockeer
3

Ваша Windows VM в основном работает на эмулируемом оборудовании. Это оборудование обычно относительно просто.

Было сказано, что:

  1. Можно эмулировать 3D-функции. Производительность обычно ниже номинала, а иногда не работает должным образом. (Например, запуск Baldur's Gate 1 с включенным 3D-ускорением на рабочей станции Vmware 8 приводит к сбою всего моего хоста. Не только виртуальной машины). Это улучшится со временем для всех виртуальных машин.
    Фактически, рабочая станция vmware 9 требует значительных улучшений, но я еще не тестировал эту версию. Я знаю 5,5 и 8 не хватило.
  2. Вместо эмуляции вы можете получить прямой доступ к оборудованию с виртуальной машины. Ключевое слово - PCI [e] passthough. Эта функция обычно используется для передачи через специальные карты, сетевые карты 10 Гбит и т. Д., Но она также должна работать для видеокарт. Обратите внимание, что карта будет использоваться только для виртуальной машины. С видеокартами это означает использование второй видеокарты для ВМ.
Hennes
источник
поэтому мне бы тоже понадобилось 2 монитора? ... в любом случае я проверил и не думаю, что мой процессор (первый Gen i5 750) поддерживает vt-d.
psylockeer
Это 2 монитора вещь хорошая. Я никогда не рассматривал это, так как я смешал PCI с сетевыми картами, RAID-картами и тому подобным. --- Обратите внимание, что большинство мониторов имеют более одного входного сигнала. Например, DVI, DP, композитный, S-Video и компонентный ... Не то чтобы переключение входа мониторов между двумя источниками - это отличное решение.
Хеннес
0

Вы пробовали Virtual Box ? При чтении списка функций , похоже , что у него есть то , что вам нужно ... доступ к GPU и CPU.

JackLock
источник
Virtualbox действительно позволяет устанавливать Windows, но, насколько я знаю, 3D-игры в нем не так просты.
psylockeer
Честно говоря, я никогда не пробовал это. Я всегда предпочитал двойную загрузку с Windows, чтобы играть в игры. И похоже, что некоторые игры будут работать, а некоторые - не так, в основном это зависит от того, какие игры вы хотите запустить
JackLock
0

Попробуйте Gaming Anywhere . Это не совсем виртуальная машина, скорее игровое решение с открытым исходным кодом, но вы все равно можете транслировать весь рабочий стол или игры.

Люк
источник
0

Когда вы говорите «прямой доступ к оборудованию», вы больше не говорите о виртуальных машинах, вы говорите о реальных машинах. Для прямого доступа к играм Windows вам понадобятся Windows.

Джейсон
источник