Как использовать NVIDIA GeForce M310 в Ubuntu 12.10 в качестве гостя в VirtualBox?

10

Последние пару недель играл с 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

Huub
источник
Единственный способ - отключить VBox и установить Ubuntu на реальном оборудовании в режиме двойной загрузки или с помощью установщика Windows.
mikewhоткуда

Ответы:

15

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 для получения дополнительных ограничений.

Takkat
источник
8
Как насчет сейчас, несколько дней до 2015 года? Полностью ли реализован "PCI passthrough" в Virtual Box?
user280121
3

С 2016 года он полностью реализован, но для гостей Linux - экспериментальный.

Сквозной модуль PCI поставляется в виде пакета расширения VirtualBox, который необходимо установить отдельно. См. Раздел 1.5, «Установка VirtualBox и пакетов расширений» для получения дополнительной информации.

По сути, эта функция позволяет напрямую использовать физические устройства PCI на хосте гостем, даже если на хосте нет драйверов для этого конкретного устройства. Поддерживаются как обычные карты PCI, так и некоторые карты PCI Express. AGP и некоторые карты PCI Express в настоящее время не поддерживаются, если они используют модульное программирование GART (Таблица переадресации графических адресов) для управления текстурой, поскольку оно выполняет довольно нетривиальные операции с переназначением страниц, мешающим IOMMU. Это ограничение может быть снято в будущих выпусках.

Источник: руководство VirtualBox

Вилли Ментцель
источник