2014-07-09 20:41:04 +0000 2014-07-09 20:41:04 +0000
30
30

Используете графический процессор NVidia от VirtualBox?

Как мне заставить гостя VirtualBox использовать графику NVidia?

Настройка хоста:

  • Windows 7 x64

  • NVidia Optimus

  • В NVIDIA Control Panel я явно выбрал High-pformance NVIDIA processor for:

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

Гость:

  • Windows 7 x64 (т.е. то же самое, что и хост)

  • Guest Additions установил

  • 3D-ускорение включено в настройках VirtualBox: Дисплей / Видео / Включение 3D-ускорения

  • Что Носорог , приложение, поддерживающее OpenGL, сообщает в виде видео-адаптера:

Ответы (2)

22
22
22
2019-01-18 20:23:51 +0000

Я понимаю, что прошло несколько лет, но я хотел бы ответить, так как этот пост показывает довольно высокий уровень, когда вы идете в Google для “virtualbox 3d multiple GPU”. За это время все стало намного проще и лучше.

Люди, которые наткнутся на эту тему, скорее всего, приземлятся здесь, потому что у них есть ноутбук или ПК с двумя GPU, что довольно распространено в наши дни - особенно на игровых ноутбуках. Встроенный Intel GPU используется для рендеринга окон и общих приложений, но приложения, использующие функциональность GPU 3D, должны делать это с помощью более высокопроизводительного Nvidia GPU.

Сегодня я собирал ВМ Ubuntu на своем ноутбуке для выполнения кроссплатформенной разработки, и все было в порядке, за исключением гостевой ВМ, которая была очень медленной, и этому не было объяснения, потому что CPU, память, диск демонстрировали низкую степень использования.

Не потребовалось много времени, чтобы понять, что именно производительность видео была причиной проблемы. Запуск приложений, максимизация/минимизация окон - все, что мы воспринимали как должное в 2019 году, но нуждались в 3D-ускорении для работы на любой разумной скорости - происходило с помощью GPU 0.

Это было легко определить, потому что Windows 10 теперь имеет возможность видеть использование GPU с помощью “менеджера задач”, а затем вкладки “производительность”. И я мог видеть, как я перемещаю окна, максимизирую, минимизирую, что делается с помощью GPU на хосте. Этот GPU на хосте является интегрированным Intel HD GPU, и я хотел использовать NVidia GTX-1050ti, который был GPU1.

После поиска я не нашел нигде, где можно было бы указать, какой GPU использовать. Но этот поток, а также некоторые другие, напомнили мне о том, что в таких настройках нужно заходить в панель управления NVidia, затем “управлять 3d настройками”, затем в закладку “Настройки программы”.

Вряд ли вы найдете в списке “Virtualbox”. Но вы можете нажать кнопку “Добавить” и добавить virtualbox.exe. Возможно, вам придется сверлить диск/путь, по которому установлена ваша установка виртуального ящика. После добавления, в настройках ниже убедитесь, что пункт 2. “Выберите предпочтительный графический процессор для этой программы” установлен на графическом процессоре, который вы хотите, чтобы он использовал, который в моем случае был “HIgh-производительный процессор NVIDIA”.

Не устанавливайте его в автоматический режим, и уж точно не устанавливайте его в интегрированный. Конечно, вам нужно, чтобы настройки VM были установлены с отметкой в окне 3D ускорения, и вам нужны гостевые дополнения, установленные на хосте. Но как только вы установили 3d настройки хоста, как описано выше, выключите гостевую ВМ, выйдите из виртуального ящика, а затем перезапустите виртуальный ящик и ВМ.

Если вы используете задачу manager|performacne и смотрите на процесс “virtualbox manager”, а также смотрите, какой GPU используется при навигации по пользовательскому интерфейсу гостевой ВМ, вы должны увидеть его с помощью лучшего GPU сейчас. Смотрите изображение, вставленное ниже.

Не ожидайте, что сможете запускать игры в гостевой ВМ. Проход 3D ускорения еще не настолько долгий. Но вы можете рассчитывать на то, что у вас в гостевой ВМ будет современная операционная система и пользовательский интерфейс, и вы получите приемлемый опыт. В гостевой ВМ можно было бы играть в более старые игры, как и в любые другие, основанные на DirectX9. К сожалению, с появлением возможности виртуализации GPU eveolves, 3d игровые технологии развиваются быстрее.

17
17
17
2015-12-31 17:15:00 +0000

Предоставление гостевому пользователю полного доступа к GPU, вероятно, невозможно. Если бы виртуальная машина имела прямой доступ к вашему GPU в то время, когда ваш хост использует его, Bad ThingsTM случился бы потому, что совместное использование памяти между двумя разными компьютерами, по сути, не является чем-то особенным; указатели и адреса и все остальное было бы очень разным между ними. (Ни одна потребительская карта не поддерживает обслуживание двух компьютеров одновременно.)

Есть, однако, некоторые вещи, которые вы можете попробовать. Во-первых, установите предпочтительный графический процессор на хороший в панели управления NVidia (3D SettingsManage 3D settingsPreferred graphics processor). Это может заставить VirtualBox перейти на карту NVidia для OpenGL.

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

Наконец, on Linux hosts, вы можете попробовать передать GPU на виртуальную машину, но это сработает только для PCI карт, и я не смог найти, является ли ваш PCI, и даже в этом случае у вас есть хорошие шансы вырвать GPU из хоста или вызвать другие проблемы. Сначала найдите PCI адрес (шина, устройство и функция) для хорошей карты. Установите чипсет вашей ВМ на ICH9; это ничего не сломало, когда я попробовал. Затем используйте утилиту VBoxManage для подключения карты:

vboxmanage modifyvm "Your VM Name" --pciattach BB:DD.F@bb:dd.f

Замените Your VM Name соответственно. BB это номер шины вашего GPU на хосте; DD это устройство; F это функция. После @ введите PCI-слот, который будет на госте. Например:

vboxmanage modifyvm "Windows 7 x64" --pciattach 01:00.0@03.01.0

В общем, прохождение GPU более вероятно на хосте Linux. См. раздел Как настроить игровую машину с помощью GPU passthrough .

Похожие вопросы

3
28
13
7
10