自从从 Windows 全职转向使用 Linux(Fedora)以来,我发现迁移相当容易,并且对我的工作没有造成太大干扰。
不过,我喜欢玩一些游戏,比如 Football Manager 和一些依赖 3D 渲染(软件或硬件)的老游戏。目前,我有一个运行 Windows XP 的 VirtualBox VM,由于显卡(虚拟显卡)问题,我安装在其上的 95% 的游戏都无法运行。
我想做的是让虚拟机直接使用笔记本电脑的实际物理显卡,或者类似的东西。我知道存在性能问题,但我玩的大多数游戏都是 5 年前的,我不在乎图形质量等。我只希望它能正常工作。
我不必使用 VirtualBox,我只是习惯使用它。如果 VMWare 或其他虚拟技术比 VirtualBox 更好,那么我会使用它。
答案1
顾名思义,虚拟机无法使用实际的图形硬件。它由主机使用,因此客户机也无法使用它。这就是它的工作原理。不过,您可以通过安装 DirectX 附加组件来获得更好的性能。
您需要安装 DirectX 作为 VirtualBox 的附加组件才能使其运行,但它确实可以运行。
要安装 DirectX,您需要将客户机启动到安全模式。将您的 Windows VM 启动到安全模式并转到 VBoxGuest 附加组件。安装 Direct3D 附加组件。必须在安全模式下完成,否则将无法正常工作。
https://www.dedoimedo.com/computers/virtualbox-3-directx.html
答案2
在 Windows 上安装 VirtualBox Guest Additions,并在虚拟机属性中启用“显示 → 3D 加速”。
答案3
您实际上可以将显卡传递给 Windows 客户机,但是您必须使用类似 Xen 4 的东西。此设置最大的警告是您需要一些耐心以及对硬件和 Linux 的了解,并且主机操作系统不能与客户机同时使用显卡。一般而言,您需要脚本来管理将卡从客户机移动到主机并返回,或者只需将其通过管道传输到客户机并通过 ssh/cygwin X 转发等访问主机。这不适合胆小的人,但对于经验丰富的技术人员来说应该不超过一个周末的项目。我在 Fedora 上使用 Xen 4 将多个显卡传递给不同的客户机,这真的不是那么糟糕。重新编译内核以添加 vt-d 支持是最耗时的事情,但是如果您愿意重新编译内核,您应该能够让它工作。
关于需要 FLReset/功能级重置的信息已经过时且虚假;我的设备都没有它,但它们运行正常。