This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Display resolution adjustment for OMAP4 based board

Hi, is just that i am working with a Pandaboard ES, with Android 4.0 and kernel 3.0.8, and i'm using the parallel display option with an LVDS converter and a 14'' LCD (also a 15.6'' LCD), but the resolution is not the right one, so i modified the /drivers/video/omap2/displays/panel-generic-dpi.c and the max resolution that i could get was 1330x770 but is not the right one for the LCDs, i still have a black strip because the resolution is not being adjusted to the LCD, is there a way to change it in Android, for it to be adjusted complete to the LCD??? , because when i try a bigger resolution, the system UI stops working. i really need some help on this, thanks in advanced.

  • Hi Michelle.

    Assuming you are seeing no kernel errors when you set the proper resolution, you should be able to learn why Android is unhappy with the display by running "logcat" on the console.  It will be quite verbose, but looking for the word "FATAL" is quite often helpful.

    Regards,

        Steve

  • Hi Steve, i made a few tests, and this is what i got through the logcat with a resolution of 1338x778 (the 778  fits exactly to the Y resolution of the TFT LCD), i cant get to adjust the X resolution, it keeps showing 'Unfortunately, System UI has stopped', i don't know what could it be, i am using the panel generic display driver. thanks.

    Logacat output:

    D/AndroidRuntime(10025): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
    D/AndroidRuntime(10025): CheckJNI is OFF
    D/AndroidRuntime(10025): Calling main entry com.android.commands.am.Am
    I/WindowManager(  889): Using new display size: 1338x778
    I/ActivityManager(  889): Config changed: {1.0 0mcc0mnc en_US layoutdir=0 sw778dp w1338dp h730dp xlrg land -touch qwerty/v/v -nav/h s.8}
    I/StatusBar.HeightReceiver( 4523): Resizing status bar plugged=false height=48 old=48
    D/AndroidRuntime(10025): Shutting down VM
    D/dalvikvm(10025): GC_CONCURRENT freed 96K, 82% free 461K/2560K, paused 0ms+2ms
    I/AndroidRuntime(10025): NOTE: attach of thread 'Binder Thread #3' failed
    D/OpenGLRenderer( 2285): Flushing caches (mode 0)
    D/dalvikvm( 2285): GC_EXPLICIT freed 1017K, 55% free 8214K/18183K, paused 0ms+5ms
    D/dalvikvm(  889): GC_CONCURRENT freed 318K, 21% free 8638K/10887K, paused 2ms+20ms
    D/dalvikvm( 4523): GC_FOR_ALLOC freed 20211K, 81% free 7608K/38343K, paused 31ms
    I/dalvikvm-heap( 4523): Grow heap (frag case) to 16.875MB for 9830416-byte allocation
    D/dalvikvm( 4523): GC_CONCURRENT freed 2K, 56% free 17205K/38343K, paused 0ms+0ms
    D/dalvikvm( 4523): GC_FOR_ALLOC freed 0K, 56% free 17206K/38343K, paused 29ms
    I/dalvikvm-heap( 4523): Grow heap (frag case) to 27.368MB for 11003728-byte allocation
    D/dalvikvm( 4523): GC_CONCURRENT freed 0K, 44% free 27951K/49095K, paused 2ms+4ms
    D/AndroidRuntime( 4523): Shutting down VM
    W/dalvikvm( 4523): threadid=1: thread exiting with uncaught exception (group=0x40a201f8)
    E/AndroidRuntime( 4523): FATAL EXCEPTION: main
    E/AndroidRuntime( 4523): java.lang.RuntimeException: createWindowSurface failed EGL_BAD_ALLOC
    E/AndroidRuntime( 4523):     at com.android.systemui.ImageWallpaper$DrawableEngine.initGL(ImageWallpaper.java:586)
    E/AndroidRuntime( 4523):     at com.android.systemui.ImageWallpaper$DrawableEngine.drawWallpaperWithOpenGL(ImageWallpaper.java:384)
    E/AndroidRuntime( 4523):     at com.android.systemui.ImageWallpaper$DrawableEngine.drawFrameLocked(ImageWallpaper.java:314)
    E/AndroidRuntime( 4523):     at com.android.systemui.ImageWallpaper$DrawableEngine.onVisibilityChanged(ImageWallpaper.java:217)
    E/AndroidRuntime( 4523):     at android.service.wallpaper.WallpaperService$Engine.reportVisibility(WallpaperService.java:795)
    E/AndroidRuntime( 4523):     at android.service.wallpaper.WallpaperService$Engine.doVisibilityChanged(WallpaperService.java:777)
    E/AndroidRuntime( 4523):     at android.service.wallpaper.WallpaperService$IWallpaperEngineWrapper.executeMessage(WallpaperService.java:1018)
    E/AndroidRuntime( 4523):     at com.android.internal.os.HandlerCaller$MyHandler.handleMessage(HandlerCaller.java:61)
    E/AndroidRuntime( 4523):     at android.os.Handler.dispatchMessage(Handler.java:99)
    E/AndroidRuntime( 4523):     at android.os.Looper.loop(Looper.java:137)
    E/AndroidRuntime( 4523):     at android.app.ActivityThread.main(ActivityThread.java:4424)
    E/AndroidRuntime( 4523):     at java.lang.reflect.Method.invokeNative(Native Method)
    E/AndroidRuntime( 4523):     at java.lang.reflect.Method.invoke(Method.java:511)
    E/AndroidRuntime( 4523):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
    E/AndroidRuntime( 4523):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
    E/AndroidRuntime( 4523):     at dalvik.system.NativeStart.main(Native Method)
    D/dalvikvm(  889): GC_EXPLICIT freed 70K, 21% free 8644K/10887K, paused 7ms+8ms
    W/ActivityManager(  889): Timeout of broadcast BroadcastRecord{414ae3b0 android.intent.action.TIME_TICK} - receiver=android.os.BinderProxy@411bbe30, started 10008ms ago
    W/ActivityManager(  889): Receiver during timeout: BroadcastFilter{410ca310 ReceiverList{410ca4c0 4523 com.android.systemui/1000 remote:411bbe30}}
    I/ActivityManager(  889): Crashing app skipping ANR: ProcessRecord{411fcfc0 1993:com.android.systemui/1000} Broadcast of Intent { act=android.intent.action.TIME_TICK flg=0x40000014 (has extras) }
    W/ActivityManager(  889): Timeout of broadcast BroadcastRecord{414ae3b0 android.intent.action.TIME_TICK} - receiver=android.os.BinderProxy@411bb3f8, started 10010ms ago
    W/ActivityManager(  889): Receiver during timeout: BroadcastFilter{412ea858 ReceiverList{41343ac0 4523 com.android.systemui/1000 remote:411bb3f8}}
    I/ActivityManager(  889): Crashing app skipping ANR: ProcessRecord{411fcfc0 1993:com.android.systemui/1000} Broadcast of Intent { act=android.intent.action.TIME_TICK flg=0x40000014 (has extras) }
    W/ActivityManager(  889): Timeout of broadcast BroadcastRecord{414ae3b0 android.intent.action.TIME_TICK} - receiver=android.os.BinderProxy@410d6f68, started 10011ms ago
    W/ActivityManager(  889): Receiver during timeout: BroadcastFilter{412ee508 ReceiverList{412fa330 4523 com.android.systemui/1000 remote:410d6f68}}
    I/ActivityManager(  889): Crashing app skipping ANR: ProcessRecord{411fcfc0 1993:com.android.systemui/1000} Broadcast of Intent { act=android.intent.action.TIME_TICK flg=0x40000014 (has extras) }

  • Hi Michelle.

    The significant lines from logcat seem to be:

    E/AndroidRuntime( 4523): java.lang.RuntimeException: createWindowSurface failed EGL_BAD_ALLOC
    E/AndroidRuntime( 4523):     at com.android.systemui.ImageWallpaper$DrawableEngine.initGL(ImageWallpaper.java:586)

    It has the appearance of being related to a memory allocation, but that's a real guess.  Doing a quick Google on that, it appears as though a few others have run into the problem, but with no clear resolution.  An upgrade to a newer version was suggested but no indication if that helped.

    Also, in http://e2e.ti.com/support/omap/f/849/t/226489.aspx, the indication is that TI does not test beyond 1080p.

    Regards,

        Steve