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.

Change display resolution

Hi,

I'm running Android ICS (From TI-Android-ICS-4.0.3-DevKit-3.0.1) over an AM335x-EVM board. 

For testing purposes I'm trying to use a different display resolution using board's LCD panel. The resolution I would like to get is 320x240. I got it modifying $SOURCE_HOME/kernel/drivers/video/da8xx-fb.c at:

[2] = {
.name = "TFC_S9700RTWV35TR_01B",
.width = 800,
.height = 480,
.....

with

[2] = {
.name = "TFC_S9700RTWV35TR_01B",
.width = 320,
.height = 240,
.....

This is sufficient to get the display working at 320x240 on a limited area of it (that is what I want).

Another thing I've done is to modify all "WVGA" occurrences in "board-am335xevm.c" with "QVGA" but it seems not to be influent.

I've also changed lcd density adding "ro.sf.lcd_density=120" in build.prop.

 

The problem I'm facing is that quite every application I start is crashing, for example if I start Settings application the result is attached here: http://pastebin.com/ydtkwCFs

Do someone have an idea for this?

Thanks,

Francesco

  • Francesco Pedron said:

    I've also changed lcd density adding "ro.sf.lcd_density=120" in build.prop.

     

    The problem I'm facing is that quite every application I start is crashing, for example if I start Settings application the result is attached here: http://pastebin.com/ydtkwCFs

    Do someone have an idea for this?

    The settings app crashes when lcd density is set to 120.

    We are aware of this issue with the TI Android DevKit ICS release. A fix should be available soon.

  • Hi everyone, I've been tasked with getting ICS to run on a small QVGA display as well and I'm having the same issue Francesco has. I'm forced to use ldpi density (I had modified the build.prop as well), but I'm occourring in the same apps crashing issues, ans also an annoying mirroring and banding on the unused screen space. I'd expect the unused screen space to be solid black, or at least contain some garbage, and not mirror the active display area.

    You say, Visveshwar, that this is a known bug and you'll release a fix soon. I guess it still has to get through testing and validation but, since until I can get the apps not to crash I have my hands pretty tied in what I can do to go forward with this UI porting, a temporary patch would be vastly appreciated. Even an indication of what is broken and why would help.

    Thanks!

  • The following thread on our rowboat community forum discusses this issue:

    https://groups.google.com/d/topic/rowboat/lP65eylKHkQ/discussion

  • Nils Dietherman said:

    <snip>
    ...annoying mirroring and banding on the unused screen space. I'd expect the unused screen space to be solid black, or at least contain some garbage, and not mirror the active display area.

    It seems like the display is not configured correctly. Could you provide more details about your LCD screen and if you are using SGX graphics acceleration or not.

  • Thanks for the quick reply!
    Yes, I'm using SGX acceleration. I'm using an AM335x-EVM board and the LCD panel is TFC_S9700RTWV35TR_01B. It seems like I am using the same configuration Francesco is...
  • If I understood you correctly, you are using the AM335x evm LCD display but do not wish to use the full 800x480 display area.

    This would probably need some changes in the LCD driver. I am not familiar with the LCD driver for AM335x, the Linux e2e forum http://e2e.ti.com/support/embedded/linux/f/354.aspx  is probably the best place where you could get your answer.

  • Yes, exactly. I'm going to use just a portion of the display to simulate an hardware platform I've not yet at my disposal.

    By the way, I've solved the Settings crashing on ldpi configurations. It crashes because the res/drawable/ic_settings_ethernet.xml file in packages/apps/Settings references itself (as said in the Google groups thread). This is because the build configuration is set to tell aapt to strip all non-mdpi and non-nodpi resources when compiling the apks, so the framework doesn't find the correct ic_settings_ethernet.png (you also have to create it in /res/drawable-ldpi) and instead ends up calling the only one it has got at his disposal. That file is the malformed ic_settings_ethernet.xml that ends up referencing itself over and over again. I think that xml file could also be removed (it doesn't even represent a valid state-list drawable, because it always uses the same png file for both its states) but I haven't tested that.

    This is the required patch to get the Settings app to work on ldpi:

    In $SOURCE_HOME/build/core/product_config.mk after line 243 add "PRODUCT_AAPT_CONFIG += ldpi".
    In $SOURCE_HOME/packages/apps/Settings/res/ create a folder named "drawable-ldpi" and put the attached png file in it.

    This is the ldpi png file:

  • Thanks for the update.

  •  Thanks Nils,

    it's working!

    Francesco


    PS: Nils, I've posted here a question about driver level if you are interested.