RISC-V StarFive VisionFive 2 Review (JH7110)

by Bret
Published: Last Updated on 26 minutes read

My first foray into RISC-V was the MangoPi MQ Pro last year and ever since, I’ve been keeping an eye on the new Single Board Computers coming out in the space. The StarFive board at the heart of this VisionFive 2 Review isn’t exactly new at this point, though my getting to this later has given the company time to work on things and there’ve been some improvements since it arrived on my doorstep at the beginning of the year.

I’ll give you an early heads-up now, though, as I’m going to sound overly critical about certain things throughout this post. I know I have readers who may not know about RISC-V and the state of the ecosystem at the moment, so I’m trying to point things out as clearly and honestly as possible. That being said, this is more of a development board, not a fully-fledged single-board computer that’s ready for the big time.

image 4

The people that this board will appeal to are those who want to get their hands on a RISC-V board that offers decent performance with a lot of I/O to work with. Do I want others to discover and enjoy RISC-V? Absolutely! Do I want to sugarcoat things and disappoint people if they rush to pick a board and it doesn’t just work like their Raspberry Pi did? Hell to the no.

Thoughts on The VisionFive 2 Specifications

You’re probably getting bored of me comparing things to the Raspberry Pi 4 and that’s fine, don’t worry, so am I. In this case, it’s not really even a fair comparison given the relative maturity of the ARM platform. The VisionFive 2 and Raspberry Pi 4 both have Quad-Core 1.5GHz CPUs but as we’re going to find out, it’s not quite as straightforward as that.

On the StarFive board, we have an additional RJ45 ethernet port, an eMMC socket, and M.2 NVMe on the underside so storage options beyond microSD make it a compelling option if that’s important to you, though perhaps hold on for now before hitting Buy It Now. WiFi/Bluetooth are missing when compared to the Raspberry Pi 4, so a USB dongle will be needed (and we’ll test their own one later on) if you need that.

There’s nothing glaringly obvious missing (WiFi/BT isn’t the end of the world to me) and the flexibility in storage options is great, especially as they’re using an existing eMMC connector and not trying to reinvent the wheel.

Setting up the VisionFive 2

I’d love to say that setup was smooth sailing but it was a bit of a faff and that was to be expected. To kick it off, I needed to connect via UART to get any kind of input and work within U-Boot to configure the board to connect to a TFTP server on my local network with the necessary firmware updates to even begin to get into an operating system.

Once I’d done that, there were still a few issues with booting the then available images as it was expecting to find a partition that wasn’t there but it seems that in the 6 months since I first looked at the board, things have gotten a lot better.

StarFive VisionFive 2 - Test Setup

I have a V1.3B board and after updating the firmware and U-Boot, I was able to download and use the NVMe image that StarFive offers in the engineering test section of their website. They use OneDrive/Baidu for these downloads (boooo) so you’ll have to do some digging through their wiki but in the end, they’re there and they work.

That said, the images’ apt source lists are hard linked to an older snapshot of Debian so updates are going to be off the cards so yes, they work but it’s not ideal. You also need to be careful of certain packages as some have been compiled and installed specifically for the board. Running an apt upgrade blindly will cause things like ffmpeg for example to be updated to those in the Debian repository, losing the customised version that was built for the VF2 specifically.

StarFive VisionFive 2 Benchmark Results

Jumping into the benchmarks, we have a slightly revised suite as a lot of the tests I usually run on ARM don’t have RISC-V options available, though thankfully, enough do for us to get an idea of how performance should be.

As I eluded to above, I’m using the “starfive-jh7110-202308-nvme-minimal-desktop.img” image for the testing as it was the most recent at the time of final testing, and this ships with Linux kernel 5.15.0-starfive. As usual, all testing was performed with 120mm fans blasting the board to keep things cool, unless stated otherwise.

Geekbench 6

Geekbench 6’s Preview version recently got updated to include RISC-V on version 6 so we’ll include a comparison here. The VisionFive 2 falls considerably far behind, though if you look into the individual test results you’ll see that on certain tests (mainly image-related) it falls well short of the Pi 4.

This is to be expected though as the SoC is missing crucial extensions to perform these workloads properly. Analysing the individual tests may give you a better idea of whether or not your use case will suffer a similar fate.

starfive visionfive2 geekbench results

UnixBench

UnixBench on RISC-V is a recent addition after a pull request added the architecture so why not run it and see how things went?

Indeed it went! We have a compute benchmark that comes out on top by a good margin for the RISC-V board. Now I know, I know, these benchmarks aren’t exactly gospel and now I’ve written this I may need to come back and double-check that these are actually comparable but for now, take it with a pinch of salt, enjoy the graph, numbers, etc.

Storage

All tests in this section were performed with fio and the following command (with the block sizes swapped out):

fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --bs={$BLOCKSIZE} --iodepth=64 --size=1G --readwrite=read --runtime 2m --time_based

I’ve also put in my best specced testing NVMe drive here but it feels a little wasted as the VisionFive 2 only has a single PCIe Gen 2 lane for the M.2 slot which means after overheads, we’re looking at around 500MB/s as a theoretical maximum.

M.2 NVMe SSD (Crucial P5 Plus 1TB)

Block Size (KB)Sequential Read (MB/s)Sequential Write (MB/s)Random Read (MB/s)Random Write (MB/s)
4186140178132
16425400426400
512297346297346
1024296347296347
16384291348291347

The numbers for the NVMe testing seem to back that up and whilst the option for an M.2 NVMe drive is nice, you probably don’t want to be splashing out on anything towards the higher end. Find a good value middle ground if this is the type of media you wish to use!

eMMC (16GB)

StarFive doesn’t offer their own eMMC modules from what I can see, though they use the same connector and modules as Radxa/HardKernel and luckily I have a few of those lying around. Are they going to prove a better value option for storage?

Block Size (KB)Sequential Read (MB/s)Sequential Write (MB/s)Random Read (MB/s)Random Write (MB/s)
438.741.921.724
1643.743.534.338
51245.644.345.243.7
102445.644.345.344
1638445.144.144.544.1

Perhaps! If you’re not using anything particularly storage-intensive but want more than a microSD card can offer, eMMC could be a great option. It will offer a smaller footprint too but given the price of NVMe drives these days, I’d probably go for a cheap NVMe drive over eMMC at this point.

microSD Card (Amazon Basics 64GB)

For quick flashing and swapping out operating systems, microSD cards are still the king, so let’s see how our consistently best-in-test Amazon Basics microSD card fares in the VisionFive 2.

Block Size (KB)Sequential Read (MB/s)Sequential Write (MB/s)Random Read (MB/s)Random Write (MB/s)
420.816.711.44.5
1623.821.318.811.5
51223.922.523.722.1
102423.922.517.822.4
1638423.922.520.722.5

Well, it tops out around 24MB/s so unless you really have to due to a lack of eMMC/NVMe drives, or your use-case doesn’t mind the slower performance then, it’s probably best to avoid the microSD card option as the daily driver. Having said that, microSD is still the champion for quick OS changes and testing though and with a decent SD card you’re going to be fine for that.

As a rough storage TL;DR, the eMMC module will be twice as fast as the microSD card and the NVMe will be up to 8 times faster than the eMMC. Quick maths.

Networking

On launch, the VisionFive 2 had a couple of network options. For some reason (someone can tell me why in the comments) the Early Early Bird option had 1x100Mbit and 1x1Gbit RJ45 Ethernet connections. The Early Bird onwards had 2x1Gbit and that’s what I’ve tested here today. I tested both ports on the VF2 and they both reached 1Gbit with no issues so that’s nice!

starfive visionfive2 network results

Whilst there’s no WiFi onboard, there was a USB WiFi add-on option which I took so I’ve tested that too.l There’s a small PCB antenna on the end of the dongle, though there’s also a u.F antenna connector if you want to add an external connector. I pulled one off the Khadas VIM1S and re-tested but this only resulted in a moderate boost up to 35.9Mbit on the upload side of things but a slight decrease to 39Mbit on the download side.

Desktop Performance

As the VisionFive 2 has a 3D GPU onboard, I thought it could be fun to drop some basic desktop tests in here just to see how things go (we’re still blasting it with fans and running from the NVMe to give it the best possible chance). First up I just wanted to see how things would fare trying to load and play a YouTube video and it wasn’t entirely pretty. It took around 40 seconds from hitting Enter to having a usable browser window. On the plus side, the audio out is working over HDMI.

image 3

During that time I saw the CPU really chugging along trying to keep up and once it loaded it did settle down somewhat but we’re still seeing 1 CPU core at 80-90% consistently with the others around 10-25% which isn’t ideal.

Loading a 1080p test video resulted in YouTube dropping it down to 256×144 @ 25fps whilst in the auto setting and it handled that nicely? If we force it to 1080p though it ends up dropping around 98% of the frames. By default, it tries to use the av1 codec. Disabling this in Firefox so that it uses vp09 doesn’t make things much better but this is to be expected really given the support on the Imagination BXE chip used.

When testing with h264/h265 1080p test videos things are better, naturally. Kind of. With a 30MB, 10s test clip we drop 0 frames at h265 but when trying to launch h264, it hangs and then crashes each time.

At this point, I decided that it was not really a great use of time to continue testing these as it wasn’t a pleasant experience. Opening up the file explorer took around 15 seconds with a CPU core pegged at 100% and this is all with an M.2 NVMe SSD as the boot device :-(

General browsing is fine though so if that’s all you’re looking to do, and the websites you visit aren’t particularly media heavy then you’ll have no problems here. This feels like it’s been yet another overly negative section but I want to remind people that these devices are constantly evolving. To StarFive’s credit, there’s a lot of work going into images and they’re regularly updated with fixes and improvements and there’s further work going on to upstream things so as this happens and more of these devices are out there, the better things will be but for now, this is how it is!

Pricing & Availability

After an initial launch on Kickstarter which resulted in $156,000USD being raised (where I paid $76 for the 4GB RAM, 2x1GbE Ethernet option with a USB WiFi dongle) the StarFive VisionFive 2 is available at a number of retailers across the world.

Pricing these days differs quite a bit from region to region and will differ still if you want to pick up a kit containing everything you need to get started. StarFive has its own distributor list but for ease, I’ve listed the available Amazon kits that I think are probably the best value for getting up and running quickly. Just double-check if the kit has a WiFi dongle included or not as I’ve seen it change from being included and not over the time I’ve written this review and they don’t seem to have updated the title. A separate USB dongle may not be a bad shout anyway given their price these days.

Amazon StorefrontsWiFi ModulePurchase Link
United States, Canada, Saudi Arabia, and IndiaNoBuy on Amazon
Poland, Spain, United Kingdom, Italy, France, Netherlands, Germany, Belgium, and SwedenYesBuy on Amazon

Temperatures

As always, we’re running in the performance governor and I’ve normalised the ambient temperature to 25 degrees Celsius so that things can be compared across tests done at different times, and as with other RISC-V boards I’ve covered, there seems to be a pretty low delta between the idle and load temperatures.

starfive visionfive2 temperature results

If you choose to use the default scaling governor (ondemand) in the image, you’ll see temperatures at idle drop by about 1 degree Celsius.

Power Draw / Consumption

All power consumption tests are performed with the board, microSD, and RJ45 connected (with a fan cooling the SoC to prevent thermal throttling and power fluctuations) so that we can compare it across as many boards as possible that may not have optional eMMC/M.2 storage options.

starfive visionfive2 power draw results

Similar to my comment on the temperatures above you’re looking for a lower-power option, using the same default governor on the VisionFive 2 images will result in an idle power draw of 3.4w instead of the 4.2w in performance mode.

If you’re interested, too, with a monitor, mouse, and keyboard connected to the system booting from an NVMe drive the power usage hovers around 5-8w whilst doing general browsing with the ondemand governor. This spiked a couple of watts higher when all cores ended up being pegged at 100%. The performance governor being set didn’t really change things much which I imagine is down to the system needing to run with as much power as it could anyway.

Conclusion – It’s Really Not As Bad As It Sounds!

I know it sounds like I’ve been super negative about this board but I actually really like it and whilst I’ve been comparing it to a Raspberry Pi 4, that’s just so people have a well-known piece of hardware for comparison. I’m not implying it should be competing with it at this point because it really shouldn’t. At least not across the board, as it does beat out the Pi 4 in certain tests.

In regards to future support on the software side, the JH7110 SoC is one of the most popular chips used in RISC-V SBCs at the moment, found in the milkV Mars and their CM4 alternative, amongst others, so there’s a lot of work going into upstreaming the necessary building blocks. A few days after I finished all of my testing they announced images with kernel 6.1.x but after a couple of quick tests, it didn’t seem like it was going to matter too much so I didn’t go back over everything but still, it showed that things are being worked on, which is nice.

image 6 edited

RISC-V is growing in popularity and support at an incredibly fast pace. Every day there’s an announcement about another mega corp adopting it or bringing out their own chips and it’s great. I genuinely mean that. Through all of this testing, I had to remember that things weren’t always as nice on the ARM/Raspberry Pi side of things. At first, it was in a very similar situation in terms of support and it took a hell of a lot of people a considerable amount of time to get to where we are today so if RISC-V has a similar trajectory, I think we’re in for an interesting few years.

Don’t discount RISC-V just yet! This may be a development board but everything’s going in the right direction, let’s see what 2024 brings..

Pssst.. If you’re still here and you’re interested in RISC-V development boards/single-board computers, check out my RISC-V Giveaway.

You may also like...

Leave a Comment