Am Dienstag, 31. Oktober 2017, 16:40:51 schrieb Luca Beltrame:
Il giorno Tue, 31 Oct 2017 16:34:18 +0100
Wolfgang Bauer
ha scritto: The patch seems to be incomplete (and therefore ineffictive) meanwhile though AFAICS, is this on purpose?
I think not, but I don't have NVIDIA hardware so I cannot even test it.
To be more precise, it is missing the part that actually disables OpenGL on nouveau in the current Tumbleweed packages (and in KDE:Qt5). I.e. this part from Leap is not there in TW/KDE:Qt5: @@ -263,8 +295,21 @@ WebEngineContext::WebEngineContext() GLContextHelper::initialize(); + bool disableGpu = qEnvironmentVariableIsSet("QT_WEBENGINE_DISABLE_GPU"); + + if (!qEnvironmentVariableIsSet("QT_WEBENGINE_DISABLE_NOUVEAU_WORKAROUND") && openGLVendor() == QStringLiteral("nouveau")) + { + qWarning() << "Nouveau openGL driver detected. Qt WebEngine will disable usage of the GPU.\n" + "Please consider using the propietary NVIDIA drivers.\n\n" + "Alternatively, you can set the QT_WEBENGINE_DISABLE_NOUVEAU_WORKAROUND\n" + "environment variable before running this application, but this is \n" + "not recommended since this usually causes applications to crash as\n" + "Nouveau openGL drivers don't support multithreaded rendering"; + disableGpu = true; + } + const char *glType = 0; - if (!usingANGLE() && !usingSoftwareDynamicGL() && !usingQtQuick2DRenderer()) { + if (!usingANGLE() && !usingSoftwareDynamicGL() && !usingQtQuick2DRenderer() && !disableGpu) { if (qt_gl_global_share_context()) { if (!strcmp(qt_gl_global_share_context()->nativeHandle().typeName(), "QEGLNativeContext")) { if (qt_gl_global_share_context()->isOpenGLES()) { IOW, it's a no-op currently and doesn't actually do anything. Apparently it would still be needed though... Kind Regards, Wolfgang -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org