Contents

Is the StarFive VisionFive 2 the Best RISC-V SBC for Developers?

For most developers wanting hands-on RISC-V in 2026, the StarFive VisionFive 2 at $65 for the 8GB model is the most practical entry point. It runs Debian 13 (Trixie) on the JH7110 quad-core SiFive U74 at 1.5GHz, ships with an Imagination BXE-4-32 GPU that now has mainline Mesa Vulkan drivers, supports Docker and NVMe via kernel 6.6+ LTS, and delivers roughly 60-70% of a Raspberry Pi 4’s single-threaded speed. That gap is smaller than you might expect when the goal is learning RISC-V toolchain internals. The ecosystem here has matured enough that you spend time writing code, not fighting drivers.

Why RISC-V Matters and Where It Stands in 2026

RISC-V is an open-standard Instruction Set Architecture with no licensing fees. Unlike ARM, which charges silicon vendors per-core royalties, RISC-V lets anyone design a chip without a license. That has driven adoption across many companies. SiFive, Alibaba’s T-Head division, Espressif (the ESP32-C series of Wi-Fi chips), and Google (Android RISC-V support since Android 14) have all made big bets on the architecture.

RISC-V open instruction set architecture diagram showing proprietary and open source implementations
RISC-V can have both proprietary and open-source implementations, unlike ARM which requires licensing
Image: Codasip Group , CC BY-SA 4.0

By 2026, RISC-V has shipped in billions of chips. Most are microcontrollers, the small management cores in NVMe SSDs, Wi-Fi chips, and industrial sensors. Application-class chips are also arriving. The SiFive P870, announced in 2024, targets laptop-class speed. Ventana Micro and Tenstorrent are building datacenter chips on RISC-V. Renesas and Bosch use it in car parts where ISO 26262 safety work is already in progress.

The VisionFive 2 uses the JH7110 SoC with four SiFive U74 cores running the RV64GC ISA at 1.5GHz. It is the highest-performing RISC-V SBC widely available under $100. The software ecosystem around it is genuinely usable: Debian 13 has official riscv64 ports with 95%+ of the archive built, Fedora 41 has RISC-V images, and Ubuntu 24.10 added RISC-V support as well.

Real gaps exist. No mainstream browser has hardware-accelerated RISC-V builds. Firefox runs, but falls back to software rendering. DRM-protected streaming does not work. JIT runtimes like Node.js V8 and Java HotSpot work, but they run 2-3x slower than their ARM64 versions because the JIT backends are less mature here. These gaps hurt if you want a daily-driver desktop. They barely register for a workflow of writing, building, and testing RISC-V software.

One practical signal worth tracking: embedded job postings that mention RISC-V grew about 180% between 2024 and 2026. Automotive, industrial embedded, and AI chip firmware teams are all hiring people who know the ISA.

RISC-V SBC Comparison: What Else Is Available?

The VisionFive 2 is not the only option. Here is how the main boards compare heading into 2026:

BoardSoCCores / FrequencyRAMPrice (8GB)Notable Feature
StarFive VisionFive 2JH71104x SiFive U74 @ 1.5GHzup to 8GB~$65Best Linux ecosystem, NVMe slot
Milk-V MarsJH71104x SiFive U74 @ 1.5GHzup to 8GB~$70Credit-card form factor
Sipeed LicheePi 4AT-Head TH15204x C910 @ 2.0GHzup to 16GB~$130Faster CPU, 4 TOPS NPU
Banana Pi BPI-F3SpacemiT K18x X60 @ 1.6GHzup to 16GB~$80RVV 1.0 vector extension, 2 TOPS AI
Milk-V JupiterSpacemiT M18x X60 @ 1.6GHzup to 16GB~$90Mini-ITX form factor

The Milk-V Mars uses the same JH7110 SoC as the VisionFive 2 in a smaller credit-card form factor, at a similar price. If form factor is a hard constraint, it is worth considering, but the VisionFive 2 has more ports and an M.2 NVMe slot.

Milk-V Mars RISC-V credit-card sized single-board computer
The Milk-V Mars shares the JH7110 SoC with the VisionFive 2 but fits in a credit-card form factor
Image: Milk-V

The LicheePi 4A is faster in CPU benchmarks - the T-Head C910 core outperforms the SiFive U74 by a meaningful margin - but it costs twice as much and has a less mature upstream Linux kernel story. The Banana Pi BPI-F3 and Milk-V Jupiter use the SpacemiT K1/M1 SoC, which implements RVV 1.0 - the RISC-V vector extension - while the JH7110 does not. If SIMD workloads or edge AI inference are the goal, the BPI-F3 is worth the extra $15.

For a first RISC-V board, the VisionFive 2 wins on ecosystem maturity and documentation depth. For a wider look at where SBCs stand heading into 2026, including where RISC-V fits next to ARM and x86 Mini PCs, see the state of consumer SBCs in 2026.

Unboxing and First Boot: Hardware Setup

Getting the VisionFive 2 running takes about 20 minutes. The board ships with a passive heatsink attached. You need to supply a USB-C power supply rated at 5V/3A minimum (USB-PD preferred), a 32GB+ microSD card, an HDMI cable, and a USB keyboard and mouse.

The port selection is generous: four USB 3.0 ports, dual Gigabit Ethernet (one with a PoE header), an M.2 2230 NVMe slot on the underside (PCIe 2.0 x1), a 40-pin GPIO header, HDMI 2.0 output, a 3.5mm audio jack, and a MIPI CSI camera connector.

StarFive VisionFive 2 RISC-V SBC top view showing JH7110 SoC, RAM chip, and main components
The VisionFive 2 board with the JH7110 SoC at center, surrounded by LPDDR4 RAM and the Imagination BXE-4-32 GPU
Image: CNX Software

Before flashing any OS image, update the firmware. Outdated SPL/U-Boot firmware is the most common cause of boot failures with newer OS images. Download the latest firmware from the StarFive GitHub repository , flash it to the onboard QSPI flash via the SD card method in the quick-start guide. This takes five minutes and prevents hours of troubleshooting later.

For the OS, the Armbian image for VisionFive 2 is the most active option, though the official Debian 13 image from the RVspace repository works well too. Flash your chosen image to microSD with dd or the Raspberry Pi Imager tool. Default login on the Debian image is user / starfive.

On first boot, connect to your network with nmtui or Ethernet, then run:

sudo apt update && sudo apt upgrade

This pulls in the latest kernel and Mesa driver updates - do not skip it.

For everyday dev work, move the root filesystem to NVMe as soon as you can. The PCIe 2.0 x1 NVMe slot delivers sequential reads around 400MB/s, versus microSD cards that top out at 80-100MB/s. Partition your NVMe drive, copy the root filesystem with rsync -axHAWXS --numeric-ids, update /boot/extlinux/extlinux.conf to point root at the NVMe UUID, then reboot. Build times and package installs improve a lot.

GPU Drivers, Desktop Experience, and Docker

The BXE-4-32 GPU had a rough start. At launch in early 2023, only a closed-source blob existed and desktop compositing barely worked. Then Imagination Technologies open-sourced the PowerVR driver in 2023. The pvr Vulkan driver was merged into Mesa 24.1 and has been improving steadily since.

With Mesa 24.3+ and kernel 6.6+: Vulkan 1.3 works for basic 3D rendering, and OpenGL 4.6 is available via Zink (a Vulkan-to-OpenGL translation layer). Running glxgears gets 200+ FPS, which is enough for desktop compositing. The board is not for gaming, but a modern desktop session runs without tearing or significant stuttering.

XFCE4 is the best desktop environment for the JH7110. It provides a usable windowed environment without the resource overhead of GNOME or KDE Plasma, both of which stutter at 1080p on this hardware. If you prefer Wayland, Sway with Vulkan compositing works well and uses less RAM.

Docker support arrived with kernel 6.6 LTS. Install it with:

sudo apt install docker.io

Most official language runtime images on Docker Hub now ship riscv64 layers. Go, Python, Node.js, and Rust are all covered. Images without native riscv64 support will fail to pull, so you may need to build from a Dockerfile for less common software. Container startup time is on par with a Raspberry Pi 4. Image pulls run slower because CDN caching for riscv64 layers is thin. A Node.js 22 container serving basic HTTP requests handles about 800 requests per second on the VisionFive 2, versus about 1,200 on a Pi 4.

Podman is a solid swap-in: apt install podman. Rootless containers work out of the box on Debian 13. For a side-by-side look at both runtimes, see Podman vs Docker on Linux.

Real-World Performance: Benchmarks

The numbers are straightforward. The VisionFive 2 is not fast, but it handles developer workloads:

WorkloadVisionFive 2Raspberry Pi 4Raspberry Pi 5
Coremark (single-core)~4,200~6,500~12,000
7-zip compression (multi-core MIPS)~3,800~5,400~11,000
Python pyperformance (relative)1.0x baseline~2.2x faster~5x faster
Kernel build time (make -j4)~45 min~25 min~10 min
NVMe sequential read~400 MB/sN/A~900 MB/s
Gigabit Ethernet throughput940 Mbps940 Mbps940 Mbps

The SiFive U74 core lands at roughly 2017-era Cortex-A53 IPC, even though the chip was designed in 2022. The U74 is an in-order core tuned for power, not peak speed. Also, the RISC-V compiler toolchain is less mature than ARM64’s on most benchmarks.

Power draw at idle sits around 3-4W at the wall, rising to 5-6W under full CPU load. With a monitor, keyboard, and NVMe attached, expect 6-8W in typical use. Both Gigabit Ethernet ports hit 940Mbps line rate, so network-bound workloads - Pi-hole, Nginx as a reverse proxy, an MQTT broker - run without issue.

If 45-minute kernel builds are a problem, cross-compile on an x86 workstation instead. The same make defconfig && make -j$(nproc) run completes in about 90 seconds on a modern desktop.

Cross-Compiling and RISC-V Development Workflow

The practical workflow for RISC-V dev is to cross-compile on your x86 or ARM workstation and push binaries to the VisionFive 2 for testing. This skips the slow build time issue.

Install the GCC cross-toolchain on Debian or Ubuntu:

sudo apt install gcc-riscv64-linux-gnu g++-riscv64-linux-gnu

Cross-compile a C program targeting the VisionFive 2’s ISA:

riscv64-linux-gnu-gcc -O2 -march=rv64gc -mabi=lp64d -o myprogram myprogram.c

The -march=rv64gc flag targets the base integer set, multiplication, atomics, single and double floating-point, and compressed instructions - exactly what the JH7110 supports. The JH7110 does not implement the RISC-V Vector Extension (RVV). For RVV 1.0 SIMD workloads you need a board with a SpacemiT K1/M1 or T-Head TH1520 SoC.

Rust has tier 2 RISC-V support, meaning the full standard library is available:

rustup target add riscv64gc-unknown-linux-gnu
cargo build --target riscv64gc-unknown-linux-gnu

Go has had RISC-V support since Go 1.14 and produces static binaries that run directly on the board:

GOOS=linux GOARCH=riscv64 go build -o myapp

For remote debugging, use GDB multiarch on your workstation with gdbserver running on the board. VS Code’s Remote-SSH extension pairs well here: write and edit locally, build and debug over SSH.

When the board is not nearby, QEMU user-mode emulation runs RISC-V binaries on your x86 machine:

qemu-riscv64 -L /usr/riscv64-linux-gnu ./myprogram

This works well in CI. You can run a RISC-V test suite in GitHub Actions under qemu-riscv64 and reserve the physical board for integration testing only.

GPIO: Connecting Hardware to the 40-Pin Header

The 40-pin header is compatible with many Raspberry Pi HATs. All pins are configurable as general-purpose I/O, and the header exposes I2C, SPI, UART, and PWM. Each pin can source or sink up to 32mA; combined current across all pins should stay under 100mA.

GPIO from Linux userspace goes through the gpiod library:

sudo apt install gpiod libgpiod-dev
gpioset gpiochip0 6=1   # set GPIO6 high
gpioget gpiochip0 6     # read GPIO6

The official 40-pin GPIO header user guide from StarFive covers pin layouts and ships working samples for I2C and SPI devices, including an ADXL345 sensor over SPI. Python bindings for gpiod are on pip, and C/C++ projects link against libgpiod directly.

I2C devices appear under /dev/i2c-* after the relevant kernel module loads; scan them with i2cdetect -y 0 (adjust the bus number as needed). SPI devices show up under /dev/spidev* and work with standard Linux SPI tools. The overall setup is close to working with a Raspberry Pi’s GPIO, with JH7110-specific pin numbering and multiplexing to account for.

When to Buy, When to Wait

The VisionFive 2 is in stock, well-documented, and has the most complete software support of any sub-$100 RISC-V board. If you want to start learning the architecture today, it is a solid choice.

If you can wait a few months, keep an eye on boards based on the SpacemiT K3, the next chip after the K1/M1 used in the BPI-F3 and Jupiter. The Milk-V Jupiter 2 , announced in early 2026, uses the K3 SoC with up to 32GB RAM and UFS storage. It targets RVA23 compliance. RVA23 is a RISC-V Application Profile that locks in the hypervisor extension, ratified vector support, and other features needed for general-purpose OS use. Boards at that level should land in the $100-$150 range and will be a real step up in speed and spec compliance.

For now, the VisionFive 2 sits at the right price and maturity point for a developer who wants to learn RISC-V without chasing bleeding-edge hardware. It will not replace your x86 workstation. Still, it gives you a real target to compile for, a real kernel to boot, and a real ISA to understand. Those skills carry directly to the faster RISC-V silicon shipping across embedded, automotive, and datacenter markets over the next few years.