BayLibre is proud to announce a successful collaboration with SpacemiT to enable initial functionalities of Android 16 on the SpacemiT K1 (RISC-V RVA22 + RVV 1.0) System-on-Chip (SOC). This achievement marks a significant step toward validating and accelerating Android enablement on high-end RISC-V platforms.
The Purpose: Paving the Way for Future RISC-V Adoption
The main objective of this project was to validate the feasibility of porting modern Android to recent, high-performance RISC-V platforms. Furthermore, this work serves as crucial preparation for Android enablement on upcoming RISC-V profile RVA23 SOCs, as much of the effort and code will be directly reusable.
Key Achievements
Our dedicated team focused on several critical work items to achieve this milestone:
- Kernel Porting: We successfully ported the vendor kernel 6.6 drivers onto the Android kernel 6.19.
- Vulkan Support: We added the necessary Android support within the Vulkan Imagination implementation in mesa3d.
- Generic HAL Utilization: We leveraged Baylibre’s Android generic Hardware Abstraction Layer (HAL) for essential functions, including thermal management, USB, and audio.
- Android 16 Build Integration: We created the specific Spacemit RISC-V device configuration within the Android 16 build system.
All tests have been performed on the BananaPi F3 K1 platform, the boot time is less than 2 minutes, but performance optimization tuning has not been done yet.
A Purely Open Source Effort
We are proud to share that this entire project was executed using only existing, open-source software—specifically, AOSP, the Mainline upstreamed vendor kernel and open-source libraries. This means that the complete Android image can be rebuilt by anyone in the community, with no need for Non-Disclosure Agreements (NDAs).
The source code is publicly available from Baylibre’s GitHub.
We warmly welcome contributors from the open-source community to test the current work and continue contributing to the exciting future of Android on RISC-V!
