各位好,最近在做ICS4.0.3在三星 S5PV210上的移植,现在遇到一个问题,系统启动的时候显卡不能加载,log信息如下:
dmesg:
PVR_K:(Error): BridgedDispatchKM: Driver initialisation not completed yet. [3809, drivers/gpu/pvr/bridged_pvr_bridge.c]
PVR_K:(Error): BridgedDispatchKM: Driver initialisation not completed yet. [3809, drivers/gpu/pvr/bridged_pvr_bridge.c]logcat:I/SurfaceFlinger( 65): SurfaceFlinger is starting
E/FramebufferNativeWindow( 65): couldn't open framebuffer HAL (Not a typewriter)
E/FramebufferNativeWindow( 65): module->name = IMG SGX Graphics HAL +++++++++++++++++++
E/FramebufferNativeWindow( 65): module->author = Imagination Technologies +++++++++++++++++++
E/FramebufferNativeWindow( 65): module->methods = NOT NULL +++++++++++++++++++
E/FramebufferNativeWindow( 65): couldn't open gralloc HAL (Not a typewriter)
E/SurfaceFlinger( 65): Display subsystem failed to initialize. check logs. exiting...
红色部分是我打印的,可以看出显卡不能加载。
移植前我的系统是2.3.5的,运行正常没有什么问题,移植ICS4.0我采用的还是原来的2.6.35的内核,现在也不确定这个问题跟这个有没有关系。
哪位遇到类似这样的问题说说
dmesg:
PVR_K:(Error): BridgedDispatchKM: Driver initialisation not completed yet. [3809, drivers/gpu/pvr/bridged_pvr_bridge.c]
PVR_K:(Error): BridgedDispatchKM: Driver initialisation not completed yet. [3809, drivers/gpu/pvr/bridged_pvr_bridge.c]logcat:I/SurfaceFlinger( 65): SurfaceFlinger is starting
E/FramebufferNativeWindow( 65): couldn't open framebuffer HAL (Not a typewriter)
E/FramebufferNativeWindow( 65): module->name = IMG SGX Graphics HAL +++++++++++++++++++
E/FramebufferNativeWindow( 65): module->author = Imagination Technologies +++++++++++++++++++
E/FramebufferNativeWindow( 65): module->methods = NOT NULL +++++++++++++++++++
E/FramebufferNativeWindow( 65): couldn't open gralloc HAL (Not a typewriter)
E/SurfaceFlinger( 65): Display subsystem failed to initialize. check logs. exiting...
红色部分是我打印的,可以看出显卡不能加载。
移植前我的系统是2.3.5的,运行正常没有什么问题,移植ICS4.0我采用的还是原来的2.6.35的内核,现在也不确定这个问题跟这个有没有关系。
哪位遇到类似这样的问题说说
framebuffer驱动有问题。ICS用的Linux3.0,对比一下你2.3用的kernel,看看framebuffer有什么改动,应该有变动的。
samsung在android层的显卡部分是针对3.0内核来写的。
经过两个多月的时间完成了所有ICS 4.0.3在 linux2.6.35上的移植,所有功能都已实现,做过才知道,ICS是针对linux3.0内核来写的,在低版本的内核上不是不行,完全也可以实现所有功能,但要走不少弯路,遇到不少麻烦,还有不少莫名奇妙的问题,总之选择在linux2.6.x上移植ICS不是一个明智的选择,最好还是在3.0上做,这样会省去很多麻烦。
我是今年才开始做android移植的,也遇到差不多的问题,希望可以指点一下EGL现在我用的还是软件加速,加载的是/system/lib/egl/libGLES_android.so
能进锁屏界面,待机进不去~~~
logcat如下:
D/libEGL ( 440): egl.cfg not found, using default config
D/libEGL ( 440): loaded /system/lib/egl/libGLES_android.so
I/libEGL ( 440): egl_display_t::initialize
I/libEGL ( 440): egl_display_t::initialize initEglTraceLevel
W/libEGL ( 440): 1: eglInitialize(-1,-1)
D/libEGL ( 440): initialized 1 dpy=0x1, ver=1.2, cnx=0x405d1d10
D/AndroidRuntime( 440): Shutting down VM
W/dalvikvm( 440): threadid=1: thread exiting with uncaught exception (group=0x409f81f8)
E/AndroidRuntime( 440): FATAL EXCEPTION: main
E/AndroidRuntime( 440): java.lang.RuntimeException: eglConfig not initialized
E/AndroidRuntime( 440): at android.view.HardwareRenderer$GlRenderer.initializeEgl(HardwareRenderer.java:582)
E/AndroidRuntime( 440): at android.view.HardwareRenderer$GlRenderer.initialize(HardwareRenderer.java:518)
E/AndroidRuntime( 440): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1300)
E/AndroidRuntime( 440): at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2442)
E/AndroidRuntime( 440): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 440): at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime( 440): at android.app.ActivityThread.main(ActivityThread.java:4575)
E/AndroidRuntime( 440): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 440): at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime( 440): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
E/AndroidRuntime( 440): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
E/AndroidRuntime( 440): at dalvik.system.NativeStart.main(Native Method)
D/AndroidRuntime( 128): CheckJNI is ON
I/SurfaceFlinger( 126): SurfaceFlinger is starting
I/SurfaceFlinger( 126): SurfaceFlinger's main thread ready to run. Initializing graphics H/W...
I/gralloc ( 126): using (fd=11)
I/gralloc ( 126): id = s3cfb
I/gralloc ( 126): xres = 320 px
I/gralloc ( 126): yres = 480 px
I/gralloc ( 126): xres_virtual = 320 px
I/gralloc ( 126): yres_virtual = 960 px
I/gralloc ( 126): bpp = 16
I/gralloc ( 126): r = 11:5
I/gralloc ( 126): g = 5:6
I/gralloc ( 126): b = 0:5
I/gralloc ( 126): width = 51 mm (159.372543 dpi)
I/gralloc ( 126): height = 76 mm (160.421051 dpi)
I/gralloc ( 126): refresh rate = 97.67 Hz
D/libEGL ( 126): >>> 0 0 POWERVR_SGX540_120
D/libEGL ( 126): loaded /vendor/lib/egl/libEGL_POWERVR_SGX540_120.so
D/libEGL ( 126): loaded /vendor/lib/egl/libGLESv1_CM_POWERVR_SGX540_120.so
D/libEGL ( 126): loaded /vendor/lib/egl/libGLESv2_POWERVR_SGX540_120.so
W/libEGL ( 126): 1: eglInitialize(0x1) failed (EGL_BAD_ALLOC)
E/libEGL ( 126): initialize:293 error 3001 (EGL_NOT_INITIALIZED)
E/libEGL ( 126): validate_display:190 error 3001 (EGL_NOT_INITIALIZED)
E/libEGL ( 126): validate_display:190 error 3001 (EGL_NOT_INITIALIZED)
F/libc ( 126): Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1)
[ 0.000000] s5p: 11534336 bytes system memory reserved for mfc1 at 0x2e200000, 0-bank base(0x2e200000)
[ 0.000000] s5p: 6291456 bytes system memory reserved for fimc0 at 0x2dc00000, 0-bank base(0x2dc00000)
[ 0.000000] s5p: 10137600 bytes system memory reserved for fimc1 at 0x2d255000, 0-bank base(0x2d255000)
[ 0.000000] s5p: 6291456 bytes system memory reserved for fimc2 at 0x2cc55000, 0-bank base(0x2cc55000)
[ 0.000000] s5p: 4190208 bytes system memory reserved for jpeg at 0x2c856000, 0-bank base(0x2c856000)
[ 0.000000] s5p: 3072000 bytes system memory reserved for fimd at 0x2f800000, 0-bank base(0x2c856000)
[ 0.000000] s5p: 8388608 bytes system memory reserved for pmem at 0x2c056000, 0-bank base(0x2c056000)
[ 0.000000] s5p: 3145728 bytes system memory reserved for pmem_gpu1 at 0x2bd56000, 0-bank base(0x2bd56000)
[ 0.000000] s5p: 6291456 bytes system memory reserved for pmem_adsp at 0x2b756000, 0-bank base(0x2b756000)