如何在VirtualBox中以来宾身份运行的Ubuntu 12.10上使用NVIDIA GeForce M310?


10

最近几周使用Ubuntu 12.10进行了测试。它在Windows 7托管的Virtualbox上作为来宾运行。Unity3D组件存在一些挑战。特别是由于直到最近才支持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


唯一的方法是放弃VBox并通过双启动或Windows安装程序将Ubuntu安装在实际硬件上。
mikewhatever,2012年

Answers:


15

PCI直通

最新的Virtual Box 封闭源(PUEL)版本在实验上支持PCI直通。但是有一些限制,即对于显卡,我们可以从《Virtual Box用户手册》中阅读

如果AGP和某些PCI Express卡依靠GART,则目前不支持

我无法确定Nvidia M310是否是这种情况,在尝试之前,您必须先弄清楚这一点。

为了使PCI直通正常工作,我们还需要主板具有通过BIOS设置启用的IOMMU(即,Intel的VT-d,AMD的AMD-Vi)。

还需要满足其他一些先决条件(有关详细信息,请参见《Virtual Box手册》):

  • 您的主板上有一个IOMMU单元。
  • 您的CPU支持IOMMU。
  • 在BIOS中启用了IOMMU。
  • VM必须在VT-x / AMD-V上运行并启用嵌套页面调度。
  • 您的Linux内核是使用IOMMU支持,DMA重新映射和PCI存根驱动程序进行编译的。
  • 您的Linux内核可以识别并使用IOMMU单元。

然后,我们可以使用以下bus:device.function属性将PCI设备及其属性从其读取lspci

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

在为该lspci设备安装驱动程序之前,请与来宾一起查看设备是否已正确连接。

有关更多限制,请参阅《Virtual Box手册》。


8
现在如何,到2015年几天?Virtual Box是否已完全实施“ PCI直通”?
user280121 2014年

3

截至2016年,它已完全实施,但针对Linux来宾进行了试验。

PCI直通模块作为VirtualBox扩展软件包提供,必须单独安装。有关更多信息,请参见第1.5节“安装VirtualBox和扩展包”。

本质上,即使主机没有用于该特定设备的驱动程序,来宾也可以直接在主机上使用物理PCI设备。同时支持常规PCI卡和某些PCI Express卡。如果AGP和某些PCI Express卡依靠GART(图形地址重映射表)单元编程进行纹理管理,则目前不支持它们,因为它通过干扰IOMMU的页面进行相当简单的操作。在将来的版本中可能会取消此限制。

资料来源:VirtualBox手册

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.