终止信息:"找不到OpenGL ES实现"。

3

我正在尝试在我的设备上运行棒棒糖系统,但是当我刷入镜像后,出现了以下日志:

--------- beginning of crash
F/libc    ( 1565): Fatal signal 6 (SIGABRT), code -6 in tid 1565 (surfaceflinger)
I/DEBUG   ( 1572): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG   ( 1572): Build fingerprint:     'Android/full_arndale/arndale:5.0.2/LRX22G/veera05211114:eng/test-keys'
I/DEBUG   ( 1572): Revision: '0'
I/DEBUG   ( 1572): ABI: 'arm'
I/DEBUG   ( 1572): pid: 1565, tid: 1565, name: surfaceflinger  >>>     /system/bin/surfaceflinger <<<
I/DEBUG   ( 1572): signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
I/DEBUG   ( 1572): Abort message: 'couldn't find an OpenGL ES implementation'
I/DEBUG   ( 1572):     r0 00000000  r1 0000061d  r2 00000006  r3 00000000
I/DEBUG   ( 1572):     r4 b6f34114  r5 00000006  r6 00000002  r7 0000010c
I/DEBUG   ( 1572):     r8 b6962000  r9 00000000  sl 00000000  fp beebfa9c
I/DEBUG   ( 1572):     ip 0000061d  sp beebf510  lr b6ebdf21  pc b6ee1858  cpsr 60070010
I/DEBUG   ( 1572): 
I/DEBUG   ( 1572): backtrace:
I/DEBUG   ( 1572):     #00 pc 0003a858  /system/lib/libc.so (tgkill+12)
I/DEBUG   ( 1572):     #01 pc 00016f1d  /system/lib/libc.so (pthread_kill+52)
I/DEBUG   ( 1572):     #02 pc 00017b2f  /system/lib/libc.so (raise+10)
I/DEBUG   ( 1572):     #03 pc 0001439d  /system/lib/libc.so (__libc_android_abort+36)
I/DEBUG   ( 1572):     #04 pc 00012a3c  /system/lib/libc.so (abort+4)
I/DEBUG   ( 1572):     #05 pc 00007a59  /system/lib/libcutils.so (__android_log_assert+88)
I/DEBUG   ( 1572):     #06 pc 000430b9  /system/lib/libEGL.so
I/DEBUG   ( 1572):     #07 pc 00010641  /system/lib/libEGL.so
I/DEBUG   ( 1572):     #08 pc 00010e21  /system/lib/libEGL.so (eglGetDisplay+24)
I/DEBUG   ( 1572):     #09 pc 000171d5  /system/lib/libsurfaceflinger.so (android::SurfaceFlinger::init()+44)
I/DEBUG   ( 1572):     #10 pc 000007e1  /system/bin/surfaceflinger
I/DEBUG   ( 1572):     #11 pc 000128ed  /system/lib/libc.so (__libc_init+44)
I/DEBUG   ( 1572):     #12 pc 000008d8  /system/bin/surfaceflinger
I/mediaserver( 1574): ServiceManager: 0xb60500c0
I/AudioFlinger( 1574): Using default 3000 mSec as standby time.
I/ServiceManager( 1574): Waiting for service batterystats...
I/DEBUG   ( 1572): 
I/DEBUG   ( 1572): Tombstone written to: /data/tombstones/tombstone_00
 I/ServiceManager( 1563): service 'media.audio_flinger' died

我不知道openGL出了什么问题? 当我尝试lollipop时,Kitkat在我的设备上运行良好,但出现了这个问题。


嗨!我在构建AOSP时遇到了同样的问题。你可以分享一下你的解决方案吗?谢谢! - GensaGames
嘿,只是确认您的AOSP支持GPU。 在我的情况下,我的板子没有支持,即我正在使用arndale板。我没有mali库的支持,因为他们停止了支持。 - optimus prime
你所说的“确认你是否有GPU支持”,是什么意思?构建时有特殊选项吗?我正在Nexus 10上构建,所以不是板子。 - GensaGames
我的意思是,Nexus使用的GPU是否具有图形库?否则,您需要实现软件渲染,即绕过硬件GPU。 - optimus prime
4个回答

4

这是因为在/system/lib/egl或/vendor/lib/egl中都找不到任何OpenGL ES库。


1
你好!怎么修复它?在哪里获取正确的源代码以进行添加? - GensaGames

1
看起来你没有包含必需的专有库。
请按照此链接 的说明下载特定库。然后,将二进制文件放在AOSP源代码项目的根目录中,并执行。
make clobber && make -j4

那么你就可以开始了。

1

1)下载对应的硬件驱动程序,特别是提供EGL实现的GPU的驱动程序,例如libGLESv2_andreno.so、libGLESv2.so...,并将二进制文件提取到您的AOSP目录中。

参考链接:https://developers.google.com/android/nexus/drivers

2)重新构建Android系统映像

make -j8

3)擦除数据并将映像烧录到设备上

fastboot -w

fastboot flashall


1

补充colordancer的回答,这里是报告致命错误的

https://android.googlesource.com/platform/frameworks/native/+/android-7.0.0_r1/opengl/libs/EGL/Loader.cpp#229

这是因为它在/vendor或/system分区中找不到EGL ES库。

目前,

libEGL.so
libGLESv2.so
libGLESv1_CM.so

这些是适用于Android的EGL ES库。

解决方案:只需从原始rom中找到文件并将其放入ROM中,然后检查是否可以继续。如果可以,您可以将其添加到供应商预构建内容中。如果不能,则可能存在其他问题。

注意事项:目前在我的OnePlus 2上,运行我的halogenOS版本,具有以下内容:

/vendor

root@:/vendor # busybox find . | grep egl                                  
./lib/egl
./lib/egl/eglSubDriverAndroid.so
./lib/egl/libEGL_adreno.so
./lib/egl/libGLESv1_CM_adreno.so
./lib/egl/libGLESv2_adreno.so
./lib/egl/libQTapGLES.so
./lib/egl/libq3dtools_adreno.so
./lib/egl/libq3dtools_esx.so
./lib64/egl
./lib64/egl/eglSubDriverAndroid.so
./lib64/egl/libEGL_adreno.so
./lib64/egl/libGLESv1_CM_adreno.so
./lib64/egl/libGLESv2_adreno.so
./lib64/egl/libQTapGLES.so
./lib64/egl/libq3dtools_adreno.so
./lib64/egl/libq3dtools_esx.so

而且,在 /system 中。
root@:/system # find . | grep egl
./app/Gallery2/lib/arm64/libjni_eglfence.so
./lib64/libjni_eglfence.so
./vendor/lib/egl
./vendor/lib/egl/eglSubDriverAndroid.so
./vendor/lib/egl/libEGL_adreno.so
./vendor/lib/egl/libGLESv1_CM_adreno.so
./vendor/lib/egl/libGLESv2_adreno.so
./vendor/lib/egl/libQTapGLES.so
./vendor/lib/egl/libq3dtools_adreno.so
./vendor/lib/egl/libq3dtools_esx.so
./vendor/lib64/egl
./vendor/lib64/egl/eglSubDriverAndroid.so
./vendor/lib64/egl/libEGL_adreno.so
./vendor/lib64/egl/libGLESv1_CM_adreno.so
./vendor/lib64/egl/libGLESv2_adreno.so
./vendor/lib64/egl/libQTapGLES.so
./vendor/lib64/egl/libq3dtools_adreno.so
./vendor/lib64/egl/libq3dtools_esx.so

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接