在Linux系统中执行OpenGL程序

5

我正在尝试在Linux系统上通过连接到远程Linux服务器来运行OpenGL程序。 我使用ssh连接,同时提供-X选项,以使用X窗口系统。

我能够成功连接到服务器并编译代码。我已经成功创建了可执行文件。 但是当我运行该可执行文件时,出现错误提示。

freeglut (./lineTest):  ERROR:  Internal error <FBConfig with necessary capabilities not found> in function fgOpenWindow
X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  4 (X_DestroyWindow)
  Resource id in failed request:  0x0
  Serial number of failed request:  26
  Current serial number in output stream:  29

其中lineTest是可执行文件的名称。

当我编译代码时,将其链接到glut和GLU库。

由于服务器是远程服务器,我不能进行太多驱动程序更改。


根据您想要做什么,http://www.virtualgl.org/ 可能会有所帮助。 - masebase
阅读有关 ssh -Y 选项的内容。请注意,-X-Y 需要在 sshd 配置中启用。 - Ben Voigt
1个回答

5
错误信息的第一行非常重要:
freeglut (./lineTest):  ERROR:  Internal error <FBConfig with necessary capabilities not found> in function fgOpenWindow

这意味着客户端连接的X11服务器不支持OpenGL所需的帧缓冲格式设置。

第一步是使用glxinfo检查实际支持的内容。请像运行程序一样运行glxinfo,并将其输出在此处发布(最有可能是某些线路中没有OpenGL支持)。同时在本地执行glxinfo,因为是本地机器完成所有OpenGL工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接