Dual-Core RISC-V Linux at Your Fingertips: Hands-On with the StarFive VisionFive V1 8GB SBC
Built around the JH7100 system-on-chip, the VisionFive is the closest device yet to the canceled BeagleV Starlight.
If you've been thinking about investigating the free and open-source RISC-V instruction set architecture, there's never been a better time — and StarFive is hoping its VisionFive, a single-board computer built around a pair of SiFive RISC-V processor cores, will be just the push you need to jump in and play.
With 8GB of RAM, a number of acceleration coprocessors, Linux support, and a familiar 40-pin general-purpose input/output (GPIO) header, the VisionFive ticks a lot of boxes, particularly in the wake of SiFive's discontinuance of the HiFive Unmatched — but can it pass our hands-on testing?
The hardware
- Price: $179 (for the Starter Kit as-reviewed)
- CPU: SiFive U74 (in StarFive JH7100 SoC) (2× 1GHz RV64GC)
- GPU: None
- Coprocessors: 600MHz Tensilica VP6 DSP, 800MHz 2,048 MAC NVDLA, 500MHz 1,024 neural network engine, voice activity detector (VAD), H.264/H.265 video decode engine, dual-channel ISP, JPEG codec
- RAM: 8GB LPDDR4
- Storage: 32GB microSD (included in Starter Kit)
- Networking: 2.4GHz 802.11b/g/n Wi-Fi, Bluetooth 4.2
- Ports: HDMI 2.0, MIPI DSI, 2× MIPI CSI, 2× USB 3.0, 2× USB 2.0, gigabit Ethernet, Power over Ethernet (PoE) header, USB Type-C (power), 40-pin GPIO header, fan power header
- Dimensions: 100×72mm (around 3.94×2.83")
StarFive unveiled the VisionFive V1 in November last year, following the cancellation of a planned partnership with Seeed Studio and Beagleboard.org on the BeagleV Starlight. While targeting the same $149 price point as the BeagleV Starlight, the VisionFive is at the time of writing only available as a $179 "Starter Kit" including a heatsink and fan cooling assembly and bundled 32GB microSD card — though, even at that price, you get a lot of hardware for your money.
The heart of the VisionFive is StarFive's JH7100 system-on-chip, a dual-core 64-bit RISC-V part built atop SiFive's U74 cores running at 1GHz. Implementing the RV64GC architecture, the two CPU cores are Linux-capable — though lack the vector extensions, which would help accelerated certain workloads, including machine learning and computer vision work.
To address that, StarFive has added a selection of coprocessors into the mix: a Tensilica VP6 digital signal processor (DSP) focused on computer vision workloads; an NVIDIA Deep-Learning Accelerator (NVDLA) with 2,048 MACs; and a neural network accelerator with a further 1,024 MACs. Missing from that list is a GPU: the JH7100 lacks any form of 2D or 3D graphics processor, with display work — whether output to the VisionFive's HDMI port or its MIPI DSI connector — needing to be handled entirely in software.
The VisionFive board itself, meanwhile, adds in a very generous 8GB of LPDDR4 memory, the aforementioned HDMI and DSI video outputs plus two CSI camera inputs, microSD storage, 802.11b/g/n Wi-Fi and Bluetooth 4.2 connectivity, a giagbit Ethernet port, four USB 3.0 ports, 3.5mm analog audio, and a color-coded GPIO header designed to mimic the Raspberry Pi pinout. There's a connector for an optional external radio antenna, USB Type-C for power, and a header for the optional cooling fan.
Performance
The VisionFive is an interesting board. The presence of an HDMI port and 8GB of RAM, plus an official Fedora image booting into a desktop environment, suggests a device that could be used as a low-power desktop replacement — much like the Raspberry Pi family. Trying to use it as such, though, isn't a smooth experience. Without a GPU, the desktop is slow to respond and suffers from glitching — while the HDMI output is not as broadly compatible as you might think, meaning there's no guarantee it'll work with your chosen display.
Firing up the web browser confirms that desktop use is not the VisionFive's strong suit: the Speedometer 2.0 benchmark limped across the finish line at 1.32 runs per minute, a little above the Arm-based Raspberry Pi Zero W at 0.961 runs per minute but far behind the Raspberry Pi Zero 2 W at 6.14 runs per minute. General browsing and office productivity tasks are possible, but only for the patient.
Leaving the desktop and heading to the command line, where the lack of graphics processor isn't a problem, the true potential of the board is unveiled. Compared to the Sipeed Nezha D1, one of the first commercially-available RISC-V single-board computers, you can expect anything from a 35 per cent to a 243 per cent performance boost depending on whether your workload can be spread across both CPU cores.
Being faster than the Nezha D1 isn't saying much, though. Those same workloads take anything from two to three times as long to complete on the VisionFive as on the Raspberry Pi Zero 2 W, an Arm-based single-board computer boasting twice the cores but considerably less RAM. If you're working with on-device edge AI processing and can make use of those accelerators in the JH7100, it's a different story — but don't expect any documentation to get you started there.
Errata
There's something of an elephant in the room when it comes to the VisionFive, and it may go some way to explain why the BeagleV Starlight project never got past the beta stage: The silicon is buggy. The JH7100 comes with a list of errata, ranging from relatively minor annoyances like the board failing to power off when you shut it down to the rather more critical: A design flaw in the board's L2 cache requires a workaround in software and results in major throughput issues in the USB 3.0, SDIO, and Ethernet interfaces.
Those throughput issues really hamper the board's potential. The "gigabit" Ethernet port negotiates a 1000Mbps connection, for example, but tops out at 323Mbps throughput — higher than the 231Mbps achievable on the Nezha D1, admittedly, but far behind the 950Mbps-ish you would expect to see on a fully-functional board. USB throughput is similarly affected, with an SSD capable of 363MBps on a Raspberry Pi 4 managing just 105MBps on the VisionFive.
StarFive is aware of these errata, but fixing them isn't easy. The company has promised to produce a revised system-on-chip design, the JH7110, which will address all these problems and more — including HDMI compatibility and display quality issues. At the time of writing, however, it wasn't clear if the JH7110 had entered production — though the company has begun teasing a VisionFive 2, which may well be designed around the new part.
Software
On the software side, StarFive's chosen operating system is Fedora Linux. The company provides a downloadable image — hosted, annoyingly, on a server that requires you to restart the download process roughly once every gigabyte — which can be flashed to a microSD card and immediately booted.
Sadly, it's outdated. The image hasn't been refreshed by StarFive since December last year, and is based on Fedora 33 — which entered End Of Life (EOL) status in November 2021, meaning it no longer receives any updates including critical security updates. Thankfully, the official image isn't the only game in town: the JH7100 is supported from Linux 5.17, and a community image of Ubuntu 22.04 is available as an alternative to EOL Fedora 33. If you'd prefer to roll your own Linux, meanwhile, the board is supported in Buildroot.
Those comfortable compiling from scratch will find the StarFive an excellent platform for on-device development. If you'd prefer not to work in an emulator but are eager to learn the ins and outs of developing on RISC-V, the 8GB of RAM — of which 7GB is available to the user in the board's default configuration — provides the headroom you need for on-device compilation, while having two CPU cores available speeds the process up considerably compared to a single-core device like the Nezha D1.
If you are a tinkerer, you may want to start by looking into optimizing the board's power draw: at idle, with an Ethernet cable, HDMI display, and wireless keyboard dongle attached, the VisionFive somehow draws a whopping 4.21W from its USB Type-C power socket - nearly six times as much as the Nezha D1 and twice as much as a Raspberry Pi 4 Model B. Under load, that figure only goes up to 4.78W — suggesting there's something awry in the configuration somewhere.
Conclusion
The VisionFive is by no means a bad board, but anyone expecting Raspberry Pi 4 — or Raspberry Pi 3, or even Raspberry Pi 2 — levels of performance will come away disappointed. The 8GB of RAM is generous, but the CPU cores are relatively weak compared to Arm alternatives and the SoC's errata have a measurable impact on peripheral performance.
If, however, you compare the VisionFive to RISC-V devices around the same price point, things look a lot more promising. At $179 in Starter Kit bundle form, the board is affordable for experimentation — and its compact size means you don't have to dedicate too much desk space to keeping it ticking over.
It's the machine learning and edge AI users who will get the most from the board, though. Those CPU cores are more than enough to keep the various coprocessors fed with data, and it's only the VisionFive's surprisingly high idle power draw coupled with a lack of documentation on getting started with the accelerators that keep it from being a go-to device for computer vision and other ML workloads at the edge.
The VisionFive is available to order from ALLNET China now at $179 with heatsink, fan, and 32GB microSD card preloaded with StarFive's Fedora 33 build. The VisionFive 2, meanwhile, has been teased by the company but does not yet have a launch date.