From: Andrés Domínguez <[email protected]>

When using LLVMpipe by default, some system binaries are too
slow to make the device usable.

This overrides the OpenGL implementation for the following
binaries:
- bootanimation
- surfaceflinger
- system_server

When loading a binary, the EGL loader will then check if
there is an empty file corresponding to the cmdline in
/system/etc/libGLES_android and use libagl if it exists.

For instance to make SurfaceFlinger use libagl, we first
need to look at /proc/<pid>/cmdline. Here it returns
/system/bin/surfaceflinger. Once we have that, we can then
create the following empty file to make it use libagl:
/system/etc/libGLES_android/system/bin/surfaceflinger

Signed-off-by: Andrés Domínguez <[email protected]>
[email protected]: squashed commits, commit message: added background
Signed-off-by: Denis 'GNUtoo' Carikli <[email protected]>
---
 config/common.mk                                              | 4 ++++
 prebuilt/common/etc/libGLES_android/system/bin/bootanimation  | 0
 prebuilt/common/etc/libGLES_android/system/bin/surfaceflinger | 0
 prebuilt/common/etc/libGLES_android/system_server             | 0
 4 files changed, 4 insertions(+)
 create mode 100644 prebuilt/common/etc/libGLES_android/system/bin/bootanimation
 create mode 100644 
prebuilt/common/etc/libGLES_android/system/bin/surfaceflinger
 create mode 100644 prebuilt/common/etc/libGLES_android/system_server

diff --git a/config/common.mk b/config/common.mk
index 09e63090..5731df08 100644
--- a/config/common.mk
+++ b/config/common.mk
@@ -90,6 +90,10 @@ PRODUCT_COPY_FILES += \
 PRODUCT_COPY_FILES += \
     
vendor/replicant/prebuilt/common/etc/firmware/htc_9271.fw:system/etc/firmware/htc_9271.fw
 
+# Copy default EGL overrides
+PRODUCT_COPY_FILES += \
+    $(call 
find-copy-subdir-files,*,vendor/replicant/prebuilt/common/etc/libGLES_android,system/etc/libGLES_android)
+
 # Include CM audio files
 include vendor/replicant/config/cm_audio.mk
 
diff --git a/prebuilt/common/etc/libGLES_android/system/bin/bootanimation 
b/prebuilt/common/etc/libGLES_android/system/bin/bootanimation
new file mode 100644
index 00000000..e69de29b
diff --git a/prebuilt/common/etc/libGLES_android/system/bin/surfaceflinger 
b/prebuilt/common/etc/libGLES_android/system/bin/surfaceflinger
new file mode 100644
index 00000000..e69de29b
diff --git a/prebuilt/common/etc/libGLES_android/system_server 
b/prebuilt/common/etc/libGLES_android/system_server
new file mode 100644
index 00000000..e69de29b
-- 
2.24.1

_______________________________________________
Replicant mailing list
[email protected]
https://lists.osuosl.org/mailman/listinfo/replicant

Reply via email to