【问题标题】:Allow guest OS to access graphics adapter directly允许来宾操作系统直接访问图形适配器
【发布时间】:2011-07-01 18:42:11
【问题描述】:

现代硬件辅助桌面虚拟化产品(如 VMWare Workstation 或 VirtualBox)通常为客户操作系统提供功能有限的虚拟图形适配器。

是否可以切换适配器,即为客户操作系统提供对真实图形适配器的直接访问,并将虚拟图形适配器分配给主机操作系统?有没有这个功能的软件?如果没有,是否有可能开发这样的系统?假设我们只有一个来宾操作系统。

【问题讨论】:

  • 删除了 C++ C 程序集标签 - 这甚至是一个编程问题吗?

标签: virtualization hypervisor


【解决方案1】:

使用 Xen 4 实现的 VGA passthrough 应该很快就能实现(目前不稳定的分支):

引用Xen FAQ

“Xen 4.0.0 是第一个支持 VGA 图形适配器直通 Xen HVM(完全虚拟化)客户机的版本。这意味着您可以让 HVM 客户机完全直接控制图形适配器,从而可以在虚拟机中拥有高性能的全 3D 和视频加速"

“Xen VGA passthrough 需要主板芯片组、主板 BIOS 和 Xen 的 IOMMU (Intel VT-d) 支持。”

请注意,目前只有少数主板支持 IOMMU。有关详细信息,请参阅常见问题解答。

【讨论】:

    【解决方案2】:

    I/O 硬件虚拟化,特别是针对显卡的虚拟化是使用称为IOMMU. 的技术实现的 AMD 在 HyperTransport 架构中发布了 IOMMU 技术规范。 Intel 发布了 IOMMU 技术规范,称为 Virtualization Technology for Directed I/O,缩写为 VT-d。

    通过虚拟化,客户操作系统可以使用并非专门为虚拟化而设计的硬件。 IOMMU 的一个示例是 AGP 和 PCI Express 显卡使用的图形地址重映射表 (GART)。显卡等性能更高的硬件使用DMA直接访问内存;在虚拟环境中,所有内存地址都由虚拟机软件重新映射,这会导致 DMA 设备发生故障。 IOMMU 处理这种重新映射,允许在客户操作系统中使用本机设备驱动程序。

    大多数虚拟化软件都支持 OpenGL 的硬件加速,其中一些提供了experimental Direct3D acceleration such as VMWare。 VMware、Citrix、VirtualBox等产品提供硬件加速

    【讨论】:

      【解决方案3】:

      什么处理器?

      这就是 I/O 虚拟化背后的理念(英特尔的实现称为VT-d)。您需要 CPU 支持以允许来宾直接访问视频硬件,同时阻止其占用其他资源,例如磁盘系统。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-25
      • 1970-01-01
      • 2012-04-24
      • 2011-04-20
      • 2010-10-31
      • 2018-01-29
      • 2012-02-18
      • 1970-01-01
      相关资源
      最近更新 更多