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

[Reg 5.12 -> 5.15/6.x] Attempting to use software WebGL can freeze/crash Qt WebEngine

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P1: Critical
    • None
    • 6.2.12, 6.5.5-1, 6.7.0
    • WebEngine
    • Windows 10 22H2, Intel HD Graphics 630, MSVC 2019 x64
    • Windows

    Description

      According to https://github.com/qt/qtwebengine/commit/c7d46325e635d1fb4482b53dce866e2c55026a7e --enable-webgl-software-rendering can be used to enable WebGL when using opengl32sw.dll. And according to the comments in QTBUG-69236 it used to work in Qt 5.12.2.

       

      However, bad things happen most of the time when attempting this on currently-supported versions.

       

      Steps to reproduce

      1. Load the WebEngine Widgets Simple Browser Example (https://doc.qt.io/qt-6/qtwebengine-webenginewidgets-simplebrowser-example.html )

      2. Build and run the example using the environment variables QT_OPENGL=software and QTWEBENGINE_CHROMIUM_FLAGS=--enable-webgl-software-rendering

      3. (If the app is responsive) Navigate to https://webglreport.com

      4. (For Qt >=6.5 where Qt WebEngine uses the D3D11 RHI backend by deault) Repeat the test after adding a 3rd environment variable, QSG_RHI_BACKEND=opengl

       

      Outcomes

      Qt version QSG_RHI_BACKEND not set QSG_RHI_BACKEND=opengl
      6.7.0 App runs (WebGL enabled) App crashes before the window opens
      6.5.5 App freezes after the window opens App runs (WebGL disabled)
      6.2.12 App sometimes runs (WebGL disabled), sometimes crashes before the window opens ("Failed to initialize graphics backend for OpenGL.") N/A
      5.15.16 App is partially responsive (QWidgets work normally) but QWebEngineView displays a blank white page N/A

       

      Note: For Qt 6.2.12, I can get different outcomes by closing and re-opening the app (without rebuilding)

      Attachments

        1. 5.15.16_unresponsive.txt
          2 kB
          Sze Howe Koh
        2. 6.2.12_rhibackend-opengl_crash.txt
          2 kB
          Sze Howe Koh
        3. 6.2.12_rhibackend-opengl_webgl-unavailable.txt
          2 kB
          Sze Howe Koh
        4. 6.2.12_rhibackend-unset_crash.txt
          2 kB
          Sze Howe Koh
        5. 6.2.12_rhibackend-unset_webgl-unavailable.txt
          2 kB
          Sze Howe Koh
        6. 6.5.5_rhibackend-opengl_webgl-unavailable.txt
          2 kB
          Sze Howe Koh
        7. 6.5.5_rhibackend-unset_freeze.txt
          0.8 kB
          Sze Howe Koh
        8. 6.7.0_rhibackend-opengl_crash.txt
          0.7 kB
          Sze Howe Koh
        9. 6.7.0_rhibackend-unset_webgl-available.txt
          1 kB
          Sze Howe Koh

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              qt_webengine_team Qt WebEngine Team
              skoh-qt Sze Howe Koh
              Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes