Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. QML and Qt Quick
  4. QT_OPENGL vs QT_QUICK_BACKEND
Forum Update on Monday, May 27th 2025

QT_OPENGL vs QT_QUICK_BACKEND

Scheduled Pinned Locked Moved Unsolved QML and Qt Quick
5 Posts 3 Posters 2.3k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Offline
    B Offline
    Bob64
    wrote on 14 Aug 2023, 16:40 last edited by Bob64
    #1

    Is there any practical difference between:

    • QT_OPENGL=software
      and
    • QT_QUICK_BACKEND=software

    ?
    Assuming a QML application that is.
    Using 5.15 in case it makes a difference.

    1 Reply Last reply
    0
    • S Offline
      S Offline
      SGaist
      Lifetime Qt Champion
      wrote on 14 Aug 2023, 17:22 last edited by
      #2

      Hi,

      The latter applies to QtQuick based applications while the former will also apply to OpenGL widget based applications.

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      B 1 Reply Last reply 15 Aug 2023, 09:24
      0
      • K Offline
        K Offline
        KH-219Design
        wrote on 14 Aug 2023, 18:51 last edited by KH-219Design
        #3

        Further... it seems that QT_OPENGL=software is (somehow? somewhy?) for Windows only?

        I arrived at that conclusion in two steps. First, I looked through the source code and found just one match:

        qtbase/src/plugins/platforms/windows/qwindowsopengltester.cpp:    const char openGlVar[] = "QT_OPENGL";
        
        

        Then I googled: https://www.google.com/search?q=site:doc.qt.io+"QT_OPENGL=software"

        But I'm still scratching my head and my answer is by no means definitive.

        At any rate, how would these two interact? Would it be possible to set them each differently, and somehow end up with two kind of GL backend simultaneously? That seems impossible....

        www.219design.com
        Software | Electrical | Mechanical | Product Design

        S 1 Reply Last reply 14 Aug 2023, 18:56
        0
        • K KH-219Design
          14 Aug 2023, 18:51

          Further... it seems that QT_OPENGL=software is (somehow? somewhy?) for Windows only?

          I arrived at that conclusion in two steps. First, I looked through the source code and found just one match:

          qtbase/src/plugins/platforms/windows/qwindowsopengltester.cpp:    const char openGlVar[] = "QT_OPENGL";
          
          

          Then I googled: https://www.google.com/search?q=site:doc.qt.io+"QT_OPENGL=software"

          But I'm still scratching my head and my answer is by no means definitive.

          At any rate, how would these two interact? Would it be possible to set them each differently, and somehow end up with two kind of GL backend simultaneously? That seems impossible....

          S Offline
          S Offline
          SGaist
          Lifetime Qt Champion
          wrote on 14 Aug 2023, 18:56 last edited by
          #4

          @KH-219Design from memory, it's because Windows is the only platform that has multiple OpenGL backends (angle VS desktop).

          Interested in AI ? www.idiap.ch
          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

          1 Reply Last reply
          0
          • S SGaist
            14 Aug 2023, 17:22

            Hi,

            The latter applies to QtQuick based applications while the former will also apply to OpenGL widget based applications.

            B Offline
            B Offline
            Bob64
            wrote on 15 Aug 2023, 09:24 last edited by
            #5

            @SGaist said in QT_OPENGL vs QT_QUICK_BACKEND:

            Hi,

            The latter applies to QtQuick based applications while the former will also apply to OpenGL widget based applications.

            Yes, that's my understanding but it is why I asked about practical differences in the case that the application is QtQuick based. At the time of asking, I was about to ask a user to try both on a platform where hardware graphics don't seem to be working and I didn't really expect there to be a difference between the two options. However, they have since reported back that whereas the UI displays when using QT_QUICK_BACKEND, the QT_OPENGL case hangs.

            To slightly complicate things, the application is not completely QML as there is a widgets-based splash screen shown at program startup while the QML application is loading. What is reported to happen is that the splash screen displays but it just hangs there. I don't have further info yet but I assume that it is stuck in the QML load rather than it being a problem with the splash screen itself.

            In cases where hardware graphics don't work, the splash screen displays as normal, closes, the main application window frame flashes up briefly (with blank, white content) and shuts down.

            One of the reasons I wanted them to confirm QT_OPENGL=software worked was that I was then going to go on and ask them to see what happened using "angle" as I don't think this option is available with QT_QUICK_BACKEND.

            1 Reply Last reply
            0

            1/5

            14 Aug 2023, 16:40

            • Login

            • Login or register to search.
            1 out of 5
            • First post
              1/5
              Last post
            0
            • Categories
            • Recent
            • Tags
            • Popular
            • Users
            • Groups
            • Search
            • Get Qt Extensions
            • Unsolved