为什么我的 Windows 8 虚拟机不使用我的 NVIDIA 卡?

为什么我的 Windows 8 虚拟机不使用我的 NVIDIA 卡?

我有一台戴尔 XPS,配有 NVIDIA GT540 显卡,并配有 Optimus。主要操作系统是 Windows 7。

我在 VMware Workstation 8 中安装了 Windows 8,但运行速度非常慢。NVIDIA 控制面板中显示没有应用程序正在使用 GPU。这是为什么?

当我可以使用 NVIDIA GPU 时,为什么虚拟机会使用 Intel GPU?

更新:好吧,我安装了 vmware tools,性能有所提高。但我仍然感觉 nVidia 没有得到利用。:(

更新:现在我在通知区域看到vmx.exe确实正在使用我的 gpu。:) 耶!!

答案1

虚拟机无法直接访问您的硬件。虚拟机管理程序会模拟硬件,模拟的硬件取决于您使用的虚拟机管理程序。

Vmware 兼容性指南 包含有关支持哪些客户操作系统的详细信息。Windows 8 不在列表中。

对于受支持的客户操作系统,VMware 确实提供了一组驱动程序,用于官方支持的操作系统,大大提高了此模拟的性能。在 Windows 7 上,图形性能足以让 Aero 正常工作。Windows 8 不受支持,我敢打赌,一段时间内不太可能得到支持。

答案2

据我所知,大多数虚拟机使用特殊的客户驱动程序来模拟图形;在某些情况下,通过前面提到的客户驱动程序传递主机 GPU 的功能。

VirtualBox 的用户手册描述了 VirtualBox 如何(特别是)模拟 2D/3D 加速。

https://www.virtualbox.org/manual/ch04.html#guestadd-video

答案3

您的虚拟机没有虚拟 nVidia 卡可用。物理机有物理 nVidia 卡,并且可能正在使用它。虚拟机在虚拟硬件或虚拟化的物理硬件上运行。视频卡未虚拟化。

答案4

免责声明:由于信誉系统,我不得不删除链接。我无法提供我想要显示的链接的进一步回复(目前为 12 个)。

你使用的是笔记本电脑吗?

关于 Windows 作为虚拟化主机:抱歉,我不知道。也许你可以用“XenGT”试试,但我一点概念都没有。

关于Linux...

至少在 Linux 下,您可以使用 PCI Passthrough,但 Optimus 在这方面是个大问题。如果您有连接到 Nvidia GPU 的视频输出(某些笔记本电脑有),则有可能实现,但您会失去便携性以换取此功能(这在笔记本电脑中很糟糕)。

英特尔 GVT-d|s|gLinux 中的“vGPU”(英特尔坚持称其为图形虚拟化技术,因为 Nvidia 在其专有解决方案中使用了 vGPU 术语,但我发现 vGPU 更容易记住),这是一个很好的开始。代码已合并到 Linux 内核中,它似乎也与 vanilla Linux 内核本身相关(不是100% 确定)。相关代码仍然没有合并到 Qemu 和 Xen 虚拟机管理程序的上游存储库(有支持 GVT-g 的 Xen 和 Qemu 的 Intel 分支,但两年多以来没有关于合并的消息。

Nvidia 有类似的技术,他们称之为 vGPU,是 NVIDIA GRID 的一部分。不幸的是,这项技术非常专有,似乎只提供给服务器。我不确定 Quadro 驱动程序是否支持类似的东西,如果有人能够在消费硬件上使用这些驱动程序,我希望有人能对此进行更多解释。

有很多英雄(一个在 reddit,其他在 Red Hat 的 vfio-users 邮件列表)尝试通过 Intel GVT(vGPU)实现 PCI 直通,但我没有看到任何成功的故事。

我在 reddit 上看到有人单独使用 GVT-g 时遇到了问题。我看到了 kraxel 在 2017 年初发布的指南,他本人也在 2017 年初提到了本地显示 vGPU 输出的问题。

无论如何,我会做更多的研究,并经过一些实验后,我会给英特尔 GVT-g 邮件列表写一封详细的电子邮件。

相关内容