Hello everyone!
I know everyone is pretty tired of waiting on the A10 update, I know we are pretty late on it. So, I want to formally introduce myself and give you a tiny peek inside and some things that have been cooking.
About me
I’m Kshitij, also known as “AgentFabulous” on XDA. I have been involved with multiple Android opensource projects, creating new user experiences, and reversing and patching things to better support MediaTek devices on ROMs that would normally support only QCOM devices. I actively play with upstream experimental/preview/beta AOSP sources too. I have been working at Teracube, with the development team for some time now.
Current Progress
Most of you are probably waiting on the Android 10 build. The build has been resubmitted and is being certified. We’ve had the build come back a few times with some tests failing and have fixed everything now. If all goes as planned, the next time we hear back from our partner, we should have good news. The open beta test has given us a ton of great feedback and we’re still working on improving things like battery life, usability and overall user experience; the team receives feedback literally as soon as you post here.
Teracube One and Teracube 2e
I’ve read this concern a couple of times, that “with the new device the updates will slow down.” To counter this, we have unified the two projects into the same BSP to avoid long delays. While you may not see unified builds on T2e anytime soon, it allows us to speed up work for the next Android version and for when the board partner decides to stop providing support.
"Next Android version" you say?
You heard me right. With unity-firmware able to support both devices via the same codebase, porting a new version of Android to the Unity BSP we can rebase once and serve both. We have started work on Android 11 parallel to the A10 development. Here’s T1 and T2e running Android 11 (this is not a ROM or GSI, but a full WiP redo of the BSP):
This is experimental and super early but to give you context of time, this initial BSP port took just under 2 weeks. We can’t promise you of a timeline/ETA on 11 yet, but things are way closer than they appear.
Let’s talk 12: Google releases very little usable code on previews and betas. Once we have 11 under control, we will in-parallel also start porting changes to 12 to speed work up for the actual release.
That’s cool and all, what’s taking so long though?
Testing. You have probably heard about it a gazillion times from us, but I’ll be real with you, this was our first time running all test suites ourselves, internally. As a consumer, you shouldn’t have to care about it but, we feel its our responsibility to be more transparent and let you guys know of where we are, why we slowed down and what we are doing to tackle it. Running all of CTS, CTS-Verifier, CTS-on-GSI, VTS, STS and GTS from scratch on just 1-2 devices takes 2-3 weeks. We learned this pretty late. To counter it, we are now working on scaling our testing infra.
How does the community provide updates faster, as Custom ROMs?
ROMs don’t need to care of certification. We have the capacity and capability of serving uncertified beta updates on a monthly basis; we already do this internally, for the most part. From early Android porting to regular feature and security updates, it’s all super doable but not super certifiable. Some may argue that ROMs are somehow “certified” and have GPay working/SafetyNet passing. Yes, but its not as simple as it sounds. They include workarounds to spoof device identifiers to Pixel hardware, so GMS thinks the build is “certified”. (Not gonna go into how things are spoofed/worked-around on ROMs in this post, but will gladly explain if anyone is interested :D) We cannot really use such workarounds, as an OEM. That said, we are working closely with a few teams to better support MediaTek platforms on ROMs and to boost community support for Teracube Devices.