是否有可以执行 OpenGL 3+ 的 VM?VirtualBox和VMware没有

is there a vm that i can do opengl 3+ with? virtualbox and vmware don't

本文关键字:VM VirtualBox 没有 VMware 执行 OpenGL 是否      更新时间:2023-10-16

我正在尝试在虚拟机中编写一些openFrameworks(C++(代码。 我的主机是Windows 8,我尝试过Arch Linux和Ubuntu的访客。 我的主机通过NVidia Optimus设置和8GB RAM运行图形代码。

我的主要开发是在Visual Studio中进行的,但是我更喜欢从Linux创建Android和测试包。 出于这个原因,我只想启动一个虚拟机并照顾业务。 问题是我的一些图形应用程序需要OpenGL 3+

有没有其他人遇到同样的问题并解决了它?

放弃VirtualBox。VB 的 OpenGL 来宾支持在 2.1 中失效,即使这样,只有在您使用开关从命令行安装 VB Guest 添加,然后添加一些注册表项以实际启用 OpenGL 来宾驱动程序之后。

如果你愿意花钱,VMware Fusion for Mac和VMware Workstation for Windows都支持DirectX 10和OpenGL 3.3。

这里的聚会有点晚了,但希望对这些天遇到类似问题的人有所帮助:

台面软件渲染器现在支持 OpenGL 4.5,所以对我来说,解决方案是在 VirtualBox 机器的设置中禁用 3D 加速!然后,台面软件OpenGL支持接管并提供其功能。它肯定不是那么快,但就我的目的(测试 OpenGL 应用程序是否启动并在 Linux 下显示某些内容(就足够了!

在Fedora 34和Ubuntu 20.04上都进行了测试。

尝试 VirtualBox 并将MESA_GL_VERSION_OVERRIDE=3.0 MESA_GLSL_VERSION_OVERRIDE=130附加到您的 linux 命令行。某些 opengl3 函数可能有效。虽然不是所有人都会。我用它来调出 Civ5,动画没有显示,屏幕上的字体也没有显示。

如果要查看源代码:

VirtualBox使用chromium 1.9,即opengl 2.1。可以通过glxinfo命令验证该信息。使用以下命令跟踪 VirtualBox opengl lib 文件:

$ ldd /usr/bin/glxinfo
$ apt-file search /usr/lib/x86_64-linux-gnu/libGL.so.1.2
$ LIBGL_DEBUG=verbose glxinfo

然后点击链接:

$ ls -l x86_64-linux-gnu/dri/
lrwxrwxrwx Apr 14 2014 vboxvideo_dri.so -> ../../VBoxOGL.so
$ apt-file search /usr/lib/VBoxOGL.so
virtualbox-dbg: /usr/lib/debug/usr/lib/VBoxOGL.so
virtualbox-guest-x11: /usr/lib/VBoxOGL.so
$ dpkg -l virtualbox*
ii virtualbox-guest-x11 4.1.18-dfsg-2+deb7 amd64
$ apt-file list virtualbox-guest-x11
...

源代码压缩包是从可信存储库中virtualbox-4.3.10-dfsg.orig.tar.gz的。版本字符串可以通过源代码目录中的$ grep -r CR_OPENGL_VERSION_STRING *$ grep -r CR_VERSION_STRING *进行 grep。

更新 6/1/2017:有人告诉我 kvm 适用于 civ5。快速搜索发现了这个标题为"使用 KVM 的 GPU 直通:吃你的蛋糕和吃它"的帖子。该线程太长而无法阅读,尽管希望它对某人有用。