Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-54327

QtWebEngine fails to build when configured with -no-opengl

    XMLWordPrintable

Details

    • 4412d22c26ba4a187837b0565c66e5b51de85b3c

    Description

      This is a problem exclusive to dev (5.8 and greater) since it became possible to build QtDeclarative without OpenGL (via the software renderer).

      So what happens is when you build Qt and then QtWebengine, it is possible for all the tests to pass because it checks the system libKHR not if Qt has OpenGL support.

      So the build will fail when it tries to use non-existing classes like QOpenGLContext.

      But... It should actually be possible to build an run a use-able version of QtWebEngine with a QT_NO_OPENGL build of Qt 5.8 because the Qt Quick 2D Renderer is now part of QtDeclarative. Previously it was possible to run QtWebEngine on systems without OpenGL (via the use of a OpenGL headers + a fake stub lib), which meant that even those the code that was built included and linked against OpenGL API's in Qt like QOpenGLContext, it manages to run without calling any of those API's, because if they did, the application would have crashed.

      So I propose that this bug should not be addressed as "not supported anyway" and a one line:

      contains(QT_CONFIG, opengl):
      

      But rather enable QtWebEngine to be built without support for OpenGL, but still use the same Scenegraph API's to render web content.

      Attachments

        1. Patch.diff
          10 kB
        2. patch2.diff
          0.8 kB
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            allan.jensen Allan Sandfeld Jensen
            janichol Andy Nichols
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes