Affiliate links on Android Authority may earn us a commission. Learn more.
RISC-V support in Android just got a big setback
- The Android Common Kernel is about to remove support for the RISC-V architecture.
- Android Common Kernel is Google’s fork of the upstream Linux kernel but with Android-specific additions.
- RISC-V is an open-source architecture that is gaining increased popularity in the hardware space, and Google has been steadily working on implementing support for it in Android.
Back in early 2023, Google announced that it was working on enabling support for the RISC-V architecture in Android. RISC-V is an open instruction set architecture that’s grown in popularity in recent years since hardware makers don’t need to pay a licensing fee to build RISC-V chips. Some Android devices already ship with chipsets based on RISC-V, though these chipsets typically run something other than Android and act as a co-processor to the device’s main, typically Arm-based processor.
Late last year, chip maker Qualcomm announced that it was designing a wearable chipset based on RISC-V and that this chipset would run on Google’s Android-based Wear OS platform. Once released, these Wear OS smartwatches would be the first commercial RISC-V hardware to run a Google-certified Android build. To make that happen, though, Google must devote a lot of engineering resources to make Android — and its underlying Linux kernel fork — boot on RISC-V hardware. Google has already done much of the work to enable RISC-V support in Android, though there’s quite a bit of work still ahead.
Although Google has shown significant progress in recent weeks in improving RISC-V support in Android, it seems that we’re still quite a bit away from seeing RISC-V hardware running certified builds of Android. Earlier today, a Senior Staff Software Engineer at Google who, according to their LinkedIn, leads the Android Systems Team and works on Android’s Linux kernel fork, submitted a series of patches to AOSP that “remove ACK’s support for riscv64.” The description of these patches states that “support for risc64 GKI kernels is discontinued.”
ACK stands for Android Common Kernel and refers to the downstream branches of the official kernel.org Linux kernels that Google maintains. The ACK is basically Linux plus some “patches of interest to the Android community that haven’t been merged into mainline or Long Term Supported (LTS) kernels.” There are multiple ACK branches, including android-mainline
, which is the primary development branch that is forked into “GKI” kernel branches that correspond to a particular combination of supported Linux kernel and Android OS version. GKI stands for Generic Kernel Image and refers to a kernel that’s built from one of these branches. Every certified Android device ships with a kernel based on one of these GKI branches, as Google currently does not certify Android devices that ship with a mainline Linux kernel build.
Since these patches remove RISC-V kernel support, RISC-V kernel build support, and RISC-V emulator support, any companies looking to compile a RISC-V build of Android right now would need to create and maintain their own fork of Linux with the requisite ACK and RISC-V patches. Given that Google currently only certifies Android builds that ship with a GKI kernel built from an ACK branch, that means we likely won’t see certified builds of Android on RISC-V hardware anytime soon.
Our initial interpretation of these patches was that Google was preparing to kill off RISC-V support in Android since that was the most obvious conclusion. However, a spokesperson for Google told us this:
Android will continue to support RISC-V. Due to the rapid rate of iteration, we are not ready to provide a single supported image for all vendors. This particular series of patches removes RISC-V support from the Android Generic Kernel Image (GKI).
While the company’s statement doesn’t go into detail about the rationale behind this decision, it’s good to get confirmation that RISC-V support in Android isn’t being killed off entirely. Still, the statement alludes to the fact that there’s still a ton of work that needs to be done before Android is ready for RISC-V. Even once it’s ready, Google will need to redo the work to add RISC-V support in the kernel anyway. At the very least, Google’s decision likely means that we might need to wait even longer than expected to see commercial Android devices running on a RISC-V chip.