Issue #2171
openOMAP device: very slow llvmpipe
0%
Related issues
Updated by Denis 'GNUtoo' Carikli over 4 years ago
- Device Galaxy Nexus (I9250), Galaxy Tab 2 10.1 (P51xx), Galaxy Tab 2 7.0 (P31xx) added
- Device deleted (
Unknown)
With llvmpipe we have:
01-01 03:43:45.359 145 145 I SurfaceFlinger: SurfaceFlinger is starting 01-01 03:43:45.359 145 145 I SurfaceFlinger: SurfaceFlinger's main thread ready to run. Initializing graphics H/W... 01-01 03:43:45.359 145 145 D libEGL : UID:1000 EUID:1000 01-01 03:43:45.359 145 145 D libEGL : ro.zygote.disable_gl_preload not set, EGL overrides disabled 01-01 03:43:45.522 145 145 D libEGL : loaded /system/lib/egl/libGLES_mesa.so 01-01 03:43:46.203 145 145 W gralloc : page flipping not supported (yres_virtual=1280, requested=2560) 01-01 03:43:46.203 145 145 I gralloc : using (fd=12) 01-01 03:43:46.203 145 145 I gralloc : id = omapfb 01-01 03:43:46.203 145 145 I gralloc : xres = 720 px 01-01 03:43:46.203 145 145 I gralloc : yres = 1280 px 01-01 03:43:46.203 145 145 I gralloc : xres_virtual = 720 px 01-01 03:43:46.203 145 145 I gralloc : yres_virtual = 1280 px 01-01 03:43:46.203 145 145 I gralloc : bpp = 16 01-01 03:43:46.203 145 145 I gralloc : r = 11:5 01-01 03:43:46.203 145 145 I gralloc : g = 5:6 01-01 03:43:46.203 145 145 I gralloc : b = 0:5 01-01 03:43:46.203 145 145 I gralloc : width = 58 mm (315.310333 dpi) 01-01 03:43:46.203 145 145 I gralloc : height = 102 mm (318.745087 dpi) 01-01 03:43:46.203 145 145 I gralloc : refresh rate = 59.14 Hz 01-01 03:43:46.252 145 145 E ti_hwc : Composer HAL failed to load compatible Graphics HAL 01-01 03:43:46.252 145 145 E SurfaceFlinger: composer device failed to initialize (Invalid argument) 01-01 03:43:46.252 145 145 I SurfaceFlinger: EGL information: 01-01 03:43:46.252 145 145 I SurfaceFlinger: vendor : Android 01-01 03:43:46.252 145 145 I SurfaceFlinger: version : 1.4 Android META-EGL 01-01 03:43:46.252 145 145 I SurfaceFlinger: extensions: EGL_KHR_get_all_proc_addresses EGL_ANDROID_presentation_time EGL_KHR_swap_buffers_with_damage EGL_KHR_image_base EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_reusable_sync EGL_KHR_fence_sync EGL_KHR_create_context EGL_KHR_surfaceless_context EGL_ANDROID_image_native_buffer EGL_KHR_wait_sync EGL_ANDROID_recordable 01-01 03:43:46.252 145 145 I SurfaceFlinger: Client API: OpenGL_ES 01-01 03:43:46.252 145 145 I SurfaceFlinger: EGLSurface: 5-6-5-0, config=0xb57ad740 01-01 03:43:46.290 145 145 I SurfaceFlinger: OpenGL ES informations: 01-01 03:43:46.290 145 145 I SurfaceFlinger: vendor : VMware, Inc. 01-01 03:43:46.290 145 145 I SurfaceFlinger: renderer : Gallium 0.4 on llvmpipe (LLVM 3.7, 128 bits) 01-01 03:43:46.290 145 145 I SurfaceFlinger: version : OpenGL ES 3.0 Mesa 13.0.3 (git-bddbe95616) 01-01 03:43:46.290 145 145 I SurfaceFlinger: extensions: GL_EXT_debug_marker GL_EXT_blend_minmax GL_EXT_multi_draw_arrays GL_EXT_texture_format_BGRA8888 GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth24 GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_mapbuffer GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_stencil8 GL_OES_texture_3D GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_EXT_texture_sRGB_decode GL_OES_EGL_image GL_OES_depth_texture GL_OES_packed_depth_stencil GL_EXT_texture_type_2_10_10_10_REV GL_OES_get_program_binary GL_APPLE_texture_max_level GL_EXT_discard_framebuffer GL_EXT_read_format_bgra GL_NV_fbo_color_attachments GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_vertex_array_object GL_EXT_texture_rg GL_EXT_unpack_subimage GL_NV_draw_buffers GL_NV_read_buffer GL_NV_read_depth GL_NV_read_depth_stencil GL_NV_read_stencil GL_EXT_draw_buffers GL_EXT_map_buffer_range GL_KHR_debug GL_OES_depth_texture_cube_map GL_OES_surfaceless_context GL_EXT 01-01 03:43:46.290 145 145 I SurfaceFlinger: GL_MAX_TEXTURE_SIZE = 8192 01-01 03:43:46.290 145 145 I SurfaceFlinger: GL_MAX_VIEWPORT_DIMS = 8192 01-01 03:43:46.300 145 145 D SurfaceFlinger: Set power mode=2, type=0 flinger=0xb6ae4000 01-01 03:43:46.550 145 145 D SurfaceFlinger: SF. shader cache generated - 26 shaders in 238.555908 ms
Whereas with , we have:
01-01 03:51:25.641 144 144 W gralloc : page flipping not supported (yres_virtual=1280, requested=2560) 01-01 03:51:25.641 144 144 I gralloc : using (fd=12) 01-01 03:51:25.641 144 144 I gralloc : id = omapfb 01-01 03:51:25.641 144 144 I gralloc : xres = 720 px 01-01 03:51:25.641 144 144 I gralloc : yres = 1280 px 01-01 03:51:25.641 144 144 I gralloc : xres_virtual = 720 px 01-01 03:51:25.641 144 144 I gralloc : yres_virtual = 1280 px 01-01 03:51:25.641 144 144 I gralloc : bpp = 16 01-01 03:51:25.641 144 144 I gralloc : r = 11:5 01-01 03:51:25.641 144 144 I gralloc : g = 5:6 01-01 03:51:25.641 144 144 I gralloc : b = 0:5 01-01 03:51:25.641 144 144 I gralloc : width = 58 mm (315.310333 dpi) 01-01 03:51:25.641 144 144 I gralloc : height = 102 mm (318.745087 dpi) 01-01 03:51:25.641 144 144 I gralloc : refresh rate = 59.14 Hz 01-01 03:51:25.742 144 144 E ti_hwc : Composer HAL failed to load compatible Graphics HAL 01-01 03:51:25.742 144 144 E SurfaceFlinger: composer device failed to initialize (Invalid argument) 01-01 03:51:25.742 144 144 W SurfaceFlinger: no suitable EGLConfig found, trying a simpler query 01-01 03:51:25.742 144 144 W SurfaceFlinger: EGL_SLOW_CONFIG selected! 01-01 03:51:25.742 144 144 I SurfaceFlinger: EGL information: 01-01 03:51:25.742 144 144 I SurfaceFlinger: vendor : Android 01-01 03:51:25.742 144 144 I SurfaceFlinger: version : 1.4 Android META-EGL 01-01 03:51:25.742 144 144 I SurfaceFlinger: extensions: EGL_KHR_get_all_proc_addresses EGL_ANDROID_presentation_time EGL_KHR_swap_buffers_with_damage EGL_KHR_image_base EGL_KHR_fence_sync EGL_ANDROID_image_native_buffer 01-01 03:51:25.742 144 144 I SurfaceFlinger: Client API: OpenGL_ES 01-01 03:51:25.742 144 144 I SurfaceFlinger: EGLSurface: 5-6-5-0, config=0x0 01-01 03:51:25.742 144 144 W SurfaceFlinger: no suitable EGLConfig found, trying a simpler query 01-01 03:51:25.742 144 144 W SurfaceFlinger: EGL_SLOW_CONFIG selected! 01-01 03:51:25.742 144 144 I SurfaceFlinger: EGL information: 01-01 03:51:25.742 144 144 I SurfaceFlinger: vendor : Android 01-01 03:51:25.742 144 144 I SurfaceFlinger: version : 1.4 Android META-EGL 01-01 03:51:25.742 144 144 I SurfaceFlinger: extensions: EGL_KHR_get_all_proc_addresses EGL_ANDROID_presentation_time EGL_KHR_swap_buffers_with_damage EGL_KHR_image_base EGL_KHR_fence_sync EGL_ANDROID_image_native_buffer 01-01 03:51:25.742 144 144 I SurfaceFlinger: Client API: OpenGL_ES 01-01 03:51:25.742 144 144 I SurfaceFlinger: EGLSurface: 5-6-5-0, config=0x0 01-01 03:51:25.743 144 144 I SurfaceFlinger: OpenGL ES informations: 01-01 03:51:25.743 144 144 I SurfaceFlinger: vendor : Android 01-01 03:51:25.743 144 144 I SurfaceFlinger: renderer : Android PixelFlinger 1.4 01-01 03:51:25.743 144 144 I SurfaceFlinger: version : OpenGL ES-CM 1.0 01-01 03:51:25.743 144 144 I SurfaceFlinger: extensions: GL_EXT_debug_marker GL_OES_byte_coordinates GL_OES_fixed_point GL_OES_single_precision GL_OES_read_format GL_OES_compressed_paletted_texture GL_OES_draw_texture GL_OES_matrix_get GL_OES_query_matrix GL_OES_EGL_image GL_OES_EGL_sync GL_OES_compressed_ETC1_RGB8_texture GL_ARB_texture_compression GL_ARB_texture_non_power_of_two GL_ANDROID_user_clip_plane GL_ANDROID_vertex_buffer_object GL_ANDROID_generate_mipmap 01-01 03:51:25.743 144 144 I SurfaceFlinger: GL_MAX_TEXTURE_SIZE = 4096 01-01 03:51:25.743 144 144 I SurfaceFlinger: GL_MAX_VIEWPORT_DIMS = 4096 01-01 03:51:25.744 144 144 W SurfaceFlinger: no suitable EGLConfig found, trying a simpler query 01-01 03:51:25.744 144 144 W SurfaceFlinger: EGL_SLOW_CONFIG selected! 01-01 03:51:25.744 144 144 I SurfaceFlinger: EGL information: 01-01 03:51:25.744 144 144 I SurfaceFlinger: vendor : Android 01-01 03:51:25.744 144 144 I SurfaceFlinger: version : 1.4 Android META-EGL 01-01 03:51:25.744 144 144 I SurfaceFlinger: extensions: EGL_KHR_get_all_proc_addresses EGL_ANDROID_presentation_time EGL_KHR_swap_buffers_with_damage EGL_KHR_image_base EGL_KHR_fence_sync EGL_ANDROID_image_native_buffer 01-01 03:51:25.744 144 144 I SurfaceFlinger: Client API: OpenGL_ES 01-01 03:51:25.744 144 144 I SurfaceFlinger: EGLSurface: 5-6-5-0, config=0x0 01-01 03:51:25.749 144 144 D SurfaceFlinger: Set power mode=2, type=0 flinger=0xb6a24000 01-01 03:51:26.507 180 198 D libEGL : UID:1003 EUID:1003 01-01 03:51:26.508 180 198 D libEGL : ro.zygote.disable_gl_preload not set, EGL overrides disabled 01-01 03:51:26.508 180 198 D libEGL : Emulator without GPU support detected. Fallback to software renderer. 01-01 03:51:26.513 180 198 D libEGL : loaded /system/lib/egl/libGLES_android.soHere we can see that:
- libagl has EGL_SLOW_CONFIG enabled, whereas it's not enable in llvmpipe case.
- libagl has detected "Emulator without GPU support" and falls back "to software renderer".
Both really look like crucial performance related configuration that could completely explain the really poor performance with llvmpipe.
Updated by Denis 'GNUtoo' Carikli about 4 years ago
On the GT-I9300 with replicant-6.0-dev from today we have:
01-01 01:04:48.470 1973 1973 I SurfaceFlinger: SurfaceFlinger is starting 01-01 01:04:48.470 1973 1973 I SurfaceFlinger: SurfaceFlinger's main thread ready to run. Initializing graphics H/W... 01-01 01:04:48.470 1973 1973 D libEGL : UID:1000 EUID:1000 01-01 01:04:48.485 1973 1973 D libEGL : override found: /system/etc/libGLES_android//system/bin/surfaceflinger 01-01 01:04:48.520 1973 1973 D libEGL : loaded /system/lib/egl/libGLES_android.so 01-01 01:04:48.595 1973 1973 W gralloc : page flipping not supported (yres_virtual=1280, requested=2560) 01-01 01:04:48.595 1973 1973 I gralloc : using (fd=15) 01-01 01:04:48.595 1973 1973 I gralloc : id = s3cfb 01-01 01:04:48.595 1973 1973 I gralloc : xres = 720 px 01-01 01:04:48.595 1973 1973 I gralloc : yres = 1280 px 01-01 01:04:48.595 1973 1973 I gralloc : xres_virtual = 720 px 01-01 01:04:48.595 1973 1973 I gralloc : yres_virtual = 1280 px 01-01 01:04:48.595 1973 1973 I gralloc : bpp = 16 01-01 01:04:48.595 1973 1973 I gralloc : r = 11:5 01-01 01:04:48.595 1973 1973 I gralloc : g = 5:6 01-01 01:04:48.595 1973 1973 I gralloc : b = 0:5 01-01 01:04:48.595 1973 1973 I gralloc : width = 60 mm (304.799988 dpi) 01-01 01:04:48.595 1973 1973 I gralloc : height = 106 mm (306.716980 dpi) 01-01 01:04:48.595 1973 1973 I gralloc : refresh rate = 60.51 Hz 01-01 01:04:48.610 1973 1973 I SurfaceFlinger: Using composer version 1.0 01-01 01:04:48.610 1973 1973 W SurfaceFlinger: no suitable EGLConfig found, trying a simpler query 01-01 01:04:48.610 1973 1973 W SurfaceFlinger: EGL_SLOW_CONFIG selected! 01-01 01:04:48.610 1973 1973 I SurfaceFlinger: EGL information: 01-01 01:04:48.610 1973 1973 I SurfaceFlinger: vendor : Android 01-01 01:04:48.610 1973 1973 I SurfaceFlinger: version : 1.4 Android META-EGL 01-01 01:04:48.610 1973 1973 I SurfaceFlinger: extensions: EGL_KHR_get_all_proc_addresses EGL_ANDROID_presentation_time EGL_KHR_swap_buffers_with_damage EGL_KHR_image_base EGL_KHR_fence_sync EGL_ANDROID_image_native_buffer 01-01 01:04:48.610 1973 1973 I SurfaceFlinger: Client API: OpenGL_ES 01-01 01:04:48.610 1973 1973 I SurfaceFlinger: EGLSurface: 5-6-5-0, config=0x0 01-01 01:04:48.610 1973 2045 W SurfaceFlinger: Ignoring duplicate VSYNC event from HWC (t=0) 01-01 01:04:48.615 1973 1973 W SurfaceFlinger: no suitable EGLConfig found, trying a simpler query 01-01 01:04:48.615 1973 1973 W SurfaceFlinger: EGL_SLOW_CONFIG selected! 01-01 01:04:48.615 1973 1973 I SurfaceFlinger: EGL information: 01-01 01:04:48.615 1973 1973 I SurfaceFlinger: vendor : Android 01-01 01:04:48.615 1973 1973 I SurfaceFlinger: version : 1.4 Android META-EGL 01-01 01:04:48.615 1973 1973 I SurfaceFlinger: extensions: EGL_KHR_get_all_proc_addresses EGL_ANDROID_presentation_time EGL_KHR_swap_buffers_with_damage EGL_KHR_image_base EGL_KHR_fence_sync EGL_ANDROID_image_native_buffer 01-01 01:04:48.615 1973 1973 I SurfaceFlinger: Client API: OpenGL_ES 01-01 01:04:48.615 1973 1973 I SurfaceFlinger: EGLSurface: 5-6-5-0, config=0x0 01-01 01:04:48.615 1973 1973 I SurfaceFlinger: OpenGL ES informations: 01-01 01:04:48.615 1973 1973 I SurfaceFlinger: vendor : Android 01-01 01:04:48.615 1973 1973 I SurfaceFlinger: renderer : Android PixelFlinger 1.4 01-01 01:04:48.615 1973 1973 I SurfaceFlinger: version : OpenGL ES-CM 1.0 01-01 01:04:48.615 1973 1973 I SurfaceFlinger: extensions: GL_EXT_debug_marker GL_OES_byte_coordinates GL_OES_fixed_point GL_OES_single_precision GL_OES_read_format GL_OES_compressed_paletted_texture GL_OES_draw_texture GL_OES_matrix_get GL_OES_query_matrix GL_OES_EGL_image GL_OES_EGL_sync GL_OES_compressed_ETC1_RGB8_texture GL_ARB_texture_compression GL_ARB_texture_non_power_of_two GL_ANDROID_user_clip_plane GL_ANDROID_vertex_buffer_object GL_ANDROID_generate_mipmap 01-01 01:04:48.615 1973 1973 I SurfaceFlinger: GL_MAX_TEXTURE_SIZE = 4096 01-01 01:04:48.615 1973 1973 I SurfaceFlinger: GL_MAX_VIEWPORT_DIMS = 4096 01-01 01:04:48.615 1973 1973 E cutils-trace: Error opening trace file: No such file or directory (2) 01-01 01:04:48.615 1973 1973 W SurfaceFlinger: no suitable EGLConfig found, trying a simpler query 01-01 01:04:48.615 1973 1973 W SurfaceFlinger: EGL_SLOW_CONFIG selected! 01-01 01:04:48.615 1973 1973 I SurfaceFlinger: EGL information: 01-01 01:04:48.615 1973 1973 I SurfaceFlinger: vendor : Android 01-01 01:04:48.615 1973 1973 I SurfaceFlinger: version : 1.4 Android META-EGL 01-01 01:04:48.615 1973 1973 I SurfaceFlinger: extensions: EGL_KHR_get_all_proc_addresses EGL_ANDROID_presentation_time EGL_KHR_swap_buffers_with_damage EGL_KHR_image_base EGL_KHR_fence_sync EGL_ANDROID_image_native_buffer 01-01 01:04:48.615 1973 1973 I SurfaceFlinger: Client API: OpenGL_ES 01-01 01:04:48.615 1973 1973 I SurfaceFlinger: EGLSurface: 5-6-5-0, config=0x0 01-01 01:04:48.615 1973 1973 D SurfaceFlinger: Set power mode=2, type=0 flinger=0x40147df0 01-01 01:04:48.910 2048 2069 D libEGL : UID:1003 EUID:1003 01-01 01:04:48.915 2048 2069 D libEGL : override found: /system/etc/libGLES_android//system/bin/bootanimation 01-01 01:04:48.925 2048 2069 D libEGL : loaded /system/lib/egl/libGLES_android.so
So we can clearly see EGL_SLOW_CONFIG selected!
.
Updated by Denis 'GNUtoo' Carikli about 4 years ago
device/generic/qemu/init.ranchu.rc has the following:
# Disable GPU support setprop ro.kernel.qemu 1 setprop ro.kernel.qemu.gles 0
I tried it on GT-I9250 with Replicant 6.0 0004 RC3 with the default graphics settings (llvmpipe) with:
adb root adb shell setprop ro.kernel.qemu 1 setprop ro.kernel.qemu.gles 0 killall surfaceflinger
And it made graphics fast again.
The downside of using both properties is that applications like tor-browser don't work while they work on the GT-I9300 with llvmpipe.
Updated by Denis 'GNUtoo' Carikli about 4 years ago
With:
setprop ro.kernel.qemu 1 setprop ro.kernel.qemu.gles 1
the device became super slow again.
Updated by Denis 'GNUtoo' Carikli about 4 years ago
With:
setprop ro.kernel.qemu 1 setprop ro.kernel.qemu.gles 1
We have:
12-04 01:38:59.882 2495 2495 I SurfaceFlinger: SurfaceFlinger is starting 12-04 01:38:59.882 2495 2495 I SurfaceFlinger: SurfaceFlinger's main thread ready to run. Initializing graphics H/W... 12-04 01:38:59.882 2495 2495 D libEGL : UID:1000 EUID:1000 12-04 01:38:59.882 2495 2495 D libEGL : ro.zygote.disable_gl_preload not set, EGL overrides disabled 12-04 01:38:59.891 2495 2495 D libEGL : loaded /system/lib/egl/libGLES_mesa.so 12-04 01:39:00.158 2495 2495 W gralloc : page flipping not supported (yres_virtual=1280, requested=2560) 12-04 01:39:00.158 2495 2495 I gralloc : using (fd=12) 12-04 01:39:00.158 2495 2495 I gralloc : id = omapfb 12-04 01:39:00.158 2495 2495 I gralloc : xres = 720 px 12-04 01:39:00.158 2495 2495 I gralloc : yres = 1280 px 12-04 01:39:00.158 2495 2495 I gralloc : xres_virtual = 720 px 12-04 01:39:00.158 2495 2495 I gralloc : yres_virtual = 1280 px 12-04 01:39:00.158 2495 2495 I gralloc : bpp = 16 12-04 01:39:00.158 2495 2495 I gralloc : r = 11:5 12-04 01:39:00.158 2495 2495 I gralloc : g = 5:6 12-04 01:39:00.158 2495 2495 I gralloc : b = 0:5 12-04 01:39:00.158 2495 2495 I gralloc : width = 58 mm (315.310333 dpi) 12-04 01:39:00.158 2495 2495 I gralloc : height = 102 mm (318.745087 dpi) 12-04 01:39:00.158 2495 2495 I gralloc : refresh rate = 59.14 Hz 12-04 01:39:00.166 2495 2495 E ti_hwc : Composer HAL failed to load compatible Graphics HAL 12-04 01:39:00.166 2495 2495 E SurfaceFlinger: composer device failed to initialize (Invalid argument) 12-04 01:39:00.166 2495 2495 I SurfaceFlinger: EGL information: 12-04 01:39:00.167 2495 2495 I SurfaceFlinger: vendor : Android 12-04 01:39:00.167 2495 2495 I SurfaceFlinger: version : 1.4 Android META-EGL 12-04 01:39:00.167 2495 2495 I SurfaceFlinger: extensions: EGL_KHR_get_all_proc_addresses EGL_ANDROID_presentation_time EGL_KHR_swap_buffers_with_damage EGL_KHR_image_base EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_reusable_sync EGL_KHR_fence_sync EGL_KHR_create_context EGL_KHR_surfaceless_context EGL_ANDROID_image_native_buffer EGL_KHR_wait_sync EGL_ANDROID_recordable 12-04 01:39:00.167 2495 2495 I SurfaceFlinger: Client API: OpenGL_ES 12-04 01:39:00.167 2495 2495 I SurfaceFlinger: EGLSurface: 5-6-5-0, config=0xb572d740 12-04 01:39:00.214 2495 2495 I SurfaceFlinger: OpenGL ES informations: 12-04 01:39:00.214 2495 2495 I SurfaceFlinger: vendor : VMware, Inc. 12-04 01:39:00.214 2495 2495 I SurfaceFlinger: renderer : Gallium 0.4 on llvmpipe (LLVM 3.7, 128 bits) 12-04 01:39:00.214 2495 2495 I SurfaceFlinger: version : OpenGL ES 3.0 Mesa 13.0.3 (git-bddbe95616) 12-04 01:39:00.214 2495 2495 I SurfaceFlinger: extensions: GL_EXT_debug_marker GL_EXT_blend_minmax GL_EXT_multi_draw_arrays GL_EXT_texture_format_BGRA8888 GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth24 GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_mapbuffer GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_stencil8 GL_OES_texture_3D GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_EXT_texture_sRGB_decode GL_OES_EGL_image GL_OES_depth_texture GL_OES_packed_depth_stencil GL_EXT_texture_type_2_10_10_10_REV GL_OES_get_program_binary GL_APPLE_texture_max_level GL_EXT_discard_framebuffer GL_EXT_read_format_bgra GL_NV_fbo_color_attachments GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_vertex_array_object GL_EXT_texture_rg GL_EXT_unpack_subimage GL_NV_draw_buffers GL_NV_read_buffer GL_NV_read_depth GL_NV_read_depth_stencil GL_NV_read_stencil GL_EXT_draw_buffers GL_EXT_map_buffer_range GL_KHR_debug GL_OES_depth_texture_cube_map GL_OES_surfaceless_context GL_EXT 12-04 01:39:00.214 2495 2495 I SurfaceFlinger: GL_MAX_TEXTURE_SIZE = 8192 12-04 01:39:00.214 2495 2495 I SurfaceFlinger: GL_MAX_VIEWPORT_DIMS = 8192 12-04 01:39:00.229 2495 2495 D SurfaceFlinger: Set power mode=2, type=0 flinger=0xb6aa4000 12-04 01:39:00.546 2495 2495 D SurfaceFlinger: SF. shader cache generated - 26 shaders in 307.220459 ms 12-04 01:39:01.651 2498 2498 V MediaUtils: physMem: 1040437248 12-04 01:39:01.651 2498 2498 V MediaUtils: requested limit: 676284180 12-04 01:39:01.651 2498 2498 V MediaUtils: actual limit: 676284180 12-04 01:39:01.651 2498 2498 V MediaUtils: original limits: 4294967295/4294967295 12-04 01:39:01.652 2498 2498 V MediaUtils: new limits: 676284180/4294967295 12-04 01:39:01.765 2498 2498 I mediaserver: ServiceManager: 0xb600e120 12-04 01:39:01.765 2498 2498 I AudioFlinger: Using default 3000 mSec as standby time. 12-04 01:39:01.795 2508 2512 D libEGL : UID:1003 EUID:1003 12-04 01:39:01.795 2508 2512 D libEGL : ro.zygote.disable_gl_preload not set, EGL overrides disabled 12-04 01:39:01.828 2508 2512 D libEGL : loaded /system/lib/egl/libGLES_mesa.so
Updated by Denis 'GNUtoo' Carikli about 4 years ago
With:
[ro.kernel.qemu]: [1] [ro.kernel.qemu.gles]: [0]
12-04 01:52:58.542 146 146 I SurfaceFlinger: SurfaceFlinger is starting 12-04 01:52:58.545 146 146 I SurfaceFlinger: SurfaceFlinger's main thread ready to run. Initializing graphics H/W... 12-04 01:52:58.545 146 146 D libEGL : UID:1000 EUID:1000 12-04 01:52:58.545 146 146 D libEGL : ro.zygote.disable_gl_preload not set, EGL overrides disabled 12-04 01:52:58.603 146 146 D libEGL : loaded /system/lib/egl/libGLES_mesa.so 12-04 01:52:59.360 146 146 W gralloc : page flipping not supported (yres_virtual=1280, requested=2560) 12-04 01:52:59.360 146 146 I gralloc : using (fd=12) 12-04 01:52:59.360 146 146 I gralloc : id = omapfb 12-04 01:52:59.360 146 146 I gralloc : xres = 720 px 12-04 01:52:59.360 146 146 I gralloc : yres = 1280 px 12-04 01:52:59.360 146 146 I gralloc : xres_virtual = 720 px 12-04 01:52:59.360 146 146 I gralloc : yres_virtual = 1280 px 12-04 01:52:59.360 146 146 I gralloc : bpp = 16 12-04 01:52:59.360 146 146 I gralloc : r = 11:5 12-04 01:52:59.360 146 146 I gralloc : g = 5:6 12-04 01:52:59.360 146 146 I gralloc : b = 0:5 12-04 01:52:59.360 146 146 I gralloc : width = 58 mm (315.310333 dpi) 12-04 01:52:59.360 146 146 I gralloc : height = 102 mm (318.745087 dpi) 12-04 01:52:59.360 146 146 I gralloc : refresh rate = 59.14 Hz 12-04 01:52:59.405 146 146 E ti_hwc : Composer HAL failed to load compatible Graphics HAL 12-04 01:52:59.405 146 146 E SurfaceFlinger: composer device failed to initialize (Invalid argument) 12-04 01:52:59.406 146 146 I SurfaceFlinger: EGL information: 12-04 01:52:59.406 146 146 I SurfaceFlinger: vendor : Android 12-04 01:52:59.406 146 146 I SurfaceFlinger: version : 1.4 Android META-EGL 12-04 01:52:59.406 146 146 I SurfaceFlinger: extensions: EGL_KHR_get_all_proc_addresses EGL_ANDROID_presentation_time EGL_KHR_swap_buffers_with_damage EGL_KHR_image_base EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_reusable_sync EGL_KHR_fence_sync EGL_KHR_create_context EGL_KHR_surfaceless_context EGL_ANDROID_image_native_buffer EGL_KHR_wait_sync EGL_ANDROID_recordable 12-04 01:52:59.406 146 146 I SurfaceFlinger: Client API: OpenGL_ES 12-04 01:52:59.406 146 146 I SurfaceFlinger: EGLSurface: 5-6-5-0, config=0xb56ed740 12-04 01:52:59.446 146 146 I SurfaceFlinger: OpenGL ES informations: 12-04 01:52:59.446 146 146 I SurfaceFlinger: vendor : VMware, Inc. 12-04 01:52:59.446 146 146 I SurfaceFlinger: renderer : Gallium 0.4 on llvmpipe (LLVM 3.7, 128 bits) 12-04 01:52:59.446 146 146 I SurfaceFlinger: version : OpenGL ES 3.0 Mesa 13.0.3 (git-bddbe95616) 12-04 01:52:59.446 146 146 I SurfaceFlinger: extensions: GL_EXT_debug_marker GL_EXT_blend_minmax GL_EXT_multi_draw_arrays GL_EXT_texture_format_BGRA8888 GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth24 GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_mapbuffer GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_stencil8 GL_OES_texture_3D GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_EXT_texture_sRGB_decode GL_OES_EGL_image GL_OES_depth_texture GL_OES_packed_depth_stencil GL_EXT_texture_type_2_10_10_10_REV GL_OES_get_program_binary GL_APPLE_texture_max_level GL_EXT_discard_framebuffer GL_EXT_read_format_bgra GL_NV_fbo_color_attachments GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_vertex_array_object GL_EXT_texture_rg GL_EXT_unpack_subimage GL_NV_draw_buffers GL_NV_read_buffer GL_NV_read_depth GL_NV_read_depth_stencil GL_NV_read_stencil GL_EXT_draw_buffers GL_EXT_map_buffer_range GL_KHR_debug GL_OES_depth_texture_cube_map GL_OES_surfaceless_context GL_EXT 12-04 01:52:59.446 146 146 I SurfaceFlinger: GL_MAX_TEXTURE_SIZE = 8192 12-04 01:52:59.446 146 146 I SurfaceFlinger: GL_MAX_VIEWPORT_DIMS = 8192 12-04 01:52:59.462 146 146 D SurfaceFlinger: Set power mode=2, type=0 flinger=0xb6a64000 12-04 01:52:59.687 146 146 D SurfaceFlinger: SF. shader cache generated - 26 shaders in 207.702637 ms
Updated by Denis 'GNUtoo' Carikli about 4 years ago
In frameworks_native, this commit enabled llvmpipe:
108a3f6c4 Enable llvmpipe on the Samsung devices with an OMAP4 SOC
But it did it in a way that is not optimal: With it, the hwc fails to load, and so it falls back on a default implementation.
Trying to force EGL_SLOW_CONFIG with this patch:
diff --git a/services/surfaceflinger/RenderEngine/RenderEngine.cpp b/services/surfaceflinger/RenderEngine/RenderEngine.cpp index ba9403029..d9fd731b5 100644 --- a/services/surfaceflinger/RenderEngine/RenderEngine.cpp +++ b/services/surfaceflinger/RenderEngine/RenderEngine.cpp @@ -374,6 +374,7 @@ static status_t selectEGLConfig(EGLDisplay display, EGLint format, EGLAttributeVector attribs; if (renderableType) { + attribs[EGL_CONFIG_CAVEAT] = EGL_SLOW_CONFIG; attribs[EGL_RENDERABLE_TYPE] = renderableType; attribs[EGL_RECORDABLE_ANDROID] = EGL_TRUE; attribs[EGL_SURFACE_TYPE] = EGL_WINDOW_BIT|EGL_PBUFFER_BIT; @@ -385,6 +386,7 @@ static status_t selectEGLConfig(EGLDisplay display, EGLint format, wantedAttributeValue = format; } else { // if no renderable type specified, fallback to a simplified query + attribs[EGL_CONFIG_CAVEAT] = EGL_SLOW_CONFIG; wantedAttribute = EGL_NATIVE_VISUAL_ID; wantedAttributeValue = format; }
resulted in a black screen at boot.
So the solution is probably to fix the hwc, but since:- It's probably too much work
- We have a workaround that is not worse than before
- People were already used to not being able to run certain applications
It's probably better to use the qemu workarounds for now at leat.
Updated by Denis 'GNUtoo' Carikli about 4 years ago
- Related to Issue #1994: Black screen after installing the Replicant 6.0 0004 RC1 images added
Updated by Denis 'GNUtoo' Carikli almost 4 years ago
- Device Galaxy Nexus (GT-I9250) added