I'm trying to use an app compiled with Chromium Embedded Framework (using the pre-built ARM binaries hosted by Spotify; I don't want to rebuild it myself). I'm having trouble getting hardware acceleration to work with it though, although basic browsing seems to work ok.
I'm starting with the Raspbian Buster Lite image and adding packages as needed, so it's entirely possible that I'm missing some necessary ones.
I have enabled the FKMS setting in the config and I'm testing on Pi3.
First off, if I just deploy everything as is, then chrome://gpu reports software rendering only when I don't deploy the libEGL.so and libGLESv2.so files provided with CEF. There's no errors logged, it just seems to not even try.
When I do deploy those files as well, then I get these errors in the log (and it still goes to software rendering):
[1201/124651.129612:ERROR:gl_surface_egl.cc(693)] No suitable EGL configs found. [1201/124651.159259:ERROR:gl_surface_egl.cc(741)] EGL Driver message (Error) eglGetConfigAttrib: Bad config. [1201/124651.159630:ERROR:gl_context_egl.cc(85)] eglGetConfigAttrib failed with error EGL_BAD_CONFIG [1201/124651.362665:ERROR:gl_surface_egl.cc(693)] No suitable EGL configs found. [1201/124651.363148:ERROR:gl_surface_egl.cc(741)] EGL Driver message (Error) eglCreatePbufferSurface: Bad config. [1201/124651.363344:ERROR:gl_surface_egl.cc(2001)] eglCreatePbufferSurface failed with error EGL_BAD_CONFIG [1201/124651.363527:ERROR:gpu_info_collector.cc(63)] gl::GLContext::CreateOffscreenGLSurface failed [1201/124651.363685:ERROR:gpu_info_collector.cc(267)] Could not create surface for info collection. [1201/124651.363854:ERROR:gpu_init.cc(72)] CollectGraphicsInfo failed. [1201/124651.527450:ERROR:viz_main_impl.cc(150)] Exiting GPU process due to errors during initialization If I install libgles2 and also pass --use-gl=egl --disable-gpu-blacklist on the command line (as I've seen recommended elsewhere) then it reports hardware acceleration is enabled but the display is... completely garbage (bad font sizes and colours).
If I remove libgles2 again, keep the same parameters, but also create symbolic links from local libEGL.so.1 and libGLESv2.so.2 to the /opt/vc/lib/libbrcm*.so files, then the GPU process crashes and it goes back to software rendering.
Is there some incantation that I'm missing?