It turns out that there's a software solution. Something called Swiftshader that Google has open sourced. It's how snap chromium is showing those graphs. Here's the chromium blog talking about SwiftShader.
https://blog.chromium.org/2016/06/unive ... hader.html
In snap chromium when you look at chrome://gpu when you look under Driver Information and then GL_RENDERER it says Google SwiftShader. And under Graphics Feature Status it says
Code: Select all
WebGL: Software only, hardware acceleration unavailable
WebGL2: Software only, hardware acceleration unavailable
Whereas in Debian chromium it says Disabled (both with hardware acceleration disabled)
Here's a Debian maintainer talking about Swiftshader. He's advocating for including it with chromium-browser.
SwiftShader is a high-performance CPU-based implementation of the
OpenGL ES and Direct3D 9 graphics APIs. Its goal is to provide
hardware independence for advanced 3D graphics.
On GNU/Linux platforms, it will only provide an OpenGL ES
implementation and not Direct3D 9.
It is concretely useful for running OpenGL-based on systems with
decent CPU but without dedicated graphics hardware. For example,
running anbox with the --software-rendering argument.
Note that there is already a copy of SwiftShader in debian, in the
chromium-browser sources at third_party/swiftshader. (another copy
exists in qtwebengin-opensource-src, embedded itself in an embedded
copy of chromium.
https://bugs.debian.org/cgi-bin/bugrepo ... bug=909156
I don't know if it's possible to use these swiftshader sources in Debian that he mentions.
Google has a way to compile swiftshader libraries at the following site.
https://swiftshader.googlesource.com/SwiftShader
I gave this a shot but one of the files (vk-unittests) seems to be missing. You git clone the folder SwiftShader.
Code: Select all
git clone https://swiftshader.googlesource.com/SwiftShader
Then follow the instructions
Code: Select all
cd build
cmake ..
make --jobs=8
./vk-unittests
"build" seems to have to be SwiftShader/build but there is no vk-unittests (once you run make --jobs=8). There's a vk-unittests.dir folder embeded deep in the folder system but that's it.
Then you have to tell chromium where to find the libraries.
On Linux, the LD_LIBRARY_PATH environment variable or -rpath linker option can be used to direct applications to search for shared libraries in the indicated directory first.
It's worth pointing out that if you download the .deb package for Chrome and extract its contents that the directory opt/google/chrome contains the directory swiftshader which itself contains the files libEGL.so and libGLESv2.so. I thought that maybe you could copy that directory swiftshader to /usr/lib/chromium like you do with WidevineCdm but it didn't work.