Есть идеи, можно ли запустить Windows VM через IronHide для ускорения видеокарты? Я бы хотел поиграть в игры / посмотреть блюрей и т.д., используя мою видеокарту.
Есть идеи, можно ли запустить Windows VM через IronHide для ускорения видеокарты? Я бы хотел поиграть в игры / посмотреть блюрей и т.д., используя мою видеокарту.
Ответы:
Возможно, здесь поможет объяснение между графикой в виртуальном госте и фактическим хостом O / S.
Все в виртуальном госте является абстракцией - это означает, что каждое устройство и драйвер в виртуальном гостевом O / S не зависят от реального хост-устройства и драйвера.
Чтобы дать вам простой пример. Мышь рассматривается как конкретное устройство - ядро Linux видит это устройство и позволяет гостевой операционной системе использовать это устройство. Это «виртуальное устройство» отображается на реальном физическом устройстве с помощью инструмента виртуализации - VirtualBox, VMWare, Xen и т. Д. Таким образом, гостевой операционной системе никогда не нужно понимать, что такое физическая мышь, она видит только то, что инструмент виртуализации сопоставил с ней. , Ценность этого подхода заключается в том, что вы можете перемещать виртуального гостя на разные хосты - он будет работать одинаково, поскольку нет прямой зависимости от самого хоста.
Чтобы продемонстрировать это на практике, вы можете работать lsusb
как на хосте, так и на госте - на моем хосте O / SI есть следующие 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
На моем гостевом компьютере oneiric O / SI видны следующие USB-устройства - они отличаются от хоста:
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 80ee:0021 VirtualBox USB Tablet
Любая гостевая операционная система Windows или 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)
На моей гостевой oneiric 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), чтобы предоставить гостевой операционной системе расширенный доступ к ваш хост O / S графика. Опять же, это не прямое отображение, но позволяет увидеть 3D ускоренную графику.
Если приложение на вашей виртуальной машине использует 3D-функции через программный интерфейс OpenGL (или для гостевой операционной системы Windows - ее вызовы DirectX), вместо эмуляции их в программном обеспечении (что будет медленным), VirtualBox попытается использовать хост вашего компьютера. 3D оборудование.
Еще раз подчеркиваю, гостевая O / S не видит вашу настоящую видеокарту, она просто передает вызов OpenGL (или DirectX) от гостя непосредственно на аппаратное обеспечение хоста для обработки.
В настройках VirtualBox вы должны изменить настройки памяти видеокарты и 3D-видеокарты. Ваш гостевой O / S увидит «3D-карту ускорения» с 128 МБ ОЗУ. Не имеет значения, если ваша графическая карта хоста лучше, чем эта - ваша гостевая операционная система увидит только эту «простую» абстрактную виртуальную видеокарту.
Поскольку вы упомянули, что используете гостевую операционную систему Windows - флажок 2D применим к вам, так как выполняется аналогичная передача вызовов интерфейса программирования.
Bumblebee / IronHide - это или / или механизм переключения графики - вы используете либо встроенную графику, либо графику NVidia / ATI с большей емкостью, но не обе одновременно.
Поскольку возможности OpenGL (или DirectX) более переключаемой графики намного больше, чем у интегрированного набора микросхем, вы увидите относительно более высокую производительность графики в приложениях с интенсивной графикой Guest O / S. Однако это улучшение не так драматично, как исходное выполнение одного и того же приложения на хосте, поскольку оно все еще работает в рамках ограничений виртуального гостевого графического устройства 128 МБ.
Ответ выше https://askubuntu.com/a/85138/38052 объясняет, что все, что видит гостевая O / S, является своего рода абстракцией. Хотя раньше это было полностью верно, я верю, что все меняется, и это может быть не совсем верно.
Некоторые новые процессоры также поддерживают виртуализацию ввода-вывода MMU. Технологии называются Intel VT-d для версии Intel и AMD-Vi для версии AMD. Чтобы процитировать статью из Википедии о виртуализации x86:
Виртуализация MMU ввода-вывода Intel (AMD-Vi и VT-d) Основная статья: IOMMU
Блок управления памятью ввода / вывода (IOMMU) позволяет гостевым виртуальным машинам напрямую использовать периферийные устройства, такие как Ethernet, ускоренные графические карты и контроллеры жестких дисков, через DMA и преобразование прерываний. Это иногда называют PCI passthrough. И 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 всегда отображает окончательный вывод на экран. Мне неясно, как Guest O / S и Host O / S будут управлять IGP. Одна мысль состоит в том, что если возможно запустить Хост без какой-либо графики во время работы гостей, это можно заставить работать, но мне неясно, как на самом деле поступить так.
ОК, мне было любопытно, поэтому я попробовал это.
QEMU, а теперь и VirtualBox, поддерживают передачу устройств PCI на гостевую машину. Это означает, что если у вас есть вторая видеокарта, вы можете передать ее гостю Windows на хосте Linux и получить полную производительность 3D (игр) в виртуализированной среде Windows. Это касается настольной установки с двумя видеокартами. Диспетчер устройств будет показывать «NVIDIA GTX ... что угодно» вместо того, чтобы говорить «графический адаптер Virualbox».
Оптимус всегда сложнее. Я тестирую это на ASUS UX501. Я смог передать чип NVidia гостю Windows, и он отображается в диспетчере устройств как «3D Video Controller». Но я не смог установить драйверы Windows для его поддержки. Кажется, наличие графики Intel является обязательным условием.
Саранг был прав, чтобы быть подозрительным. Похоже, чип nvidia - это не «адаптер дисплея», как на мониторе, а просто ускоритель для встроенного чипа Intel. Кажется, они не функционируют как два отдельных устройства независимо.