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.

How does Android know am3517evm display dimensions?

Android somehow knows the physical dimensions of the am3517evm eval board display.  One can call an Android service which provides various display properties in a DisplayMetrics object.  Two of these properties are xdpi and ydpi, and their values are pretty close to correct, which means Android knows the physical width and height in inches of the display.

The kernel display driver sets the number of pixels in a row and column (480x272), but I see nothing there about the physical dimensions.  So - where does Android get this?  It must be configured somewhere  in either the kernel or android, either as lengths, or as dpi values.

Thanks,
Ron

  • Hi Ron,

    Android fetches xres & yres info from the display driver using screeninfo ioctl.

    Also lcd density(ro.lcd.density - default is 240 ) can be set in /default.prop to tell Android about the physical pixel density.

    These are the only two parameters which android know about the display.

  • Hi Arun,

    Thank you for your response.  Changing the property you mentioned to 240 (it defaulted to 160 in our build) gave us the display effect we were looking for.  By the way, the property name was ro.sf.lcd_density rather than ro.lcd.density.

    Regards,
    Ron