如何解决 VirtualBox 中的着色器模型问题?

如何解决 VirtualBox 中的着色器模型问题?

我有一台在本机 Linux 主机上使用 VirtualBox 软件虚拟化的 Windows 7(32 位)机器。

对于一些高级软件(ArcGIS Desktop 10.1) 我需要:

最低要求 OpenGL 版本 2.0 运行时,建议使用 Shader Model 3.0 或更高版本。

我一直在运行系统要求检查,结果如下 - 告诉我没有可用的着色器模型:

系统要求检查

现在,我想知道为什么? VirtualBox 从早期版本开始就支持着色器模型。 我下载了 OpenGL Viewer 软件来检查显卡设置。 以下是结果:

opengl 查看器

OpenGL Viewer 告诉我我已安装 OpenGL 2.1 以及顶点和像素着色器模型版本 3.0。那么为什么有些软件没有检测到这些呢?

顺便说一下,ArcGIS 无法正常工作 - 如此主题。这就是为什么我认为 VirtualBox 中的着色器模型存在一些严重问题。

如何解决这个问题?

答案1

我发现:要成功启用着色器模型,您需要安装用于 3D 硬件加速的实验性 WDDM 驱动程序。例如描述在这里

  1. 确保设备至少分配了 128MB 视频内存(建议 256mb)。
  2. 安装实验性驱动程序不需要安全模式。
  3. 设备 > 安装访客添加功能...(主机 + D)
  4. 选择:Direct2D 支持(实验性)
  5. 建议安装基本 3D 驱动程序,而不是 WDDM 驱动程序。要安装 WDDM 驱动程序,只需单击好的
  6. 完成安装。
  7. 重启。

完毕。

答案2

好吧,我的回答是关于 DirectX 着色器支持,我希望它对某些人有用,因为有时 Opengl 和 DirectX 可以互换。

带有实验性 WDDM 驱动程序的客户添加未启用像素或顶点着色器模型3.0对于 DirectX 或 OpenGL。我尝试了欺骗器:DXTweakerSwiftshader

DXTweaker 又名 DirectX Tweaker 会伪造值,但应用程序/游戏会进行一些额外的检查,并且不会检测着色器 3.0。顺便说一句,它仅存在于定时炸弹测试版如果您想尝试进行调整,则需要将 VM 中的日期设置为 2005 年的某个时间才能使其正常工作。

Swiftshader 可以工作,但只能作为演示并在渲染的图像上显示其徽标。此外,它还以多种方式崩溃:

  • 如果我以全屏模式开始游戏 - VM 就会出现 BSOD
  • 如果我将游戏配置为除我的分辨率之外的任何分辨率主机本机(1366*768)- 它崩溃了。即使我以不同的分辨率、窗口或全屏模式运行虚拟机。

还请记住,欺骗着色器不会被模拟,也不会被渲染。您将在结果图像中看到故障。

相关内容