First Test of Java on the VisionFive 2 Lite (RISC-V)
As part of my 2026 learning goals around Java on RISC-V (see this post about x86 versus ARM versus RISC-V), I’ve asking various suppliers to send me evaluation boards. I already published about two and adding a third one now:
- LattePanda IOTA
- OrangePi 5 Ultra and OrangePi RV2
- In this post: StarFive VisionFive 2 Lite
I got all these boards for free, but what I write here and show in the video is not controlled by StarFive or one of the other suppliers.
Why RISC-V?
RISC-V is an open standard instruction set architecture, driving by the community. Unlike architectures from ARM, Intel, and AMD which must be licensed. This openness has lead to innovation across the industry, and boards like the VisionFive 2 Lite make it accessible to developers like us who want to experiment with (Java) applications on alternative architectures.
StarFive VisionFive
The VisionFive from StarFive is a range of affordable boards for your first steps into the RISC-V world. Here’s how the VisionFive’s compare to the latest Raspberry Pi’s:
| Board | SOC | Type | CPU | Cores | Speed | Price |
|---|---|---|---|---|---|---|
| Raspberry Pi 4 | BCM2711 | ARMv8 | Cortex-A72 | 4 | 1.8Ghz | 68€ (4GB) |
| Raspberry Pi 5 | BCM2712 | ARMv8 | Cortex-A76 | 4 | 2.4Ghz | 79€ (4GB) |
| VisionFive | U74 | RISC-V | 2 | 1.25GHz | ||
| VisionFive 2 | JH7110 | RISC-V | 4 | 1.5GHz | 87€ (4GB) | |
| VisionFive 2 Lite | JH7110S | RISC-V | 4 | 1.25GHz | 59€ (4GB) |
Test Board
I received a VisionFive 2 Lite for testing:
- Product page
- Documentation
- Quick Start Guide
- Ubuntu Images and other software
- Used:
ubuntu-24.04.3-preinstalled-desktop-riscv64+vf2-lite.img
- Used:
I burned the Ubuntu image to an SD card, but if you want to use eMMC, you can follow these instructions: Flashing OS to Onboard eMMC (eMMC Version). This OS has the pre-configured account user with password starfive.
On the Ubuntu website, more installation instructions are available for a lot of different boards, e.g. for the VisionFive 2 Lite.
Getting Started
Hardware Setup
The board arrived well-packaged, and has a very similar layout to the Raspberry Pi 5. Biggest connection difference: one big HDMI connector instead of two micro-HDMI ports.
Installing Ubuntu
StarFive provides several OS options, but I opted for Ubuntu 24.04.3 LTS Desktop for RISC-V. The process is well-documented:
-
Download the image:
ubuntu-24.04.3-preinstalled-desktop-riscv64+vf2-lite.imgfrom the StarFive GitHub releases -
Burn the image to an SD card (I used the Raspberry Pi Imager tool)
-
First boot uses
useras the username with passwordstarfive
The first boot took a bit longer than expected before the desktop appeared. Once up, the system felt responsive for basic tasks, though noticeably slower than a Raspberry Pi 5.
Java Installation and Testing
This is where things get interesting. RISC-V support in the Java ecosystem has improved significantly, but it’s still relatively new compared to ARM and x86_64.
Installing Java
Ubuntu for RISC-V includes OpenJDK in the repositories, so it can be installed with sudo apt install, after you have done update and upgrade:
sudo apt update
sudo apt upgrade
sudo apt install openjdk-25-jdk
This installed OpenJDK 25.0.1, built for RISC-V architecture. The installation was straightforward, taking only a few minutes including dependencies. To verify the installation:
java -version
Simple Java Tests
I just wanted to quickly try out a few existing test scripts, and used my JBang project in the Pi4J repositories. As you can see in the video “plain” Java and libraries work as expected. Pi4J and JavaFX were not successful, but also that was expected. I will try Pi4J after the release of its version 4, when it uses the Foreign Function and Memory (FFM) API. As we installed a “normal OpenJDK Build”, which doesn’t include the JavaFX dependencies, we can’t run the example.
Conclusion
The VisionFive 2 Lite is an intriguing board for Java developers curious about RISC-V. At around 60€, it’s an accessible way to explore this “other type of” architecture without significant investment. The performance isn’t going to compete with a recent Raspberry Pi, but that’s not really the point. My first goal was to find out if Java works on it (of course!), and how easy it us to use. And of course, to feed my curiosity to learn new stuff…
Later more, when I try to get Pi4J working on it!
If you’re working on similar projects or have experience with Java on RISC-V, I’d love to hear about it. Feel free to reach out through Mastodon or the Foojay.io community.