错误:QOpenGLShader:无法创建着色器 - 通过 ssh 运行时

错误:QOpenGLShader:无法创建着色器 - 通过 ssh 运行时

从我的电脑:

$ 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(如第一个链接所示)。

您可以glxinfomesa-utils.


glxgears另外,软件包中还提供了一个用于测试的不错的 GL 程序mesa-utils。如果此方法有效,而您的程序却无效,则表明问题可能是由其他原因造成的。

相关内容