Webgl 2.0 unsupported in chrome - webgl2

My chrome shows Webgl 2.0 - supported, but disabled in browser settings, or blocked by extensions.
I have tried
1. Use hardware acceleration in chrome://settings
2. Enabled WEBGL 2.0 in chrome://flags
3. Override software render list ..
What other option are out there to enable webgl 2.0 from browser settings?
Any help is much appreciated

It seems current ANGLE (which is OpenGL emulation using DirectX driver) does not support WebGL2 unless running on DirectX 11. You need to select a different back-end.
Open chrome://flags/ and search for "Angle". You should see an option called Choose ANGLE graphics backend
If the value you see is DirectX 9, choose OpenGL or DirectX 11 instead.
You can confirm that everything works fine by going to WebGLReport, which will also show you which driver is used and what capabilities or OpenGL extensions can be used.
Beware: depending on your graphics card and drivers you have installed it is possible Chrome will switch to a software rasterizer. In WebGLReport you will see "Major Performance Caveat: Yes" in such case and following info about the renderer:
Renderer: WebKit WebGL
Unmasked Vendor: Google Inc.
Unmasked Renderer: Google SwiftShader
You can also find some information about how Chrome is using your graphics card by opening the chrome://gpu/ page.
There was one more step I had to do to make WebGL 2 / Direct3D 11 working correctly on my computer (I am using a few years old nVidia GeForce GT 545): I had to uninstall nVidia Nsight, as it was interfering in some way with the drivers. I have seen a similar thing reported by other people nVidia forums: Failed to initialize D3D11 device ...:
Installed the nvidia drivers (without uninstalling or cleaning first) with all the extra software that comes with the driver, as "checked". Didn't reboot after installation.
Uninstalled all the extra nvidia software (3D vision, Update, HD audio etc) from Control Panel\Programs and Features. Left only the driver and PhysX.
Reboot.

Try starting Chrome with the command line flag --use-angle=gl.
It tells the ANGLE renderer to use the OpenGL backend, which may expose more features of your card than the default Direct3D9 backend. This solved the same issue for my GeForce GTX 560 Ti.

Related

QT installation - OpenGL (No ANGLE)

I have installed the last version of QT but it seems that this one contains some DirectX calls, so I expect that the default installer use ANGLE !
I wish to install a 100% openGL version, but I can't find one !
Any idea ?
Thx
All official binary packages are configured with
-opengl dynamic
which means that programs can either use the installed (desktop) OpenGL driver, DirectX (via ANGLE), or an OpenGL emulation in software (Mesa) as OpenGL backends. If you always want to use Desktop OpenGL, you can force this by
Setting the environment variable QT_OPENGL to desktop
Calling QCoreApplication::setAttribute(Qt::AA_UseDesktopOpenGL)
See also http://doc.qt.io/qt-5/windows-requirements.html#graphics-drivers .
If you want a Qt version that only supports the Desktop OpenGL backend, you have to build Qt from sources.

Qt + VTK +Ubuntu on VirtualBox

I need to run a Qt project with VTK on Ubuntu and I'm using VirtualBox, but I have an error:
GL version 2.1 with the gpu_shader4 extension is not supported by your
graphics driver but is required for the new OpenGL rendering backend.
Please update your OpenGL driver. If you are using Mesa please make
sure you have version 10.6.5 or later and make sure your driver in
Mesa supports OpenGL 3.2.
Recent version of VTK use a new rendering backend by default. In the CMake cache file used to configure your build, the corresponding cmake variable VTK_RENDERING_BACKEND has the value "OpenGL2" which assumes a minimum OpenGL API version of 2.1. But the problem is that a vanilla installation of VirtualBox does not grant access to 3D acceleration by default as it cannot presumably infer these informations from the host system.
So I think that you have several options here depending on your needs and constraints, you could install the VirtualBox Guest Additions to enable hardware 3D acceleration, allow access to a newer version of the OpenGL API and use in the end the host to performs the requested 3D operations. You could also use a recent version of the Mesa3D library to performs the needed 3D operations on the CPU (to choose preferably if you don't have graphics hardware on the host). For a presentation of its features, you can take a look here

Memory Usage of Qt Application on mobile device

I was testing with simple qt quick application on android & ios device. For android,memory usage is 31 MB where as for IOS it jumps to 41 MB.
Installing through ministro requires active internet connection.Upon deploying,I see a lot of Qt libraries getting added,can't we remove it?
Installed Qt libraries should only the ones used by your project. See your .pro file and remove unused Qt dependencies (QT flag).
For the size difference, I'm pretty sure deploying on windows will require a different memory usage. It's hard to say why one uses more memory. Every platform and compiler have there specificities and will end up with different binary sizes. There could be some compiler options to optimize by size, but speed peformance will be shown down.

Enabling mp4/mpeg4/avc support for Qt5 WebEngine on Linux

i installed Qt 5.4.1 x64 on LUbuntu and created an app which uses the new QtWebEngine.
I`m trying to display a html5 page with that component which is using the tag.
All works fine except if I try to playback a mp4 video. The video area remains black. It works if I use other video types like webm/ogg as source.
I know this is due to license restrictions, so that mp4 is deactivated by default in Ubuntu/Linux for Qt.
What is needed in Qt to activate it to allow mp4 playback and on what do I have pay attention in case of license terms (I read that statically linking the library is allowed?) ?
I`ve already tried to copy over the x64 distribution of libffmpegsuo.so which is included in Chrome (2,2Mb) over to the Qt directory to /plugins/webengine/ and replaced that one that was already there (1,1 Mb) but it had no effect.
In Chrome playback works fine btw.
If you need more details like paths etc. please tell me.
Thanks !
You can explicitly enable proprietary codecs (H264, MP3) when compiling Qt WebEngine:
In /path-to-qt-src-dir/qtwebengine execute:
qmake WEBENGINE_CONFIG+=use_proprietary_codecs
You should be able to see in the output that H264 codec is enabled, which is not the default configuration.

Application fails with "Compiling Vertex shader failed"

I'm using Qt 5.2.1 and have compiled it for OpenGL (using build-option "-opengl desktop"). Now when I try to use a component that should make use of OpenGL, it fails with a
qFatal("Compiling Vertex shader failed")
All other Qt-applications that do not use OGL still work fine. The test-application mentioned above is just a ready-to use demo, no self-written crap.
Any idea what the reason could be or what I could check to find out what's wrong?
Thanks!
Windows only supports DirectX and OpenGl 1.1 by default. You'll get this error, among others, if you don't have proper OpenGL drivers installed.
Try installing drivers from your graphics card's vendor web site (not the ones installed by Windows automatically), which should include a proper opengl32.dll.
Using Qt with ANGLE would also solve it, if this is your problem.

Resources