[Replicant] [native][PATCH] Enable llvmpipe on the Samsung devices with an OMAP4 SOC

Denis 'GNUtoo' Carikli GNUtoo at cyberdimension.org
Sat Jun 6 18:10:42 UTC 2020


This is based on the following observation:
- On a Galaxy SIII (GT-I9300), llvmpipe works and we can
  observe the following in the logs at boot:
  I SurfaceFlinger: Using composer version 1.0
  W SurfaceFlinger: no suitable EGLConfig found, trying a simpler query
  W SurfaceFlinger: EGL_SLOW_CONFIG selected!
- On a Galaxy Nexus (GT-I9250), using llvmpipe result in a
  black screen, and we can observe the following in the logs at boot:
  E SurfaceFlinger: composer device failed to initialize (Invalid argument)
  W SurfaceFlinger: no suitable EGLConfig found, trying a simpler query
  [...]
  I SurfaceFlinger: EGLSurface: 5-6-5-0, config=0xb56ad740
  F SurfaceFlinger: EGLContext creation failed
- EGL_SLOW_CONFIG selected! is not seen in the Galaxy
  Nexus.

This patch is based on reducing the amount of changes
between the Galaxy SIII (GT-I9300) configuration and the
Galaxy Nexus (GT-I9250) up to the minimal changes that
makes the Galaxy Nexus work with llvmpipe.

This was tested on the Galaxy Nexus (GT-I9250), and even if
llvmpipe is very slow, users can still interact enough with
the device to run the script that switches it back to
libagl.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo at cyberdimension.org>
---
 services/surfaceflinger/Android.mk | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/services/surfaceflinger/Android.mk b/services/surfaceflinger/Android.mk
index 25fa503be..bb0699649 100644
--- a/services/surfaceflinger/Android.mk
+++ b/services/surfaceflinger/Android.mk
@@ -46,9 +46,6 @@ endif
 
 LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES
 
-ifeq ($(TARGET_BOARD_PLATFORM),omap4)
-    LOCAL_CFLAGS += -DHAS_CONTEXT_PRIORITY
-endif
 ifeq ($(TARGET_BOARD_PLATFORM),s5pc110)
     LOCAL_CFLAGS += -DHAS_CONTEXT_PRIORITY
 endif
-- 
2.26.2



More information about the Replicant mailing list