qtwebengine + webgl does not work on some windows hardware
-
Hello,
We've run into a problem with viewing webgl via qtwebengine. With a small test application in Qt 5.9.1,
QCoreApplication::setAttribute(Qt::AA_UseDesktopOpenGL,true); QApplication app(argc,argv); auto webWidget = new QWebEngineView(); webWidget->settings()->setAttribute(QWebEngineSettings::WebGLEnabled,true); webWidget->setUrl(QUrl("http://webglreport.com/")); webWidget->resize(1000,800); webWidget->show(); return app.exec();
the test page states that webgl is not available, and indeed pages with actual webgl content are not viewable. "× This browser supports WebGL 1, but it is disabled or unavailable."
On a recent laptop with Intel HD P530, webgl sometimes works if --ignore-gpu-blacklist is provided on the command line. On a Surface Pro 3 with Intel HD 5000 graphics (our actual target device), it doesn't work at all. On both computers, viewing the same web page in Chrome browser works fine.
We tried rebuilding qt with the patch described at the end of this thread, but observe the same behavior (except that 'opengl context cannot be shared' messages disappeared).
We've also tried using different opengl versions (desktop, software, and gles) via
QCoreApplication::setAttribute(Qt::AA_UseDesktopOpenGL,true);
No combination of flags seems to work. The issue also does not seem to be fixed in qt 5.10.0 alpha release. Can anybody provide assistance with this issue, or give us guidance as to how to track down what's going wrong?
Thanks in advance.
-
For others who may have this problem: a rebuild of qt with the linked patch did finally work. In our case we also needed to run
configure
with the-opengl dynamic
and-angle
flags, making sure to completely remove all previous build and configuration data.