2014-10-10 29 views
2

我想运行一个不需要窗口的OpenGL程序,该程序创建一个文件。 这是在debian xfce上完成的,到目前为止都非常好。然后我尝试从另一台计算机上使用ssh运行程序,如果xfce在监视器上,我可以使用DISPLAY =:0编译和运行该程序(因此,过度打开的时间就像毫秒并关闭) 。在服务器上运行OpenGL程序,无需通过ssh窗口

问题是当我重新启动并断开显示器时,xfce不会启动GUI,并且glut不会启动。

VirtualGL不是我想要的,隐藏的窗口不是我想要的,我想从没有X GUI的终端运行OpenGL程序。或者可以强制xfce启动GUI并使其在GUI中登录,这样我就可以启动过量了。

一个小例子会很好。

回答

1

使用当前的驱动程序模型,您希望以可靠的方式进行操作。到目前为止,Linux所有的OpenGL实现绝对需要某种窗口(并且是一个不可见的,隐藏的1×1像素小窗口)来创建OpenGL上下文。

请注意,在不久的将来,随着Wayland和更大的基于EGL的引入,OpenGL基础架构即将发生变化。但我们还没有。

另外,如果你可以忍受一个缓慢的软件实现,Mesa有一个名为“OSMesa”的伙伴库,它给你一个渲染到你的程序提供的内存区域的OpenGL上下文。但OSMesa不会使用任何形式的GPU加速。

+1

那么有没有办法启动没有监视器的窗口?如果我登录到Linux,然后删除显示器显示器电缆,并运行过剩,它运行良好,但如果我重新启动它不会,我需要一种方法来强制Linux运行在x没有监视器连接,然后一种方法来使它登录,所以我可以从ssh运行freeglut .. 感谢您的回复。 – 2014-10-10 08:36:29

+2

@ user3797639:即使没有连接显示器,您也应始终能够启动X服务器。如果X服务器拒绝启动,则可以在xorg.conf中强制添加显示配置。或者,您可以通过使用150欧姆电阻将绿色模拟输出引脚拉至信号地,让图形卡认为显示器已连接。 – datenwolf 2014-10-10 08:54:20

相关问题