Как использовать NVIDIA GeForce M310 в Ubuntu 12.10 в качестве гостя в VirtualBox?
Последние пару недель играл с Ubuntu 12.10. Он работает в качестве гостя на Virtualbox, размещенном в Windows 7. С Unity 3D были некоторые проблемы. В частности, из-за того, что совсем недавно X11 не поддерживал релиз 1.13. С сегодняшнего дня мы можем скачать Virtualbox версии 4.2.2, которая через гостевые дополнения также поддерживает X11 релиз 1.13. Так что все отлично работают.
Поскольку Unity теперь работает только в режиме 3D, было бы неплохо получить доступ к видеокарте прямо из Virtualbox. lshw -c display
показывает: VGA compatible controller; product: VirtualBox Graphics Adapter
,
ВОПРОС: как получить 3D и другую графику, напрямую поддерживаемую аппаратным обеспечением, то есть Nvidia GeForce M310
2 ответа
PCI сквозной
Прошивка PCI экспериментально поддерживается в последних версиях Virtual Box с закрытым исходным кодом (PUEL). Однако есть несколько ограничений, то есть для видеокарты, которую мы можем прочитать из руководства пользователя Virtual Box:
AGP и некоторые карты PCI Express на данный момент не поддерживаются, если они используют GART
Я не могу сказать, так ли это с Nvidia M310, вам придется сначала это выяснить, прежде чем пытаться.
Чтобы заставить работать PCI, нам также нужна материнская плата с включенным IOMMU из настроек BIOS (то есть VT-d для Intel, AMD-Vi для AMD).
Есть несколько дополнительных предварительных условий (подробности см. В Руководстве по Virtual Box):
- Ваша материнская плата имеет блок IOMMU.
- Ваш процессор поддерживает IOMMU.
- IOMMU включен в BIOS.
- Виртуальная машина должна работать с VT-x/AMD-V и включенным вложенным пейджингом.
- Ваше ядро Linux было скомпилировано с поддержкой IOMMU, переназначением DMA и драйвером заглушки PCI.
- Ваше ядро Linux распознает и использует модуль IOMMU.
Затем мы можем подключить устройство PCI с его bus:device.function
свойства читаются из lspci
к нашей виртуальной машине, используя:
VBoxManage modifyvm "VM name" --pciattach <host-bus>:<host-device>.<host-function>@<guest-bus>:<guest-device>.<guest-function>.
Смотри в гостях с lspci
если устройство было правильно подключено перед установкой драйверов для этого устройства.
Пожалуйста, также обратитесь к Руководству по Virtual Box для дополнительных ограничений.
С 2016 года он полностью реализован, но для гостей Linux - экспериментальный.
Сквозной модуль PCI поставляется в виде пакета расширения VirtualBox, который необходимо установить отдельно. См. Раздел 1.5, "Установка VirtualBox и пакетов расширений" для получения дополнительной информации.
По сути, эта функция позволяет напрямую использовать физические устройства PCI на хосте гостем, даже если на хосте нет драйверов для этого конкретного устройства. Поддерживаются как обычные карты PCI, так и некоторые карты PCI Express. AGP и некоторые карты PCI Express в настоящее время не поддерживаются, если они используют модульное программирование GART (Таблица переадресации графических адресов) для управления текстурой, поскольку оно выполняет довольно нетривиальные операции с переназначением страниц, мешающим IOMMU. Это ограничение может быть снято в будущих выпусках.
Источник: руководство по VirtualBox