我做了一个Qt/Qml应用程序,在光栅模式下工作正常。使用opengl图形系统崩溃
QApplication::setGraphicsSystem("raster");
但只要我把它改为OpenGL的,它具有以下消息崩溃:
hijackWindow() context created for QmlApplicationViewer(0xbfce6e5c) 1
QGLContext::makeCurrent(): Failed.
QGLFramebufferObject: Unable to resolve framebuffer object extensions - make sure there is a current context when creating the framebuffer object.
QGLWindowSurface: Failed to create valid FBO, falling back
QGLPixelBuffer: Unable to find a context/format match - giving up.
QGLWindowSurface: Failed to create valid pixelbuffer, falling back
QGLContext::makeCurrent(): Failed.
QGLWindowSurface: Using plain widget as window surface QGLWindowSurface(0x932b428)
QGLContext::makeCurrent(): Failed.
QGLShader: could not create shader
Vertex shader for simpleShaderProg (MainVertexShader & PositionOnlyVertexShader) failed to compile
QGLShader: could not create shader
Fragment shader for simpleShaderProg (MainFragmentShader & ShockingPinkSrcFragmentShader) failed to compile
QGLShaderProgram: could not create shader program
Errors linking simple shader: ""
QGLShader: could not create shader
Vertex shader for blitShaderProg (MainWithTexCoordsVertexShader & UntransformedPositionVertexShader) failed to compile
QGLShader: could not create shader
Fragment shader for blitShaderProg (MainFragmentShader & ImageSrcFragmentShader) failed to compile
QGLShaderProgram: could not create shader program
Errors linking blit shader: ""
QGLContext::makeCurrent(): Failed.
QGLShader: could not create shader
Warning: "" failed to compile!
QGLContext::makeCurrent(): Failed.
QGLContext::makeCurrent(): Failed.
QGLShader: could not create shader
Warning: "" failed to compile!
QGLContext::makeCurrent(): Failed.
QGLContext::makeCurrent(): Failed.
QGLContext::makeCurrent(): Failed.
QGLContext::makeCurrent(): Failed.
The program has unexpectedly finished.
平台:Ubuntu的12.04 - 32位 - 英特尔酷睿i5 - Qt的4.8
编辑1:
我试着绕过使用this approach mention on SO。它确实奏效,但即使拥有如此强大的平台,我的表现也是最糟糕的!
有什么我失踪?有人可以列出平台上所有应该确保的内容,以确保应用程序实际上在opengl模式下工作,而不会回退到本机模式。
例如。图形卡/驱动程序/ opengl支持等?
编辑2:
当我试图运行glxinfo命令,该行的人说:direct rendering: No
有什么事情我应该担心?
编辑3:
我试图安装一些驱动程序,发现direct rendering: No
改为Yes
我做了。
你正在使用什么'GLFormat'设置?你打算使用哪种OpenGL版本? – cmannett85 2013-04-09 07:50:13
在glxinfo得到这个:'服务器glx版本字符串:1.4 Mesa 8.0.4' – 2013-04-09 08:45:27
要添加,我得到'直接呈现:没有'!? – 2013-04-09 08:47:36