The ultimate consequence of this bug is that EPoxy thinks that the current context is OpenGL, although it is GLES2. It reports this up to GTK/GDK which then abandones GLES2 rendering (because it thinks OpenGL is being used). EPoxy tests whether the current context is OpenGL by epoxy_egl_get_current_gl_context_api( ) in two steps, by first binding the API which is being tested for: eglBindAPI( EGL_OPENGL_API ); and subsequently testing for a context if( eglGetCurrentContext( ) ) ... I don't know whether this is actually a proper way of testing this (or why this is required by further up in the first place), but I can definitely say I do NOT have OpenGL (simply because of the lack of X11 libraries and I built Mesa only with GLES2) but that call, after the OPENGL_API was bound, returns a context. Which in turn makes Epoxy think that the context is OpenGL.
Mesa is right, epoxy is wrong: https://github.com/anholt/libepoxy/pull/90
Related bug on the real libepoxy bugtracker: https://github.com/anholt/libepoxy/issues/25
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.