IronHide / BumbleBee с VirtualBox VM. Это пройдет через видеоускорение на физическую плату?

Какие-либо идеи, можно ли запустить Windows VM через IronHide для ускорения видеокарты? Я хотел бы играть в игры / наблюдают bluray, и т.д. использующий мою видеокарту.

8
задан 25 November 2011 в 06:50

3 ответа

Возможно, объяснение между графикой в виртуальном госте и фактическим хостом O/S помогло бы здесь.

Сначала основы:

Все в виртуальном госте - абстракция - что это означает, то, что каждое устройство и драйвер в виртуальном госте O/S не зависят от фактического устройства хоста и драйвера.

Дать Вам простой пример. Мышь рассматривается как определенное устройство - ядро Linux видит это устройство и позволяет гостевой операционной системе использовать то устройство. Это "виртуальное устройство" отображается на реальном физическом устройстве инструментом виртуализации - VirtualBox, VMware, Xen и т.д. Таким образом гостевая операционная система никогда не должна понимать, какова физическая мышь, она только видит то, что инструмент виртуализации отобразил на нее. Значение этого подхода - то, что можно переместить виртуального гостя в различные Хосты - он будет работать таким же образом, потому что нет никакой прямой зависимости от самого Хоста.

Для показа этого на практике, можно работать lsusb и на хосте и на госте - на моем хосте O/S у меня есть следующие USB-устройства:

Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0402:9665 ALi Corp. 
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

На моем госте сновещательный O/S I видит следующие USB-устройства - они отличаются от хоста:

Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 80ee:0021 VirtualBox USB Tablet

Любой гость O/S или окна или Linux будет только видеть это виртуальное гостевое устройство.

Разместите графику по сравнению с гостевой графикой

Это - то же для графики.

Моя графика хоста:

 sudo lshw -class display
  *-display               
       description: VGA compatible controller
       product: Core Processor Integrated Graphics Controller
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 18
       width: 64 bits
       clock: 33MHz
       capabilities: msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:41 memory:90000000-903fffff memory:80000000-8fffffff ioport:3050(size=8)

На моем госте сновещательный O/S это видит следующую видеокарту - Вы видите, что это не то же как хост:

sudo lshw -class display
  *-display UNCLAIMED     
       description: VGA compatible controller
       product: VirtualBox Graphics Adapter
       vendor: InnoTek Systemberatung GmbH
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 00
       width: 32 bits
       clock: 33MHz
       capabilities: vga_controller bus_master
       configuration: latency=64
       resources: memory:e0000000-e7ffffff

Аналогично - Windows Guest O/S будет видеть только подобное виртуальное гостевое устройство.

В темном мире VirtualBox Гостевые Дополнения, которые можно вручную установить (или в 11,10 - жокей видит и рекомендует, Вы устанавливаете его), устанавливает дополнительные модули ядра (или драйверы устройств для Windows Guests), чтобы позволить гостю, O/S улучшил доступ к Вашему хосту графика O/S. Снова не прямое отображение - но позволяет 3D ускоренной графике быть замеченной.

Если приложение в Вашей виртуальной машине использует 3D функции через интерфейс программирования OpenGL (или для гостя Windows O/S - его вызовы DirectX), вместо того, чтобы эмулировать их в программном обеспечении (который был бы медленным), то VirtualBox попытается использовать 3D аппаратные средства Вашего хоста.

Снова я подчеркиваю, гость, O/S не видят Вашу фактическую видеокарту, которую это просто передает OpenGL (или DirectX) вызов от Гостя непосредственно к аппаратным средствам Хоста для обработки.

enter image description here

В настройках VirtualBox необходимо изменить память видеокарты и 3D установку видеокарты. Ваш гость O/S будет затем видеть "3D Ускоренную карту" с 128 МБ RAM. Не имеет значения, если Ваша видеокарта хоста будет лучше, чем это - Ваш гость, то O/S будет только видеть эту "простую" абстрактную виртуальную видеокарту.

Так как Вы упомянули использование Windows Guest O/S - 2D флажок применим к Вам, так как подобная передача вызовов интерфейса программирования выполняется.

Bumblebee/IronHide является альтернативной графикой переключающийся механизм - Вы используете или интегрированную графику или более высокую мощность графика NVidia/ATI, но не оба одновременно.

Начиная с OpenGL (или DirectX) возможность более высокой переключаемой графики состоит в том, что более больше, чем набор интегральных микросхем, Вы будете видеть относительно улучшенную производительность при обработке графики с Гостем графика O/S интенсивные приложения. Однако это улучшение не является столь же впечатляющим как запуск того же приложения исходно на хосте, так как это все еще работает в рамках ограничений 128 МБ виртуальное гостевое устройство графики.

источник

9
ответ дан 23 November 2019 в 05:30

Ответ выше https://askubuntu.com/a/85138/38052 объясняет, как все, что видит гость O/S, является некоторой абстракцией. В то время как это раньше было абсолютно верно, я полагаю, что вещи изменяются, и это не может больше быть абсолютно верно.

Некоторые более новые процессоры также поддерживают ввод-вывод виртуализация MMU. Технологии называют Intel VT-d для версии Intel и AMD-Vi для версии AMD. Заключить статью Википедии в кавычки о x86 виртуализации:

Ввод-вывод Intel виртуализация MMU (AMD-Vi и VT-d) статья Main: IOMMU

Блок управления памятью ввода/вывода (IOMMU) позволяет гостевым виртуальным машинам непосредственно использовать периферийные устройства, такие как Ethernet, ускоренные видеокарты и контроллеры жесткого диска, посредством переотображения прерывания и DMA. Это иногда называют передачей PCI. И AMD и Intel выпустили спецификации:

AMD's I/O Virtualization Technology, "AMD-Vi", originally called "IOMMU".
Intel's "Virtualization Technology for Directed I/O" (VT-d).

Это звучит довольно интересным, но я уже могу предвидеть некоторые проблемы. Для одного, в ноутбуках Optimus, Intel IGP всегда представляет финал на экране вывод. Неясно мне, как Гость O/S и Хост O/S оба собирается управлять IGP. Одна мысль - то, что, если возможно выполнить Хост без какой-либо графики, в то время как гости работают, это могло быть сделано работать, но неясно мне, как можно было бы на самом деле пойти о выполнении этого.

5
ответ дан 23 November 2019 в 05:30

Хорошо, мне было любопытно, таким образом, я попробовал это.

QEMU и теперь VirtualBox, поддерживают передачу устройств PCI к гостевой машине. Это означает, есть ли у Вас 2-я видеокарта, можно передать ее гостю окон на Linux, размещают и получают полную 3D производительность (игры) в виртуализированной среде окон. Это имеет место для настольной буровой установки с двумя видеокартами. Диспетчер устройств показал бы "NVIDIA GTX... безотносительно" вместо того, чтобы говорить "Графический адаптер Virualbox".

Optimus всегда более сложен. Я тестирую это на ASUS UX501. Я смог передать микросхему Nvidia до гостя окон, и она показывает в диспетчере устройств как "3D Видеоконтроллер". Но я не мог установить любые драйверы окон для поддержки его. Кажется, что присутствие графики Intel является prereq.

sarang был правильным быть подозрительным. Похоже, что микросхема Nvidia не является "адаптером дисплея", как управлял бы монитором, но просто акселератором для интегрированного процессора Intel. Они не кажутся функцией как двумя отдельными устройствами независимо.

1
ответ дан 23 November 2019 в 05:30

Другие вопросы по тегам:

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