[Replicant] [PATCH 0/7] Per process libagl/llvmpipe

Andrés Domínguez andresdju at gmail.com
Thu Aug 15 19:04:26 UTC 2019

Selection of libagl or llvmpipe at EGL link time. It's based
on the work of Jookia and JeremyRand, but it uses files for
configuration instead of properties or symlinks.

First it looks for files with the names libGLES_mesa and
libGLES_android (in this order) inside
/data/data/<app directory>/, it links to the first it finds.
Then it looks for a file with process name inside
/system/etc/libGLES_mesa/ and /system/etc/libGLES_android/
(again in this order). This is useful for processes that
don't have app folder in the data partition, like
surfaceflinger, system-server or bootanimation.
Surfaceflinger should definitely use libagl, because it's
extremely slow with llvmpipe.

The solution is not elegant but it's simple and I don't
except this to be used in Replicant 9 or latter.

Andrés Domínguez

Andrés Domínguez (2):
  Change symlinks to files and static paths
  Allow overrides of zygote's libGLES preload. Default to mesa

JeremyRand (5):
  EGL Loader patch to use both LLVMpipe and libagl at once
  EGL renderer override: use symlinks instead of properties to specify
  Fix some type fails in EGL renderer override
  Fix documentation typo in EGL renderer override
  Fix checking of access() return value in EGL renderer override

 opengl/libs/EGL/Loader.cpp | 140 ++++++++++++++++++++++++++++++-------
 1 file changed, 114 insertions(+), 26 deletions(-)


More information about the Replicant mailing list