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.

Problems removing SGX from android am3505 build

Other Parts Discussed in Thread: AM3505

Until now, we have built Android, with SGX support included, for our product which is based on the AM3517evm.  We use the TI distribution TI_Android_GingerBread_2_3_4_DevKit_2_1.  But, now we're switching the processor to an AM3505, which doesn't have SGX capability, so we must change our build.

We have followed TI's guide Building TI Android DevKit Filesystem without SGX, located at http://processors.wiki.ti.com/index.php/Building_TI_Android_DevKit_Filesystem_without_SGX.  But, the result doesn't work for us.  Two obvious issues are that the image is duplicated (i.e. two half screen images), and the colors are off.

We have several questions about the process:

1) The patch entitled "eliminate tearing effect on lcd for non-sgx build" appears to be only performance related.  So, we're assuming we can build without that patch, and the visual effect might suffer somewhat, but at least should work.  Is that correct?

2) Adding the 'droid' keyword to the 'make' step causes SGX and WLAN/BT drivers to be excluded from the build.  The subsequent step puts the WLAN/BT drivers back in.  We don't need either WLAN or BT, so are assuming there's no reason to include the step that puts WLAN/BT drivers back in.  Is that correct?

3) The step entitled 'Install RowoPERF' appears to only install software used to assess performance.  So, we assume its inclusion is not necessary if we're not interested in running performance tests.  Is that correct?

4) The file init.rc starts up service PVR, which is sgx related.  TI's instructions say nothing about removing PVR startup from init.rc.  Should init.rc be changed?

Please respond to the questions above, and provide any other advice to help us get android working correctly on an AM3505 (i.e. no SGX).

Thanks,
Ron

  • 1) The patch entitled "eliminate tearing effect on lcd for non-sgx build" appears to be only performance related.  So, we're assuming we can build without that patch, and the visual effect might suffer somewhat, but at least should work.  Is that correct?

    As mentioned the patches are to eliminate the tearing-effect seen on LCD. If this does not bother you, then you are free to not apply the patch.

    2) Adding the 'droid' keyword to the 'make' step causes SGX and WLAN/BT drivers to be excluded from the build.  The subsequent step puts the WLAN/BT drivers back in.  We don't need either WLAN or BT, so are assuming there's no reason to include the step that puts WLAN/BT drivers back in.  Is that correct?

    3) The step entitled 'Install RowoPERF' appears to only install software used to assess performance.  So, we assume its inclusion is not necessary if we're not interested in running performance tests.  Is that correct?
    Agree

    4) The file init.rc starts up service PVR, which is sgx related.  TI's instructions say nothing about removing PVR startup from init.rc.  Should init.rc be changed?
    Android simply returns "file not found" error for the PVR setup steps in init.rc. There are no effects otherwise. You can remove those entries if you wish.

  • Hi Vishveshwar,

    Thank you for your reply.  We've completed our testing with SGX disabled, and want to report our results.

    1) Our initial issue, which had the image duplicated side-by-side on the display, was resolved by setting the pixel format as mentioned in your posting in thread 'AM3505 Display problem in Android2.3.4' (http://e2e.ti.com/support/embedded/android/f/509/p/134189/484229.aspx#4842290) .

    2) We then assessed scrolling performance with SGX disabled, but without applying either the tearing patch or the patch to reduce NUM_BUFFERS from 2 to 1, as discussed in this thread (http://code.google.com/p/rowboat/issues/detail?id=91).  We found the scrolling too choppy, and unacceptable for our product.

    3) We then added the tearing patch and we reduced NUM_BUFFERS from 2 to 1.  This greatly improved scrolling performance to an acceptable level.  It's difficult to quantify, but I feel in our test it was close to, but a notch below, the performance with SGX enabled.

    Regards,
    Ron

  • Ron,

    Thanks for the update.

    Just a note: You can keep NUM_BUFFERS at 2 if you are using the lcd tearing patches. If you keep NUM_BUFFERS as 1, then the lcd-tearing patches are not needed.