如何在 VMWare 中伪造 GPU 供应商 ID 和设备 ID?

如何在 VMWare 中伪造 GPU 供应商 ID 和设备 ID?

我正在尝试在 VMWare 机器上运行一款特定游戏(该机器能够运行许多其他游戏),但这款游戏有一个任意检查,如果您使用的 GPU 无法识别,它将阻止启动。它给出以下错误:

检测到不支持的视频卡!继续运行可能会导致意外结果或崩溃。请查看手册以获取有关硬件要求的更多信息。

“VMware SVGA 3D” [供应商 ID = 0x15ad,设备 ID = 0x0405]

经过一番研究,我发现我可以编辑/替换注册表中的某些值,因此我开始在注册表的所有地方用我的真实显卡名称“NVIDIA GeForce RTX 2060 SUPER”替换名称“VMware SVGA 3D”。在注册表的某个特定位置,该值不会“保留”,并在启动时不断被重写。我摆弄权限,从系统中删除了完全控制权限,但直到我将包括我自己的权限在内的所有权限都设置为“拒绝”后,它才起作用。然后,该注册表项从我的视图中消失了,因为我拒绝了自己的编辑权限,但当我重新启动时,错误消息更改为:

检测到不支持的视频卡!继续运行可能会导致意外结果或崩溃。请查看手册以获取有关硬件要求的更多信息。

“NVIDIA GeForce RTX 2060 SUPER” [供应商 ID = 0x15ad,设备 ID = 0x0405]

因此,我成功地伪造了名称,但我真正需要伪造的是供应商 ID 和设备 ID。我找到了一个指南https://grimore.org/windows/spoof_hardware_identifiers但遇到了同样的问题,即使我调整了权限,注册表项在重新启动时也会不断被覆盖。我做了和以前一样的事情(将所有权限更改为“拒绝”),但似乎仍然没有解决问题。错误消息仍然与上面相同(GPU 名称更改成功,供应商 ID 和设备 ID 不变)

我在其他帖子中看到的常见非答案:

  • “性能不会好”——我不关心性能;我只想在这台虚拟机上运行它。
  • “它无法工作,游戏无法运行等等”——由于他们只是因为设备/供应商 ID 无法识别而阻止它,所以我相信这只是虚拟 GPU 未知的情况,而不是无能为力的情况。

相关内容