Skip to content

Draft: ci/android: properly install mesa in android img

Cuttlefish delivers a builtin EGL_mesa implementation. Android looks first for a bundled EGL/GLES library than it looks for the splitted libraries in case the bundle was not found.

Since we didn't remove the bundle, the Mesa being tested was not the Mesa we were building, but the one delivered in the image instead.

From Android Loader.cpp comment:

EGL userspace drivers must be provided either:

- as a single library: /vendor/${LIB}/egl/libGLES.so
- as separate libraries: /vendor/${LIB}/egl/libEGL.so /vendor/${LIB}/egl/libGLESv1_CM.so /vendor/${LIB}/egl/libGLESv2.so

For backward compatibility and to facilitate the transition to this new naming scheme, the loader will additionally look for:

   /vendor/${LIB}/egl/lib{GLES | [EGL|GLESv1_CM|GLESv2]}_${SUFFIX}.so 

Properly remove the bundle library and install the ones we compiled in the pipeline.


After doing this change, deqp is executing surface tests, which should be fixed by setting EGL_PLATFORM=surfaceless, but for some reason this doesn't seem to be working.

fyi: surface tests are wip, but we are having issues initializing the display.

Edited by Helen Mae Koike Fornazier

Merge request reports