Does opengl=angle fix support for Win clients not having opengl 2.0 support?



  • We build a client using QtWebEngine from Python bindings. Unfortunately this client crashes on some windows clients not having native OpenGL 2.0 support (see debug below).
    Should this work if I manage to compile qt on windows with opengl=angle?

    I already spent a whole day in trying compling qt from source on windows using msys2/mingw64 but fall from one trap into another without success and want to make sure the effort has even a chance of success...

    Thanks!

    qt.qpa.gl: Basic wglCreateContext gives version 1.1
    qt.qpa.gl: OpenGL version too low
    qt.qpa.gl: OpenGL 2.0 entry points not found
    qt.qpa.gl: GPU features: QSet("disable_d3d11", "disable_d3d9", "disable_desktopgl")
    qt.qpa.gl: Disabling Desktop GL:  GpuDescription(vendorId=0x0, deviceId=0x0, subSysId=0x0, revision=0, driver: "vm3dum64.dll", version=7.14.1.1233, "R
    DPDD Chained DD")
    qt.qpa.gl: Disabling D3D11:  GpuDescription(vendorId=0x0, deviceId=0x0, subSysId=0x0, revision=0, driver: "vm3dum64.dll", version=7.14.1.1233, "RDPDD
    Chained DD")
    qt.qpa.gl: Disabling D3D9:  GpuDescription(vendorId=0x0, deviceId=0x0, subSysId=0x0, revision=0, driver: "vm3dum64.dll", version=7.14.1.1233, "RDPDD C
    hained DD")
    qt.qpa.gl: QWindowsOpenGLTester::supportedRenderers GpuDescription(vendorId=0x0, deviceId=0x0, subSysId=0x0, revision=0, driver: "vm3dum64.dll", versi
    on=7.14.1.1233, "RDPDD Chained DD") renderer:  QFlags(0x8|0x20)
    qt.qpa.gl: Qt: Using EGL from libEGL
    qt.qpa.gl: Qt: Using OpenGL ES 2.0 from libGLESv2
    qt.qpa.gl: QWindowsEGLStaticContext::create Created EGL display 0x3d409b0 v 1 . 4
    qt.qpa.gl: QWindowsIntegration::createPlatformOpenGLContext QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSiz
    e 24, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize -1, stencilBufferSize 8, samples 0, swapBehavior QSurfaceFormat::SwapBe
    havior(DefaultSwapBehavior), swapInterval 1, profile  QSurfaceFormat::OpenGLContextProfile(NoProfile))
    qt.qpa.gl: QWindowsIntegration::createPlatformOpenGLContext QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSiz
    e -1, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize -1, stencilBufferSize -1, samples -1, swapBehavior QSurfaceFormat::Swap
    Behavior(DefaultSwapBehavior), swapInterval 1, profile  QSurfaceFormat::OpenGLContextProfile(NoProfile))
    qt.qpa.gl: QWindowsIntegration::createPlatformOpenGLContext QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSiz
    e 24, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize -1, stencilBufferSize 8, samples 0, swapBehavior QSurfaceFormat::SwapBe
    havior(DefaultSwapBehavior), swapInterval 1, profile  QSurfaceFormat::OpenGLContextProfile(NoProfile))
    qt.qpa.gl: QWindowsIntegration::createPlatformOpenGLContext QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSiz
    e 24, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize -1, stencilBufferSize 8, samples 0, swapBehavior QSurfaceFormat::SwapBe
    havior(DefaultSwapBehavior), swapInterval 1, profile  QSurfaceFormat::OpenGLContextProfile(NoProfile))
    qt.qpa.gl: QWindowsIntegration::createPlatformOpenGLContext QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSiz
    e 24, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize -1, stencilBufferSize 8, samples 0, swapBehavior QSurfaceFormat::SwapBe
    havior(DefaultSwapBehavior), swapInterval 1, profile  QSurfaceFormat::OpenGLContextProfile(NoProfile))
    QOpenGLShader::link: Failed to create D3D shaders.
    
    Could not link shader program:
     "Failed to create D3D shaders.\n"
    QOpenGLShader::link: Failed to create D3D shaders.
    Failed to create D3D shaders.
    


  • finally - issue solved! At least on Windows 7 there are some DLLs missing QT is expecting for running OpenGL 2 shades. Solution is to (re) install DirectX End-User Runtimes (June 2010) on all Windows systems.
    QT should check / fix this during installation on windows.

    background / longer answer on Stack Overflow: Does gt build with opengl=angle fix support for Windows clients not having opengl 2.0 support?


Log in to reply