Skip to content

RISE Android 17 v1.0

Latest

Choose a tag to compare

@glaroque glaroque released this 14 Oct 17:50

Android 17 (riscv64) for two RISC-V boards with an Imagination BXM-4-64 GPU: the SpacemiT K3 Pico-ITX and the Alibaba A210 EVB. Both run an android-mainline 7.1 kernel, an open boot chain (U-Boot + OpenSBI) and open-source PowerVR graphics (upstream drm/imagination + Mesa, Vulkan and OpenGL ES).

Downloads

Board Image package Lunch target
SpacemiT K3 Pico-ITX rise-android-17-v1.0-k3-pico-itx.tar.gz aosp_k3_pico_itx-trunk_staging-userdebug
Alibaba A210 EVB rise-android-17-v1.0-a210-evb.tar.gz aosp_a210_evb-trunk_staging-userdebug

Each package holds the bootloaders, the Android images, the board flash script, adb, fastboot, mke2fs, the license notices and the pinned manifest.xml it was built from. SHA256SUMS covers the packages and the manifests.

Flashing

Extract the package and run the flash script from its directory. A first installation erases the board.

K3 Pico-ITX: power the board, hold FDL, press RST, release FDL, then connect the DRD Type-C port to the host (USB ID 361c:1001).

tar -xzf rise-android-17-v1.0-k3-pico-itx.tar.gz && cd rise-android-17-v1.0-k3-pico-itx && bash flash_pico_itx.sh --dfu --wipe

A210 EVB: power the board, hold the Flash button, press Reset, then connect the USB flashing port to the host.

tar -xzf rise-android-17-v1.0-a210-evb.tar.gz && cd rise-android-17-v1.0-a210-evb && sh flash_android_images.sh --wipe && fastboot reboot

Omit --wipe to keep user data on an already installed board.

What works

Feature K3 Pico-ITX A210 EVB
Boot SPI NOR + UFS, A/B slots eMMC, A/B slots
Flashing USB DFU + fastboot fastboot
Display DisplayPort / USB-C DP, up to 1080p, hardware composition HDMI 1080p, hardware composition
GPU Vulkan, OpenGL ES 2.0 Vulkan, OpenGL ES 2.0
Audio DisplayPort HDMI (default) and headset jack
Wi-Fi / Bluetooth RTL8852BE (PCIe) RTL8822CS
USB Type-C, ADB, UVC cameras ADB, UVC cameras
WebView yes yes
Video playback software decoding software decoding
Games validated SuperTuxKart, Luanti, Mindustry, OpenTTD SuperTuxKart, Luanti, Mindustry, OpenTTD

Known issues

  • SELinux runs in permissive mode. Secure boot and a TEE are out of scope.
  • The GPU exposes OpenGL ES 2.0 only, so WebView has no WebGL and no accelerated canvas.
  • K3: after adb reboot, fastboot usb 0 in U-Boot can fail to initialise the USB3 PHY; power-cycle the board.
  • K3: audio through an HDMI dock does not work; DisplayPort hot-plug and Android thermal management are not tested.
  • A210: Android thermal management is not tested.
  • Not supported: the NPUs (K3 A100, A210).

Sources

Every RISE repository used by this release is tagged android-17-v1.0. Repositories with one branch per board carry android-17-v1.0-k3 and android-17-v1.0-a210 instead: android_kernel_common, android_bootloader_build, u-boot and opensbi.

The release also ships pinned manifests (default.xml, kernel-spacemit.xml, kernel-alibaba.xml, bootloader-spacemit.xml, bootloader-alibaba.xml): every project is fixed to the exact commit used for this release. To check out the release sources:

repo init -u https://github.com/riseproject-dev/android_manifest.git -b refs/tags/android-17-v1.0 -m default.xml && repo sync -m "$PWD/default.xml" -j24

(default.xml here is the pinned manifest downloaded from this release.)

The README describes how to rebuild the kernel, the bootloaders, Mesa, the WebView and the Android images.