Jelly Bean boot on hardware

Source: Internet
Author: User

Jelly Bean has been released for several days. We tried to bring it on our machine last week. After a long time, we finally got up, but we found some problems, to sum up.

  1. Re-compile OpenGL. There are a bunch of errors, mainly the header files related to the android_native_buffer interface, which cannot be found.
  2. Log printing is changed. The previous logd and loge are now Output Using alogd and aloge.
  3. Put the previously written Hal module into it, and there will basically be a segment error, and none of them can run.
  4. Segment error caused by OpenGL driver, full screen Rolling

These problems:

  • The problem with OpenGL compilation is that Google has compiled their file naming methods. Now the header file is called anativeobjectbase. h and put it under/frameworks/native.
  • The Hal segment error is also found because the HMI (HAL module info) is defined as const in each Hal, but in hardware. in the load function of C
     hmi->dso = handle; 

    The read-only variable is modified, which may cause segment errors and crash on JB, but not in the previous version. It should be caused by new compilation options.

  • OpenGL problems need to be re-driven by the vendor, which cannot be solved. The newly added vsync feature of JB. Many of the jobs are implemented by hwcomposer. It seems that this may happen at half past one.

Start from scratch. Don't use OpenGL. Slow down and take a look at functions and other places. Currently, the method for disabling hardware OpenGL is:
In the system boardconfig, set use_hw_composer to false, and block harwareaccelerated requests using the soft-path skia.
For example, frameworks/base/CORE/Java/Android/View/window. Java

 LocalWindowManager(WindowManager wm, boolean hardwareAccelerated) {            super(wm, getCompatInfo(mContext));           // mHardwareAccelerated = hardwareAccelerated ||            //        SystemProperties.getBoolean(PROPERTY_HARDWARE_UI, false);   mHardwareAccelerated = false;        }

You can also search for the source code and change the value of all hardwareaccelerated values to false.

Remove wallpaper and die. At this stage, you don't want to check it. The method to disable it is as follows:
Modify frameworks/base/CORE/RES/values/config. xml

    <!-- True if WallpaperService is enabled -->    <!-- Temporarily set to false until openGL is ready. -->    <bool name="config_enableWallpaperService">false</bool>

 

After completion, compile the firmware, burn and write, and install several APK files:

The game is too slow to play.

 

On JB, some more debugging function interfaces are added:

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.