QtQuick应用程序不能在VMWare(虚拟机)上运行

时间:2013-08-15 17:39:04

标签: virtual-machine qml qtquick2 egl

构建系统:

  • Qt Creator 2.7.2基于Qt 5.1.0(32位)建于2013年7月2日
  • Qt 5.1.0 MSVC2010 32bit(ANGLE)
  • 适用于Windows 7的Microsoft Windows SDK(7.1.7600.0.30514)

环境:

  • Windows 7(VMWare)

问题: 我收到的新Qt Quick 2应用程序(内置元素)项目将无法运行:

class QWindowsEGLStaticContext *__cdecl QWindowsEGLStaticContext::create(void): Could not initialize egl display: error 12289

QOpenGLFunctions created with non-current context 
List of attribute names is either too long or not null-terminated.
Maximum number of attributes on this hardware is 0.
Vertex shader:
attribute highp vec4 vertexCoord;              
attribute highp vec4 vertexColor;              
uniform highp mat4 matrix;                     
uniform highp float opacity;                   
varying lowp vec4 color;                       
void main() {                                  
    gl_Position = matrix * vertexCoord;        
    color = vertexColor * opacity;             
}
Fragment shader:
varying lowp vec4 color;                       
void main() {                                  
    gl_FragColor = color;                      
}

我认为这是因为它在虚拟机上运行。

我已经尝试过Qt的ANGLE和OpenGL版本但都失败了。 OpenGL我预计会失败,因为我不认为我们的VMWare基础设施有兼容的视频驱动程序。

有没有其他人经历过这个并设法解决它?

谢谢, 马库斯

3 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,我通过在vmplayer conf中激活“加速3D图形”解决了这个问题。 之后,我没有错误消息,但应用程序仍然无效:它显示一个空白屏幕。

答案 1 :(得分:0)

此问题是由于DirectX End-User Runtime提供的d3dcompiler缺失,正如Friedemann Kleint对QTBUG-31611的评论所述。我有同样的问题(一个空白窗口)并安装DirectX并重新启动系统,一直是解决方案。

答案 2 :(得分:0)

安装NVIDIA图形加速+图形卡的相关NVIDIA软件驱动程序将在重启PC后解决问题