Mobile/ARMv6

From MozillaWiki
Jump to: navigation, search

Product Goals

• Empower communities who depend upon their mobile devices to access the internet on ARMv6 phones - remember that in emerging markets, more users access the Internet via their mobile browser than a desktop
• Introduce support for a new platform in order to increase market installs & share - this also serves as a further differentiator against some of our competition by supporting a varied and large breadth of devices
• Current goal is to support a conservative number of ARMv6 devices in Fx16

It is expected that performance will not be on par as on ARMv7 devices, however overall browsing performance must be usable from a UX perspective for top mobile sites in our supported locales

Market Requirements

Feature page: https://wiki.mozilla.org/ARMv6_support_-_phase_1

Getting down to 600 MHz, 256 MB RAM, 240x240 resolution doubles our addressable market from 40% to 81% of all Android devices.

Quality Metrics

  • Competitive Analysis <== we need this
    • Start-up time comparison between top 3 ARMv6 devices to top 3 ARMv7 devices to stock browser on the top 3 ARMv6 devices to Opera Mobile
    • Performance (scrolling, panning/zooming, checkerboarding) comparison between top 3 ARMv6 devices to top 3 ARMv7 devices to stock browser on the top 3 ARMv6 devices to Opera Mobile
    • Top browser feature comparison
    • Install size of stock browser and Opera Mobile

Overall Value Proposition <== we need this

  • Stability: Less than 5 crashes per ADU
  • Performance: On par with stock browser on top 3 ARMv6 devices
  • UX: Installs and allows typical browsing to top mobile sites
  • Usability: Installs and allows typical browsing to top mobile sites
  • Feature Parity:
  • Minimum System Requirements: ARMv6, 800 MHz, 512 MB RAM, OpenGL support
  • Install size:

https://docs.google.com/spreadsheet/ccc?key=0AukS66vOYHUQdFYzQWhFZjFlczJiVW9DZEF5clpHd2c

Mobile Eng

• Where are we today?
• What's next?

  • No expected impact on Sync from ARMv6. There are potential impacts due to resource-constrained devices (e.g., OOM, slow syncs, poor system responsiveness during syncing), but we hit this today with older ARMv7 devices. C'est la vie.

UX

  • Prepare new set of graphic assets for low density displays (ETA mid-september)
  • bug 716403 Enable scrolling title bar, to maximize the amount of viewable web content on screen
  • Revisit tabs UI to optimize for small screen heights (could include opening the tabs tray wider, or scrolling thumbnails horizontally, etc)
  • Checking behaviours on devices with hardware keyboards -- does the interaction feel right?
    • Awesomebar / search suggest
    • Find in Page
    • Form input / navigation

---

  • What other data do we need in order to understand what the UX requirements are or do we know this information already?
    • It would help us to see a list of any other UX regressions that have been found to date that have not been mentioned above.

QA

Where are we today?
• We have a good baseline in terms of variety testing and an initial bug hunt. However, need to clarity on the quality goals
Initial Compat Testing

What's next?
• Expand breadth of test plan based upon defined quality targets & crowd sourcing testing
bug 779410 - Retrofit Web Compat Testing Tool for ARMV6
Blockers?

Socorro Status

Community

• Building MTD
• Outreach via other developer sites
• What else?

A-Team

  • Where are we today?
    • working on getting builds/tools/tests to run on a beagleboard (armv6 hardware)
    • working with releng to run armb6 builds on existing tegras (non arvm6 hardware)
    • beagleboards are p2 behind existing automation stability and pandaboards online and testing
  • What's next?
    • resolve sutagent issues on the beagle board
    • validate all tests
    • build burnin script (similar to panda burnin script)
    • document instructions for building image/flashing device
    • probably a bunch of other smaller tasks

ARMv6 Reported Issues & Tracking Bugs

Full Query
ID Summary Priority Status
689357 Crash [@ js::mjit::JaegerShotAtSafePoint] -- RESOLVED
692328 bilinear scaling fast paths for SIMD -- RESOLVED
701708 Rebuild NDK armv6 STLport as arm instead of thumb on build machines P3 RESOLVED
723946 Start producing armv6 Android builds again P2 RESOLVED
734718 java.lang.OutOfMemoryError: bitmap size exceeds VM budget at android.graphics.Bitmap.nativeCreate(Native Method) at org.mozilla.gecko.BrowserToolbarBackground.draw(BrowserToolbarBackground.java) -- RESOLVED
763864 crash in js::RegExpShared::execute or js::ExecuteRegExp mainly on ARMv6 devices -- ASSIGNED
767499 Beagle Board Arm v6 Support Tracking P3 RESOLVED
769369 [ARMv6] Fennec loses responsiveness after time -- RESOLVED
769485 [ARMv6] need to scroll on about:addons, about:downloads in portrait mode -- RESOLVED
771774 crash with eglMakeCurrent failed (EGL error 3000) and abort message: "OpenGL-accelerated layers are a hard requirement on this platform [...]" on Vivante GPUs (e.g. in Rockchip rk29board, imapx200 and Vimicro chipsets) -- RESOLVED
772283 [ARMv6] Fennec for armv6 fails to respond to tapping links -- NEW
772286 [ARMv6] about: pages display incorrectly with the Samsung Galaxy Fit -- RESOLVED
772886 [ARMv6] armv6 build doesn't work on Motorola Backflip with cyanogenmod gingerbread -- RESOLVED
772928 Enable reftests for armv6 builds on tegras -- RESOLVED
776127 [Tracking bug] support Firefox on android armv6 as tier1 platform P3 RESOLVED
777789 [ARMv6] - java.lang.NoSuchMethodError: <init> at org.apache.http.impl.conn.tsccm.AbstractConnPool.enableConnectionGC(AbstractConnPool.java) -- RESOLVED
778175 Startup crash on devices incompatible with OpenGL ES 2.0 (e.g. HTC Wildfire) -- RESOLVED
778910 [ARMv6]Fennec crashes on HTC Wildfire few seconds after startup -- RESOLVED
778915 [ARMv6] About:firefox page shows double viewing layer on HTC Legend -- RESOLVED
779207 java.lang.NoSuchMethodError: <init> at android.util.SparseArray.get(SparseArray.java) -- RESOLVED
779521 [ARMv6] - ANR after heavy usage on Galaxy XCover -- RESOLVED
780117 java.lang.NoSuchFieldError: GL_FRONT_FACE at android.util.SparseBooleanArray.binarySearch(SparseBooleanArray.java) -- RESOLVED
780398 [ARMv6] Not all tab displayed on tabselector (Galaxy XCover) -- RESOLVED
780442 [ARMv6] About:Memory page buttons are overlapping, oversized -- RESOLVED
780803 [ARMv6] - Samsung Galaxy Y OOM -- RESOLVED
782611 [ARMv6] Unable to access marketplace.mozilla.org -- RESOLVED
782631 [ARMv6] Strange appearance and behavior for log in with Persona (BrowseID) -- RESOLVED
783196 crash with eglCreateContext failed (EGL error 3003) and abort message: "OpenGL-accelerated layers are a hard requirement on this platform [...]" -- RESOLVED
783912 [ARMv6] Use more conservative GC settings for ARMv6 -- RESOLVED
784250 Evaluate apc.io board for running arm v6 tests -- RESOLVED
785405 [ARMv6] hup.hu 'tovább' link is not working -- RESOLVED
787266 Provide a User-Friendly way to determine ARM version -- NEW
787893 crash in js::types::TypeSet::hasType mainly with ARMv6 devices -- RESOLVED
788510 Throbber slightly cut-off on small-screen devices (ARMv6?) -- RESOLVED
790624 Android toolchain for armv6 generates faulty code when compiling with -Os flag -- RESOLVED
790630 scrollframes are busted on armv6 builds of fennec using gcc-4.4.3, causing it to fail a svg reftest with overflow="hidden" in reftest-4 which passes on armv7 builds -- RESOLVED
791263 [ARMv6] completely disable screenshot code (including memory allocation) on memory pressure -- RESOLVED
791703 [Armv6] No updates available if you check for them in about:Firefox -- VERIFIED
792131 [ARMv6] [meta] Make Fennec work well on 256-meg devices -- RESOLVED
792136 [ARMv6] Try using basic layers instead of GL layers to see if it uses less memory -- RESOLVED
792144 [ARMv6] Tweak JS JIT options -- RESOLVED
792147 [ARMv6] Disable in-memory file cache -- RESOLVED
792148 [ARMv6] Disable or reduce Sync support on low-end devices -- RESOLVED
792154 [ARMv6] Profile java memory usage and GC pauses -- RESOLVED
792155 [ARMv6] Get and analyze about:memory dumps -- RESOLVED
792300 armv6 builds of fennec with gcc-4.4.3 fail test_bug560780.html in mochitest-1 which passes in armv7 builds -- RESOLVED
792428 [ARMv6] Unable to start Fennec - java.lang.UnsatisfiedLinkError: Couldn't load mozglue: findLibrary returned null -- RESOLVED
795432 [Armv6] Unresponsive script when panning content -- RESOLVED
797015 [ARMv6] Add a pref to completely disable screenshot code (including memory allocation) -- RESOLVED
802253 [armv6] Galaxy Neo(SHW-M220L) should not be excluded in the Google Play store -- RESOLVED
802396 Android Service-based updater downloads wrong architecture update package for ARMv6. -- RESOLVED
803550 [ARMv6] - Cycling through list of tabs skips and pauses and is generally slow; difficult to select a tab -- RESOLVED
803554 [ARMv6] - Unable to close the tab tray by swipe in landscape on the Samsung Gio P5 NEW
804299 Firefox Mobile Beta on Google Play isn't compatible with the LG Optimus One -- RESOLVED
806176 crash in mozilla::AndroidGeckoLayerClient::ProgressiveUpdateCallback -- RESOLVED
812751 crash in mozilla::AndroidBridge::CheckURIVisited on ARMv6 devices with Gingerbread -- RESOLVED
812754 crash in mozilla::AndroidBridge::GetProxyForURI on Gingerbread -- RESOLVED
814462 java.lang.UnsatisfiedLinkError: Cannot load library: alloc_mem_region[870]: OOPS: <n> cannot map library ''libicuuc-arabic.so''. no vspace available. at java.lang.Runtime.loadLibrary(Runtime.java) -- RESOLVED
829678 ARMv6 devices with Adreno 200 GPUs running Gingerbread crashes when trying to view WebGL content - crash in libGLESv2_adreno200 -- RESOLVED
832942 Searches to Google.com over SSL cause OOM error page on ARMv6 builds P1 VERIFIED
845867 crash in mozilla::layers::LayerManagerOGL::WorldTransformRect @ libGLES_hgl.so@0x4.... on Samsung ARMv6 devices with Broadcom VideoCore IV GPU running Gingerbread -- RESOLVED
847164 crash in js_CloneFunctionObject -- RESOLVED
851291 ARMv6 builds without thumb support are mis-compiled by the GCC in NDK8 -- RESOLVED
858083 IonMonkey: (ARM) ARMv6 has some issues with baseline -- RESOLVED
863685 Android crash in EnterBaseline on ARMv6 devices -- RESOLVED
864025 crash in js::ion::DoCallFallback on ARMv6 devices running Gingerbread -- RESOLVED
865795 crash in mozilla::gl::DoesStringMatch with error message: "Maybe this device does not support OpenGL ES2? (EGL error 3003)" -- RESOLVED
874810 crash in mozilla::layers::ShmemYCbCrImage::CopyData mainly on HTC Wildfire S with marvel hw running Gingerbread -- RESOLVED
970447 Turn off ARMv6 builds and tests -- RESOLVED

69 Total; 4 Open (5.8%); 63 Resolved (91.3%); 2 Verified (2.9%);