As this 5.8.0 hadn't been released yet, this issue is more a placeholder for upcoming fixes for issues currently in 5.7
Beside update cmd/... and internal/... what else is needed to upgrade to 5.8?
Here are some other known issues in 5.7:
https://wiki.qt.io/Qt_5.7.0_Known_Issues
Beside the necessary changes to get it working with 5.8, there is also the need to update the CI settings, the docs and to keep the binding backwards compatible with 5.7.
updated the binding to 5.8 with https://github.com/therecipe/qt/commit/9cb2c840ece4e948fa143ab9175599ecde35910f
but there are some breaking changes:
great!!!
is OpenGL backend disabled by default?
@bclermont
is OpenGL backend disabled by default?
I think the OpenGL is still the primary backend, and the software backend is just a fallback (since 5.8).
It also seems like the software backend was already available in earlier versions of Qt, as an alternative backend, but not as a fallback.
http://blog.qt.io/blog/2016/08/15/the-qt-quick-graphics-stack-in-qt-5-8/
http://doc.qt.io/qt-5/qtquick-visualcanvas-adaptations.html
You can force the use of the software backend with:
export QMLSCENE_DEVICE=softwarecontext (Qt <= 5.8)
or
export QT_QUICK_BACKEND=software (Qt >= 5.8)
You can force the use of the software backend with:
oh thanks, that was useful for https://github.com/therecipe/qt/issues/222#issuecomment-279349458
I think the OpenGL is still the primary backend, and the software backend is just a fallback (since 5.8)
Is there a way to force a primrary backend in 5.8 ?
I am right that the docker image is still based on 5.7.0?
Is there a way to force a primrary backend in 5.8 ?
from an other bug tracking system:
it seems to work on the free images from microsoft with Qt 5.8 (without 3d acceleration)
but I tested it only with a normal desktop compilation and not with docker + mxe,
because mxe (http://mxe.cc) needs to update their pre-built packages first.
but it seems to be in the making https://github.com/mxe/mxe/pull/1650
Is there a way to force a primrary backend in 5.8 ?
You can probably use this function: http://doc.qt.io/qt-5/qquickwindow.html#setSceneGraphBackend
Or use export QT_QUICK_BACKEND= (yes, it's an empty string) or export QT_QUICK_BACKEND=2 according to http://doc.qt.io/qt-5/qtquick-visualcanvas-adaptations.html#switching-between-the-adaptation-used-by-the-application
I am right that the docker image is still based on 5.7.0?
Partially, the base (linux) and base_android (android) images are on 5.8, because they use the official pre-built Qt libs.
The base_windows (windows 32) and base_windows_64 (windows 64) are on 5.7, because they use mxe's version of Qt.
You can probably use this function: http://doc.qt.io/qt-5/qquickwindow.html#setSceneGraphBackend
Or use export QT_QUICK_BACKEND= (yes, it's an empty string) or
export QT_QUICK_BACKEND=2 according to http://doc.qt.io/qt-5/qtquick-visualcanvas-adaptations.html#switching-between-the-adaptation-used-by-the-application
I kind of tried that, by using this:
diff --git a/internal/examples/qml/application/application.go b/internal/examples/qml/application/application.go
index 152ac48..828868d 100755
--- a/internal/examples/qml/application/application.go
+++ b/internal/examples/qml/application/application.go
@@ -9,6 +9,7 @@ import (
)
func main() {
+ os.Setenv("QMLSCENE_DEVICE", "softwarecontext")
but it didn't worked, it seem the environment variable was evaluated before main() is started. probably when library is loaded.
I tried that on QT 5.7.0.
I hope I can use that trick on QT 5.8
The base_windows (windows 32) and base_windows_64 (windows 64) are on 5.7, because they use mxe's version of Qt.
ah ok! thanks
but it didn't worked, it seem the environment variable was evaluated before main() is started. probably when library is loaded.
yes, it's probably not possible to set the env variable at runtime.
that's maybe why they added the setSceneGraphBackend function in 5.8.
Closed since Qt5.8 already supported. Follow #508 for Qt5.10.
Most helpful comment
updated the binding to 5.8 with https://github.com/therecipe/qt/commit/9cb2c840ece4e948fa143ab9175599ecde35910f
but there are some breaking changes: