从我的电脑:
$ cat /etc/issue && uname -a
Ubuntu 14.04.1 LTS \n \l
Linux abc-pc 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
我正在使用 Qt 5.4 和 QtCreator 3.3.0
我已经读过这个关于opengl 错误,但我不确定这是否也适用于我。
这些程序在我的计算机上运行得非常好,但是一位同行ssh
在我的计算机上从他自己的计算机上运行了相同的程序,并且在他的计算机上显示了以下错误。
执行ssh
意味着他实际上正在我的计算机上工作,所以当我没有收到这些错误时,为什么他会出现这些错误?
libGL error: failed to load driver: swrast
Connected to "xyz"
QOpenGLShader: could not create shader
QOpenGLShaderProgram: could not create shader program
QOpenGLShader: could not create shader
QOpenGLShaderProgram::uniformLocation( imageTexture ): shader program is not linked
QOpenGLShaderProgram: could not create shader program
QOpenGLShader: could not create shader
QOpenGLShader: could not create shader
shader compilation failed:
""
QOpenGLShaderProgram::uniformLocation( matrix ): shader program is not linked
QOpenGLShaderProgram::uniformLocation( opacity ): shader program is not linked
QOpenGLShaderProgram: could not create shader program
QOpenGLShader: could not create shader
QOpenGLShader: could not create shader
shader compilation failed:
""
QOpenGLShaderProgram::uniformLocation( matrix ): shader program is not linked
QOpenGLShaderProgram::uniformLocation( opacity ): shader program is not linked
QOpenGLShaderProgram::uniformLocation( pixelSize ): shader program is not linked
QOpenGLShaderProgram: could not create shader program
QOpenGLShader: could not create shader
QOpenGLShader: could not create shader
shader compilation failed:
答案1
尝试使用 连接,然后在登录后ssh -X
运行该命令,然后再启动程序。DISPLAY=:0
IE
$ ssh -X YOURCOMP
...
$ DISPLAY=:0
$ ./[run gl program]
总而言之,它可能会让您访问远程计算机的图形驱动程序。例如,如果您刚刚运行
glxinfo | grep OpenGL
,您将不会通过 获得预期结果ssh
,除非您同时执行ssh -X
, 和DISPLAY=:0
(如第一个链接所示)。
您可以glxinfo
从mesa-utils
.
glxgears
另外,软件包中还提供了一个用于测试的不错的 GL 程序mesa-utils
。如果此方法有效,而您的程序却无效,则表明问题可能是由其他原因造成的。