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.
-
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....
-
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....
@KH-219Design from memory, it's because Windows is the only platform that has multiple OpenGL backends (angle VS desktop).
-
Hi,
The latter applies to QtQuick based applications while the former will also apply to OpenGL widget based applications.
@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.