We first covered Alibaba T-Head work on Android 10 for RISC-V in January 2021, and later that year they started selling T-Head RVB-ICE dual-core RISC-V cards with GPU for software development. The company has now provided an update to the Android 12 RISC-V port, instructions to build the Android RISC-V to run it in an emulator, as well as a roadmap for 2022-2023.
Alibaba T-head works on hardware platforms that look like T-Head RVB ICE cards, with the following minimum specifications:
- CPU – At least Dual-core XuanTie C910 (rv64imafdcv) processor
- GPU – Compatible with OpenGL ES and OpenCL
- VPU – HW Video / Billed codec
- Neural network accelerator
- System memory – 4 GB or more DDR memory
- Monitor – MIPI / HDMI
- Audio – Multi-Channel Audio output & input
- Camera – ISP with support for multiple MIPI CSI paths
- USB interface (s)
They built on the work done on Android 10 to add support for new features, tools like Android Studio as well as third party software / drivers. Performance was also optimized, and the company added support for TF Lite running on the processor’s NPU. Work is also being done on drivers for camera and video decoding, but this will take longer.
Based on the roadmap above, it appears that Android 12 has already passed some CTS / VTS certifications and upstream some source code. I also understand that they are working on Android 13 (AOSP) to refine RISC-V patches for core components, and hopefully Android 14 will fully support RISC-V targets with commercial RISC-V Android devices coming late next year.
You can find the RISC-V Android Source repository on Github, and if you do not want to spend $ 400 on T-Head RB-ICE cards, you can try the Android 12 RISC-V port in an emulator after building it from source.
First you need to download the code:
mkdir ~ / riscv-android-src && cd ~ / riscv-android-src repo init -u git@github.com: riscv-android-src / manifest.git -b riscv64-android-12.0.0_dev repo sync cd prebuilts / rust / git lfs pull cd – cd prebuilts / clang / host / linux-x86 / git lfs pull cd – rm external / angle / Android.bp
mkdir ~/riscv–android–src && cd ~/riscv–android–src repo in it –u git@github.com:riscv–android–src/manifest.git –b riscv64–android–12.0.0_dev repo synchronize cd pre-built/rust/ git lfs drag cd – cd pre-built/clinks/host/linux–x86/ git lfs drag cd – rm exterior/angle/Android.bp |
This requires a fast internet connection, which I do not have right now, and “repo sync” has been running for three hours so far on my laptop with only 12% of the code downloaded …
Somehow you will be prompted to change the “/ dev / block / vdc /” line ~ / riscv-android-src / device / generic / goldfish / fstab.ranchu.riscv.ex file manually …
/ dev / block / vdc / data ext4 noatime, nosuid, nodev, nomblk_io_submit, errors = panic wait, check, quota, latemount
/dev/block/vdc /data ext4 noatime,nosuid,nodev,nomblk_io_submit,error=panic wait,check,quota,latemount |
… Before you start construction:
source build / envsetup.sh breakfast sdk_phone64_riscv64 m -j
source build/envsetup.sh lunch sdk_phone64_riscv64 m –j |
This will also take some time, but you should finally be able to launch the RISC-V 64 AVD system image in the Android emulator as follows:
emulator -no-qt -show-kernel -noaudio -selinux permissive -qemu -smp 1 -m 3584M -bios kernel / prebuilts / 5.10 / riscv64 / fw_jump.bin
emulator –none–qt –show–nuclear –noaudio –selinux indulgent –qemu –m.p. 1 –m 3584M –bios nuclear/pre-built/5.10/riscv64/fw_jump.container |
You will probably need a machine with at least 8 GB of RAM to run the emulator.
Via Drew Fustini
![jean-luc aufranc cnxsoft](https://eji4evk5kxx.exactdn.com/wp-content/uploads/2021/02/jean-luc-aufranc-cnxsoft.jpg?lossy=1&resize=100%2C100&ssl=1)
Jean-Luc started CNX Software in 2010 as a part-time endeavor before resigning his job as Software Engineering Manager and starting writing full-time daily news and reviews later in 2011.