Wednesday, April 13, 2022

[SOLVED] Chromium headless page unresponsive but works on firefox

Issue

I have a problem with Chromium running headless on Raspberry Pi model 4B with Ubuntu 20. For showing the browser, I am using the official Raspberry Pi touchscreen.

The problem is that the locally hosted page doesn't load and it says "Page unresponsive". But, if I press the "Exit page" button and then "Reload" button, it starts to work correctly.

I am using the following command to start Chromium: xinit /usr/bin/sh -c "chromium-browser --kiosk 127.0.0.1:5000". If I run the same command, but use firefox instead of chromium-browser, the page works. I don't want to use Firefox, because it has some other problems in headless mode. This is why I am concluding, that the problem is not with the webpage, but with chromium.

I tried hosting the webpage with both npm run serve and python3 -m http.server 5000 but always got the same problem.

I don't know if that matters, but I get the following error message when running the chromium-browser with the above mentioned command:

[18281:18281:1203/112557.242527:ERROR:angle_platform_impl.cc(44)] Display.cpp:894 (initialize): ANGLE Display::initialize error 12289: Could not dlopen libGL.so.1: libGL.so.1: cannot open shared object file: No such file or directory
[18281:18281:1203/112557.243222:ERROR:gl_surface_egl.cc(782)] EGL Driver message (Critical) eglInitialize: Could not dlopen libGL.so.1: libGL.so.1: cannot open shared object file: No such file or directory
[18281:18281:1203/112557.243611:ERROR:gl_surface_egl.cc(1382)] eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type
[18281:18281:1203/112557.244683:ERROR:angle_platform_impl.cc(44)] Display.cpp:894 (initialize): ANGLE Display::initialize error 12289: Could not dlopen libGL.so.1: libGL.so.1: cannot open shared object file: No such file or directory
[18281:18281:1203/112557.244958:ERROR:gl_surface_egl.cc(782)] EGL Driver message (Critical) eglInitialize: Could not dlopen libGL.so.1: libGL.so.1: cannot open shared object file: No such file or directory
[18281:18281:1203/112557.245153:ERROR:gl_surface_egl.cc(1382)] eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED
[18281:18281:1203/112557.245355:ERROR:gl_ozone_egl.cc(20)] GLSurfaceEGL::InitializeOneOff failed.
[18281:18281:1203/112557.312801:ERROR:viz_main_impl.cc(161)] Exiting GPU process due to errors during initialization
[18324:18324:1203/112557.722696:ERROR:angle_platform_impl.cc(44)] Display.cpp:894 (initialize): ANGLE Display::initialize error 12289: Could not dlopen libGL.so.1: libGL.so.1: cannot open shared object file: No such file or directory
[18324:18324:1203/112557.724405:ERROR:gl_surface_egl.cc(782)] EGL Driver message (Critical) eglInitialize: Could not dlopen libGL.so.1: libGL.so.1: cannot open shared object file: No such file or directory
[18324:18324:1203/112557.725290:ERROR:gl_surface_egl.cc(1382)] eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type
[18324:18324:1203/112557.727887:ERROR:angle_platform_impl.cc(44)] Display.cpp:894 (initialize): ANGLE Display::initialize error 12289: Could not dlopen libGL.so.1: libGL.so.1: cannot open shared object file: No such file or directory
[18324:18324:1203/112557.728730:ERROR:gl_surface_egl.cc(782)] EGL Driver message (Critical) eglInitialize: Could not dlopen libGL.so.1: libGL.so.1: cannot open shared object file: No such file or directory
[18324:18324:1203/112557.729189:ERROR:gl_surface_egl.cc(1382)] eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED
[18324:18324:1203/112557.729615:ERROR:gl_ozone_egl.cc(20)] GLSurfaceEGL::InitializeOneOff failed.
[18324:18324:1203/112557.794755:ERROR:viz_main_impl.cc(161)] Exiting GPU process due to errors during initialization
[18345:18345:1203/112557.868079:ERROR:angle_platform_impl.cc(44)] Display.cpp:894 (initialize): ANGLE Display::initialize error 0: Internal Vulkan error (-3): Initialization of an object could not be completed for implementation-specific reasons, in ../../third_party/angle/src/libANGLE/renderer/vulkan/RendererVk.cpp, initialize:1048.
[18345:18345:1203/112557.868777:ERROR:gl_surface_egl.cc(782)] EGL Driver message (Critical) eglInitialize: Internal Vulkan error (-3): Initialization of an object could not be completed for implementation-specific reasons, in ../../third_party/angle/src/libANGLE/renderer/vulkan/RendererVk.cpp, initialize:1048.
[18345:18345:1203/112557.869337:ERROR:gl_surface_egl.cc(1382)] eglInitialize SwANGLE failed with error EGL_NOT_INITIALIZED
[18345:18345:1203/112557.869934:ERROR:gl_ozone_egl.cc(20)] GLSurfaceEGL::InitializeOneOff failed.
[18345:18345:1203/112557.928770:ERROR:viz_main_impl.cc(161)] Exiting GPU process due to errors during initialization
[18353:18353:1203/112557.961644:ERROR:gpu_init.cc(457)] Passthrough is not supported, GL is disabled, ANGLE is
[18072:18265:1203/112602.637067:ERROR:chrome_browser_main_extra_parts_metrics.cc(226)] crbug.com/1216328: Checking Bluetooth availability started. Please report if there is no report that this ends.
[18072:18265:1203/112602.637684:ERROR:chrome_browser_main_extra_parts_metrics.cc(229)] crbug.com/1216328: Checking Bluetooth availability ended.
[18072:18265:1203/112602.637924:ERROR:chrome_browser_main_extra_parts_metrics.cc(232)] crbug.com/1216328: Checking default browser status started. Please report if there is no report that this ends.
[18072:18265:1203/112602.833205:ERROR:chrome_browser_main_extra_parts_metrics.cc(236)] crbug.com/1216328: Checking default browser status ended.

Also, if I run some other webpage, for example google.com with this command, I get the same error message, but the webpage shows up without problems.

The webpage is written in Vue.js


Solution

I have fixed the problem by disabling hardware acceleration. I have done that because I have found a similar problem here: https://unix.stackexchange.com/questions/344138/chromium-google-maps-issue

I have done that by adding the --disable-gpu flag to the command.



Answered By - mbostic
Answer Checked By - Cary Denson (WPSolving Admin)