New updates are being added at the bottom of this story…….

Software based post processing plays a major role in smartphone photography. For example, Google Pixel lineup continues to amaze the Android community with their superb camera. Bring more HDR, add custom co-processor, and obviously – mix some AI and machine learning juice: boom!

Pictures taken on Pixel 2 on a third-party app; the right one is HDR+ on Pixel Visual Core (Image source: Google)

Phone OEMs have their own camera stack, which is a vital parameter in the market race. But sticking with legacy protocols and giving mediocre camera performance to end users should be considered as nasty practice. In fact, we have seen how the computational photography techs can make a spectacular improvement with capable camera sensors.

Android can handle the camera sensor in different ways. The pre-Lollipop hardware abstraction layer (HAL) for communicating with camera is called HAL1. Google now uses HAL3, and standardizes the interfaces using the HAL Interface Description Language (HIDL).

camera2_probe

Climbing upwards, there are two application level APIs: Camera (AKA API 1) and Camera2 (AKA API 2). By default both of these APIs use the newest available HAL, which should be HAL3. They will fall back to HAL1 when HAL3 is not available.

In fact Google’s Compatibility Test Suite (CTS) mentions that HAL3 support is mandatory for devices running Android 9 Pie. Android Go is excluded though.

Note: Camera HAL3 is required for all devices running Android 9 or higher (except for Android Go devices).

(Source)

XDA has recently talked with Google and now they confirm that the above statement needs to be corrected from Google’s end. It is just a suggestion towards OEMs, not a mandatory prerequisite.

To exploit this situation, phone makers often ship phones with locked down HAL3 access. Helpless consumers have no alternative way but to stick with middling camera performance, while having capable hardwares. Using a compatible Google Camera port is not possible as Camera2 API can’t be accessed.

Enthusiasts can regain the feature by unlocking the bootloader and/or gaining root access. Afterwards the build.prop should be modded like the following to proclaim HAL3 access along with Camera2 API support:

persist.vendor.camera.HAL3.enabled=1

Asus launched ZenFone Max Pro M1 last year which was a huge success. The phone packs interesting specs like Snapdragon 636 SoC, monstrous 5000 mAh battery and close to stock Android 8.1 Oreo. On the downside, the stock camera is crappy and Asus locked down HAL3 access from factory.

XDA Senior Member shakalaca found a way to pass a secret OEM specific parameter via fastboot so that HAL3 can be enabled without even unlocking the bootloader.

fastboot oem enable_camera_hal3 true

ZenFone Max Pro M2 was launched at the end of 2018 as a successor of M1. Internally the new phone got minor specs bump such as Snapdragon 660 instead of 636, but native HAL3 access was still absent.

SD636 and SD660 belong to same family, thus their firmwares should share similar bits. As a consequence, the above trick works for Pro M2 as well.

asus_zenfone_max_pro_m2_google_camera
Google Camera on ZenFone Max Pro M2 (Image source: XDA)

However, this is not the case with ZenFone Max M2 – the budget oriented non-Pro version which was launched alongside. According to the users, Asus omits that particular command from Max M2’s bootloader so the trick becomes useless. Official Asus forum is also filling up with similar complains.

Zenfone-Max-M2-ZB632KL
Asus ZenFone Max M2

Asus uses Snapdragon 632 SoC inside ZenFone Max M2. Blame Qualcomm’s insanely complex naming scheme, SD632 is not the relative of SD636(/SD660). Rather it is an upgrade over SD625 with custom CPU cores and Bluetooth 5.0 support.

Did HUAQIN (the ODM of these phones) or Asus implement the design intentionally? Or is this another ‘oops!’ move from them, like the previous encrypted kernel source release saga? We still don’t know.

Update (April 15)

Asus might bring official Camera2 API support for the Zenfone Max Pro lineup. However, contradicting claims and statements are creating uncertainty. Details here.

PiunikaWeb is a unique initiative that mainly focuses on investigative journalism. This means we do a lot of hard work to come up with news stories that are either ‘exclusive,’ ‘breaking,’ or ‘curated’ in nature. Perhaps that’s the reason our work has been picked by the likes of Forbes, Foxnews, Gizmodo, TechCrunch, Engadget, The Verge, Macrumors, and more. Do take a tour of our website to get a feel of our work. And if you like what we do, stay connected with us on Twitter (@PiunikaWeb) and other social media channels to receive timely updates on stories we publish.

Kingshuk De
896 Posts

I came from a mixed background of Statistics and Computer Science. My research domains included embedded computer systems, mobile computing and delay tolerant networks in post-disaster scenarios. Apart from tinkering with gadgets or building hackintosh, I like to hop on various subreddits and forums like MyDigitalLife and XDA.

Next article View Article

[Updated] Instagram crashing on all Android phones, but there are workarounds

Here's the crux of the article in video form: New updates are being added at the bottom of this story……. Original story from (June 5, 2018) follows: We're...
Jul 10, 2023 6 Min Read