OpenGL / X-Window程序在Window创建期间挂起

时间:2009-09-16 14:08:59

标签: linux x11 xserver

我在运行Ubuntu 8.10的上网本设备上使用GLFW库获得了一个C / C ++应用程序。

据我了解GLFW lib的来源,它使用对X-Window库的调用来创建窗口。

我们不在机器上使用任何桌面,而是登录到tty并在后台启动X服务器。在调用

期间从目标平台上的tty *运行已编译的应用程序时
glfwOpenWindow( ... );
  glXQueryExtension( ...);
    _glfwChooseVisual( ... );
       XGetVisualInfo( ... );

应用程序暂停。它不会崩溃。通过按Ctrl + Alt + F7切换到X-Window时,应用程序会正常继续。

什么可能导致这种奇怪的行为?

BEGIN_EDIT:

现在我非常确定该问题与Ubuntu或x-server的配置有关。当我尝试运行时

glxinfo
shell中的

命令也会挂起,直到我按CTRL + ALT + F7切换到X窗口。当我按下键后返回我的shell命令已经完成。

在控制台模式下,X服务器是否可以“睡眠”?

END_EDIT;

2 个答案:

答案 0 :(得分:0)

如果X窗口服务器在后台运行,它(显然)不拥有显示器。因此,它不能回复请求,直到它回到前台。

这至少是我的期望。如果显示服务器在请求时实际上没有显示硬件,则不能要求显示服务器打开窗口。

阻止它控制硬件后面听起来对我来说是完全合理的。

答案 1 :(得分:0)

是否在X服务器上运行登录管理器?他们通常会抓住X服务器专用。尝试登录,看看是否有所作为。