Details
-
Bug
-
Resolution: Out of scope
-
Not Evaluated
-
None
-
5.0.1
-
None
-
Windows XP not OK / Windows 7 OK
Description
(maybe it's not a Bug, but a disadvantage of OpenGL.)
When I use mstsc(Microsoft Terminal Service Client) to connect to a machine with Windows XP operating system, and run QtQuick programs on it, I encountered some problems.
A simple QtQuick2 program:
import QtQuick 2.0 Rectangle { width: 100; height: 100 color: "red" }
When I run it through mstsc on a remote Windows XP, it crashes:
class QWindowsEGLStaticContext *__cdecl QWindowsEGLStaticContext::create(void): Could not initialize egl display: error 12289
QQuickWindow: makeCurrent() failed...
I go to that machine, run the program locally, it works correct and shows the red rectangle. So it means this only happens when using terminal services(mstsc).
I doubt whether it's a problem of ANGLE, so I built Qt from the source with opengl parameter. Now the program does not crash, but shows a white window. I use a tool called DebugView to receive debug info:
[2116] QWindowsGLContext::getProcAddress: Unable to resolve 'glBindFramebuffer'
[2116] QWindowsGLContext::getProcAddress: Unable to resolve 'glBindFramebufferOES'
[2116] QWindowsGLContext::getProcAddress: Unable to resolve 'glBindFramebufferARB'
[2116] QWindowsGLContext::getProcAddress: Unable to resolve 'glBindFramebufferEXT'
[2116] QWindowsGLContext::getProcAddress: Unable to resolve 'glCreateProgram'
[2116] QWindowsGLContext::getProcAddress: Unable to resolve 'glCreateProgramARB'
[2116] QWindowsGLContext::getProcAddress: Unable to resolve 'glCreateProgramObject'
[2116] QWindowsGLContext::getProcAddress: Unable to resolve 'glCreateProgramObjectARB'
[2116] QOpenGLShaderProgram: could not create shader program
[2116] QWindowsGLContext::getProcAddress: Unable to resolve 'glCreateShader'
[2116] QWindowsGLContext::getProcAddress: Unable to resolve 'glCreateShaderARB'
[2116] QWindowsGLContext::getProcAddress: Unable to resolve 'glCreateShaderObject'
[2116] QWindowsGLContext::getProcAddress: Unable to resolve 'glCreateShaderObjectARB'
[2116] QOpenGLShader: could not create shader
[2116] QSGMaterialShader: Shader compilation failed:
[2116] ""
[2116] QOpenGLShaderProgram::uniformLocation( matrix ): shader program is not linked
[2116] QOpenGLShaderProgram::uniformLocation( opacity ): shader program is not linked
[2116] QWindowsGLContext::getProcAddress: Unable to resolve 'glEnableVertexAttribArray'
[2116] QWindowsGLContext::getProcAddress: Unable to resolve 'glEnableVertexAttribArrayARB'
[2116] QWindowsGLContext::getProcAddress: Unable to resolve 'glEnableVertexAttribArray'
[2116] QWindowsGLContext::getProcAddress: Unable to resolve 'glEnableVertexAttribArrayARB'
[2116] QWindowsGLContext::getProcAddress: Unable to resolve 'glUniformMatrix4fv'
[2116] QWindowsGLContext::getProcAddress: Unable to resolve 'glUniformMatrix4fvARB'
[2116] QWindowsGLContext::getProcAddress: Unable to resolve 'glVertexAttribPointer'
[2116] QWindowsGLContext::getProcAddress: Unable to resolve 'glVertexAttribPointerARB'
[2116] QWindowsGLContext::getProcAddress: Unable to resolve 'glVertexAttribPointer'
[2116] QWindowsGLContext::getProcAddress: Unable to resolve 'glVertexAttribPointerARB'
[2116] QWindowsGLContext::getProcAddress: Unable to resolve 'glDisableVertexAttribArray'
[2116] QWindowsGLContext::getProcAddress: Unable to resolve 'glDisableVertexAttribArrayARB'
[2116] QWindowsGLContext::getProcAddress: Unable to resolve 'glDisableVertexAttribArray'
[2116] QWindowsGLContext::getProcAddress: Unable to resolve 'glDisableVertexAttribArrayARB'
I doubt whether OpenGL things can't be drawn when using remote desktop. But I tried the same program on a Windows 7 (remotely), it works correctly and has no problem.
Attachments
Issue Links
- relates to
-
QTBUG-36065 Windows/ANGLE:, QML/QtQuick2 app silently fails and end up with empty windows
- Closed