"error:glx_surface_glx.cc glxqueryversion failed" with a headless chrome on alpine

March 17, 2017

The fix I found to work is to add what I presume is a hardware-specific driver for mesa, namely:

# apk add mesa-dri-swrast

The driver you need may depent on the hardware – this was in a docker image on a Mac. Try the following to get a sense of what’s available:

/ # apk -U search mesa
[...]
mesa-gl-12.0.6-r0
mesa-dri-swrast-12.0.6-r0
mesa-gles-12.0.6-r0
mesa-dri-ati-12.0.6-r0
mesa-demos-8.3.0-r0
mesa-dev-12.0.6-r0
mesa-dri-intel-12.0.6-r0
mesa-osmesa-12.0.6-r0
mesa-gbm-12.0.6-r0
mesa-egl-12.0.6-r0
mesa-dricore-12.0.6-r0
mesa-libwayland-egl-12.0.6-r0
mesa-dri-vmwgfx-12.0.6-r0
mesa-glapi-12.0.6-r0
mesa-xatracker-12.0.6-r0
mesa-12.0.6-r0
mesa-dri-nouveau-12.0.6-r0

Now only these errors remain, although they don’t actually prevent lighthouse from succefully running:


ERROR:sandbox_linux.cc(343)] InitializeSandbox() called with multiple threads in process gpu-process.
ERROR:browser_gpu_channel_host_factory.cc(125)] Failed to create channel.

Full error was:


Starting chromium, with debugger on port Waiting for 127.0.0.1:9222 ...

401:401:0318/063557.424727 :ERROR:gl_surface_glx.cc(406) glxQueryVersion failed
401:401:0318/063557.424754 :ERROR:gl_initializer_x11.cc(130) GLSurfaceGLX::InitializeOneOff failed.
401:401:0318/063557.426384 :ERROR:gpu_child_thread.cc(327)] Exiting GPU process due to errors during initialization
13:33:0318/063557.430633 :ERROR:browser_gpu_channel_host_factory.cc(113)] Failed to launch GPU process.
13:33:0318/063557.430870 :ERROR:browser_gpu_channel_host_factory.cc(113)] Failed to launch GPU process.
"ERROR:glx_surface_glx.cc glxQueryVersion failed" with a headless chrome on alpine - March 17, 2017 - mw