有没有可以使用 opengl 3+ 的虚拟机? virtualbox 和 vmware 没有

问题描述 投票:0回答:3

我正在尝试在虚拟机中编写一些 openFrameworks (C++) 代码。我的主机是 Windows 8,我尝试过 Arch Linux 和 Ubuntu 客户机。我的主机在 NVidia Optimus 设置和 8GB RAM 的情况下可以很好地运行图形代码。

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

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

c++ virtual-machine virtualbox vmware openframeworks
3个回答
5
投票

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

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


4
投票

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

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

重新启动 virtualbox 并使用

glxinfo
程序测试一切是否按预期工作。

Fedora 39 上的输出:

$ glxinfo
...
OpenGL vendor string: Mesa
OpenGL renderer string: llvmpipe (LLVM 16.0.6, 256 bits)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 23.2.1
OpenGL core profile shading language version string: 4.50
...

在 Fedora (34-39) 和 Ubuntu (20.04, 22.04) 上测试。


3
投票

尝试 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
...

源代码 tarball 是来自值得信赖的存储库的

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。快速搜索后发现了这个标题为“GPU Passthrough with KVM:鱼与熊掌兼得”的帖子。帖子太长,无法阅读,但希望对某人有用。

© www.soinside.com 2019 - 2024. All rights reserved.