Hi,
My pandaboard outputs 1920x1200@30 from DPI correctly.
When I set a live wallpaper, it works normally.
When I set a normal wallpaper, it fails with black background (but app icons are normal).
And the logcat displays following message:
E/AndroidRuntime( 341): FATAL EXCEPTION: main
E/AndroidRuntime( 341): java.lang.RuntimeException: createWindowSurface failed EGL_BAD_ALLOC
E/AndroidRuntime( 341): at com.android.systemui.ImageWallpaper$DrawableEngine.initGL(ImageWallpaper.java:598)
E/AndroidRuntime( 341): at com.android.systemui.ImageWallpaper$DrawableEngine.drawWallpaperWithOpenGL(ImageWallpaper.java:396)
E/AndroidRuntime( 341): at com.android.systemui.ImageWallpaper$DrawableEngine.drawFrameLocked(ImageWallpaper.java:326)
E/AndroidRuntime( 341): at com.android.systemui.ImageWallpaper$DrawableEngine.onSurfaceChanged(ImageWallpaper.java:265)
E/AndroidRuntime( 341): at android.service.wallpaper.WallpaperService$Engine.updateSurface(WallpaperService.java:685)
E/AndroidRuntime( 341): at android.service.wallpaper.WallpaperService$Engine.attach(WallpaperService.java:772)
E/AndroidRuntime( 341): at android.service.wallpaper.WallpaperService$IWallpaperEngineWrapper.executeMessage(WallpaperService.java:1015)
E/AndroidRuntime( 341): at com.android.internal.os.HandlerCaller$MyHandler.handleMessage(HandlerCaller.java:61)
E/AndroidRuntime( 341): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 341): at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime( 341): at android.app.ActivityThread.main(ActivityThread.java:4746)
E/AndroidRuntime( 341): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 341): at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime( 341): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:788)
E/AndroidRuntime( 341): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)
E/AndroidRuntime( 341): at dalvik.system.NativeStart.main(Native Method)
E/InputDispatcher( 272): channel '41f1d808 NotificationPanel (server)' ~ Channel is unrecoverably broken and will be disposed!
The caller tree is
InitGL() in ImageWallpaper.java
==> eglCreateWindowSurface() in EGLImpl.java
==> jni_eglCreateWindowSurface() in com_google_android_gles_jni_EGLImpl.cpp
==> eglCreateWindowSurface() in eglApi.cpp
And I can sure the error was happening in
EGLSurface surface = cnx->egl.eglCreateWindowSurface( iDpy, config, window, attrib_list);
But this function is in the GLES library and can't be traced.
Does anyone know how can I fix this problem?