Есть идеи, можно ли запустить Windows VM через IronHide для ускорения видеокарты? Я бы хотел поиграть в игры / посмотреть блюрей и т.д., используя мою видеокарту.
virtualbox
nvidia-optimus
bumblebee
mwjackson
источник
источник
Ответы:
Возможно, здесь поможет объяснение между графикой в виртуальном госте и фактическим хостом O / S.
Сначала основы:
Все в виртуальном госте является абстракцией - это означает, что каждое устройство и драйвер в виртуальном гостевом O / S не зависят от реального хост-устройства и драйвера.
Чтобы дать вам простой пример. Мышь рассматривается как конкретное устройство - ядро Linux видит это устройство и позволяет гостевой операционной системе использовать это устройство. Это «виртуальное устройство» отображается на реальном физическом устройстве с помощью инструмента виртуализации - VirtualBox, VMWare, Xen и т. Д. Таким образом, гостевой операционной системе никогда не нужно понимать, что такое физическая мышь, она видит только то, что инструмент виртуализации сопоставил с ней. , Ценность этого подхода заключается в том, что вы можете перемещать виртуального гостя на разные хосты - он будет работать одинаково, поскольку нет прямой зависимости от самого хоста.
Чтобы продемонстрировать это на практике, вы можете работать
lsusb
как на хосте, так и на госте - на моем хосте O / SI есть следующие USB-устройства:На моем гостевом компьютере oneiric O / SI видны следующие USB-устройства - они отличаются от хоста:
Любая гостевая операционная система Windows или Linux увидит только это виртуальное гостевое устройство.
Графика хоста против гостевой графики
То же самое для графики.
Моя главная графика:
На моей гостевой oneiric O / S он может видеть следующую видеокарту - вы можете видеть, что она не совпадает с хостом:
Аналогично - 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:
Это звучит довольно интересно, но я уже могу предвидеть некоторые проблемы. Например, в ноутбуках 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. Кажется, они не функционируют как два отдельных устройства независимо.
источник