10

Last couple of weeks played around with Ubuntu 12.10. This is running as a guest on Virtualbox hosted at Windows 7. There have been some challenges with the Unity 3D stuff. Particular due to not supporting X11 release 1.13 till very recently. Since today we are able to download Virtualbox version 4.2.2 which has through guest additions also support for X11 release 1.13. SO far great work everybody.

Since Unity now only runs in 3D mode it would be nice to access the graphics card directly from Virtualbox. lshw -c display shows: VGA compatible controller; product: VirtualBox Graphics Adapter.

QUESTION: how to get the 3D and other graphics directly supported by the hardware ie Nvidia GeForce M310

1
  • The only way is to ditch VBox and install Ubuntu on real hardware as dual boot or with the Windows installer. Oct 19, 2012 at 10:21

2 Answers 2

15

PCI passthrough

PCI passthrough is experimentally supported in recent Virtual Box closed source (PUEL) versions. However there are several limitation, i.e. for a graphics card we can read from the Virtual Box User Manual:

AGP and certain PCI Express cards are not supported at the moment if they rely on GART

I cant tell if this is the case with the Nvidia M310, you will have to figure this out first before you try.

To get PCI passthrough working we also need a motherboard with an enabled IOMMU from BIOS settings (i.e. VT-d for Intel, AMD-Vi for AMD).

There are several additional prerequisites to be met (see Virtual Box Manual for details):

  • Your motherboard has an IOMMU unit.
  • Your CPU supports the IOMMU.
  • The IOMMU is enabled in the BIOS.
  • The VM must run with VT-x/AMD-V and nested paging enabled.
  • Your Linux kernel was compiled with IOMMU support, DMA remapping, and the PCI stub driver.
  • Your Linux kernel recognizes and uses the IOMMU unit.

We can then attach a PCI device with its bus:device.function properties read from lspci to our virtual machine using:

VBoxManage modifyvm "VM name" --pciattach <host-bus>:<host-device>.<host-function>@<guest-bus>:<guest-device>.<guest-function>.

See in the guest with lspci if the device was attached properly before installing drivers for this device.

Please also refer to the Virtual Box Manual for further limitations.

1
  • 8
    How about now, a few days to year 2015? Has "PCI passthrough" fully implemented in Virtual Box?
    – user280121
    Dec 27, 2014 at 9:19
3

As of 2016 it is fully implemented but for Linux guests experimental.

The PCI passthrough module is shipped as a VirtualBox extension package, which must be installed separately. See Section 1.5, “Installing VirtualBox and extension packs” for more information.

Essentially this feature allows to directly use physical PCI devices on the host by the guest even if host doesn't have drivers for this particular device. Both, regular PCI and some PCI Express cards, are supported. AGP and certain PCI Express cards are not supported at the moment if they rely on GART (Graphics Address Remapping Table) unit programming for texture management as it does rather nontrivial operations with pages remapping interfering with IOMMU. This limitation may be lifted in future releases.

Source: VirtualBox manual

1
  • 1
    As @Spy wanted to add: "As of 2021 PCI passthrough has been been removed until further notice." Link.
    – zx485
    Jul 13, 2021 at 14:42

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .