2014-09-28 84 views
0

Boot2docker是一个在VirtualBox虚拟机中运行的轻量级Linux发行版。所有的基本功能工作正常,我可以在MacOS X中使用码头容器。Boot2docker虚拟机图形

但是我的应用程序需要OpenGL渲染,我无法使它工作。 如何控制在VirtualBox VM中使用哪种图形加速?我想彻底删除任何3D加速功能,因为Mesa软件驱动程序应该完美工作(在VMware VM上测试)。

有没有一种方法来控制boot2docker虚拟机的图形设置,就像我为普通的VirtualBox虚拟机一样?

回答

1

我会说最直接的方法(我将它作为boo2docker开发者的一个功能/ bug请求)将安装一个纯OpenScene Mesa llvm软管构建。这应该给你OSMesa。然而,对于经典的OpenGL环境,您可能需要某种X服务器(直到EGL /离屏Wayland工作令人满意)。只要使用帧缓冲区对象,带有dummy设备的X.org服务器应该可以正常工作。

+0

嗨,谢谢你的回答。现在我更好地理解了这个问题,我可能会问一个稍微不同的问题。我真正需要的是独立于主机系统图形硬件的Docker容器。它应该在物理PC和虚拟机上运行,​​所以我只想使用软件仿真。有没有办法创建这样的容器配置,以确保我总是只使用软件OpenGL渲染? – 2014-09-28 19:48:12

+0

另外,你如何运行“虚拟”X服务器,它是什么意思? – 2014-09-28 19:49:22

+1

@AlexPetrenko:通过全新的Mesa安装,只要您尝试创建OpenGL上下文而没有支持的GPU,则您将进入“softpipe”后备实现。目前,大多数以某种方式使用OpenGL的Linux库都是以一种方式构建的,即它们需要运行中的X1服务器才能工作(X服务器是Linux中使用的传统图形系统; Wayland是继任者infrastrucure)。 X服务器配置了*一些*图形设备。对于没有物理图形输出的系统,这是一个* dummy *设备。 – datenwolf 2014-09-28 20:03:36

0

事实证明,boot2docker只是VBoxManage命令的一个包装。 如果你真的想要,你可以使用VBoxManage命令来控制由boot2docker创建的虚拟机 - 你可以改变3D图形加速,VMem等。