Important: Please read the Qt Code of Conduct -

QML application fails to create OpenGL context (Qt 5.5 / msvc 2015 / x64 / static)

  • Hi,

    I have build Qt 5.5 x64 static library against msvc2015 with the following settings:

    configure -static -release -nomake examples -nomake tests -platform win32-msvc2015

    plus replacing all occurences of /MD with /MT found in qtbase\mkspecs\common\msvc-desktop.conf

    After finally getting my QML application built with precompiled Qt Creator 3.4.2, it constantly aborts during startup with a message box (in a VirtualBox Win7 guest):

    Failed to create OpenGL context for format QSurfaceFormat(version 2.0, options QFlags(), depthBufferSize 24, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize -1, stencilBufferSize 8, samples -1, swapBehavior 2, swapInterval 1, profile  0) .
    This is most likely caused by not having the necessary graphics drivers installed.
    Install a driver providing OpenGL 2.0 or higher, or, if this is not possible, make sure the ANGLE Open GL ES 2.0 emulation libraries (libEGL.dll, libGLESv2.dll and d3dcompiler_*.dll) are available in the application executable's directory or in a location listed in PATH.

    I have tried disabling VitualBox's 3D acceleration but it makes no difference.
    Then I created one Qt Widget Applicaition and another Qt Quick Application with the same Qt library. The Qt Widget runs. The Qt Quick one shows the same behavior as my QML AP.

    Also observed Qt Creator itself doesn't show its Welcome page (QML?) if 3D acceleration is on. Launch Qt Creator in VirtualBox seamless mode with 3D acceleration on crashes the VM.

    Doesn't Qt 5.5 come with dynamic OpenGL by default? I suspecct that QML of Qt 5.5 doesn't run with either static or x64 build in Windows. Anyone has witnessed the contrary?

    (cross posted in stackoverflow)