It's risky business fighting Intel, AMD, and Arm,
and that's exactly what Star Five is trying to do with this thing.
The chip on this new single board computer could be the start of a
computing revolution—at least that's what some people think!
This is the VisionFive 2 and the JH7110 on it has a new Instruction Set Architecture,
or ISA, called RISC-V. On board are four 1.5 GHz CPU cores, so it's no slouch. And this is
the high-end configuration, with 8 gigs of RAM, an M.2 slot, USB 3.0, and two Gigabit Ethernet ports.
On paper, this board looks like it can compete with something like a Raspberry Pi. Can it? Well,
yes and no. RISC-V is the new kid on the block. It's so new software isn't really optimized for
it yet. And some software won't run at all. But a lot will. Especially if we're talkin' about Linux.
And so I tested this thing. StarFive actually sent this one to me for early testing,
but I also have an order in for another one. I welcome another competitor in the chip space,
especially when there's a more open community around it.
Intel's X86 architecture and ARM's instruction sets are tightly controlled and licensed. RISC-V
has an 'open' architecture, though individual designs, like the cores used in this particular
chip, are often proprietary and licensed, since that's how chip manufacturers make money.
A few years ago I would've said RISC-V had a huge hurdle for adoption. But now,
with a new geopolitical landscape, trade wars,
and the lawsuit between Qualcomm and Arm... eh... maybe it's not so risky after all!
But back to this board. This is the first mass market RISC-V board with
compelling hardware specs. So what should you expect if you pick one up?
Initially, not much. Like many other boards that I've tested from Chinese manufacturers,
the initial experience is a bit jarring, especially if you're new to SBCs. But
considering the entire architecture's new, I'm willing to cut it some slack.
It's still better than most of the Pi clones... but that's not saying much.
The board was hard to bring up. I had to dig into some forum threads to figure out
how to upgrade the firmware, just so I could install the latest OS.
Upgrading the firmware involved running a special buildroot image and logging in
with SSH, so already, just to start using the board, it's not simple.
And then I had trouble with HDMI! This thing supposedly handles 4K,
but I couldn't even get it working with my old HD monitor. I tried debugging it with modeset.
I tried using different cables, but I just couldn't get it working. Eventually I was able
to get my Atomos Ninja working, at least, but it seems like HDMI is a little buggy right now.
To add insult to injury, when I went to log in over SSH I tried
following the getting started guide. But I found out it had
the wrong login user. It should be 'user' but the guide said 'root.'
Right now this board definitely has a 'half baked' feel to it.
Like, if the Raspberry Pi came out of the oven warm and with a crisp,
tasty crust, the VisionFive never really went into the oven. Star
Five gave us the ingredients for a pie, but they want us to bake it...
But I'm willing to give this thing a lotta slack, since it is different,
and there are a lot of fronts companies like StarFive are working on, from hardware design,
to Linux support, to documentation and advocacy.
With all that out of the way, and knowing it's not gonna be plug-and-play,
how does this thing perform? Well, right now, not that well...
And it's complicated. Before I show you any test results,
I have to warn to you take them with a grain of salt. My results today might be different
than someone re-testing everything in a month, or even a year from now.
And that's because RISC-V and the processor on this board are so new that there are thousands
of little optimizations that aren't even made yet. Most developers who could make those optimizations
don't even have RISC-V hardware to test 'em. So especially for things like basic math
operations or cryptography, this chip is gonna look glacial. And in some ways it
isn't, but it's not always clear if that's a hardware issue or software.
But I wanna compare this thing to two boards you might be more familiar with:
the Raspberry Pi 3 B+, and the Raspberry Pi 4. Putting aside availability, the VisionFive 2
is marketed as something between those two boards, but not quite as good as a Pi 4.
So how is it?
Well, just running a basic benchmark like Geekbench,
the VisionFive 2 scored 78 single core and 276 multicore.
And that's a LOT slower than a Pi 4. And it's even noticeably slower than a Pi 3 B+.
But let's look a little deeper at the individual test results. If I scroll
down a bit, you can see a lot of variance, like in image-related tests. In Camera,
Gaussian Blur, and Structure from Motion, the VisionFive 2 scores are terrible.
And Machine Learning—it's only getting like 2-4% of the performance of the Pi. What gives?
Well let's look a little closer at what Geekbench is testing.
In the documentation, it says the Machine Learning workload
"performs an image classification task" with a small image. So, another image-based test.
And in this case, it uses MobileNet v1, an older machine learning model that's
probably not optimized for the chip on this board. But it's not like Geekbench's results
are useless—if you buy this board today, then for some things it really is that much slower.
Like when you log in over SSH, it definitely feels slower than the
Pi. And image processing and cryptography will be a lot slower on this board. The lag
is bad enough it feels like I'm working on an original Raspberry Pi sometimes.
And I was also gonna run linpack to test floating point performance,
but I had trouble compiling the Python cryptography library, so I put that on hold.
Before the RISC-V apologists crucify me, I'll add that the JH7110 is not the only
RISC-V chip on the market. And this year a bunch of other ones are coming out. And a
lot of 'em implement more features that'll speed up image processing, neural nets, and encryption.
This is a review of one particular board that happens to be RISC-V. Not
the entire RISC-V ecosystem. Keep that in mind...
Moving on to IO performance, I tested both gigabit Ethernet ports, and they
were both pumping through a full gigabit on these little Motorcomm chips, so no complaints there.
But what I really wanted to test is the M.2 slot on the bottom. It's got one lane of PCI express
Gen 2, just like the Pi 4. On a Compute Module 4, I can get 350 to 400 MB/sec with a good NVMe SSD.
Testing the VisionFive 2 I only get about 250 MB/sec. The drive showed up
at the correct speed but the board just couldn't put through as much data. I'll
get back to the M.2 slot but I also wanted to test the microSD card slot.
It's not amazing—I only got about 24 MB/sec. The Pi 4 gets double that, so again, this board is
more in line with a Pi 3. More of my test results can be found in a GitHub link in the description.
Next, what about the GPU? One big marketing point is the VisionFive
2 is the world's first high-performance RISC-V computer with an integrated GPU!
The hardware supports HDMI 2, with H.264 and 265 decoding at 4K courtesy of an Imagination BXE GPU.
But can we even use it? One of the curses of Single Board Computers
is how hard it is to get the GPU to do anything in Linux. Watching 1080p
video on YouTube is a typical use case, and on this board, it's excruciating.
Just opening YouTube is painful enough—I'm actually speeding up this clip because it
took 30 seconds just to get to the home page! And once you get a video to load,
playback is glacial. At HD resolution, almost all the frames were dropped.
It's early days, so the experience should get better. A lot is being worked on right now,
like this pull request that gets hardware acceleration off the ground.
But forget all that. This thing has an M.2 slot,
which means I can take this wacky adapter and plug in anything I want! And I kinda
have a thing for graphics cards on SBCs, so of course I grabbed one and got to testing.
First I found this forum post about someone else already having some success getting an
AMD graphics card working, so I pulled out my old Radeon HD 7470,
grabbed a copy of Linux, and compiled my own custom kernel.
Surprisingly, compiling Linux for RISC-V using StarFive's Linux fork
was super easy—barely an inconvenience! In my case, I enabled the radeon kernel module,
then compiled it on the board. It took about an hour...
Once I copied the new kernel in place and rebooted, the GPU worked!
On the Raspberry Pi, I ran into memory access bugs, and we had to write a bunch of ugly hacky
patches. I was expecting it to be even worse on an entirely new architecture, but it wasn't!
I already have a working console, without any patches at all!
I did run into this weird issue where the screen flashes for a while and
all these "PVRK" errors popped up on the screen. So it's not entirely usable yet,
but I think there's definitely more fun to be had here.
I also tried this Nvidia card, but the open source nouveau drivers made the system freeze up,
so I put that on hold. This, uh, rather massive 4090? It's gonna have
to wait. Subscribe because you don't wanna miss what I'm doing with this.
Someone did get a newer AMD card working on another RISC-V board, so maybe RISC-V has a leg
up on Arm, at least for these tiny SBCs. Getting graphics cards running on low end Arm is painful.
I also checked into hardware video transcoding, but like I said earlier, that's still being
worked on. The VisionFive 2 could be useful for things like Plex or Jellyfin—someday.
All that would be for naught, though, if this thing isn't also efficient. And it's not gonna
take the crown, but it's decent, using 3 watts at idle, and a little over 5 watts fully stressed.
This board could be an effecient homelab companion, as long as the software you need
can run on it. I haven't had a chance to test other things like Home Assistant or Docker,
but I know for many things, just getting the software running right now can be painful.
But Arm boards—even the darling child Raspberry Pi—were in a similar state a decade ago.
StarFive is coming into an already-crowded market and already creating a lotta buzz.
Right now between the Raspberry Pi shortage and the clone manufacturers
dropping the ball on software and support, RISC-V SBCs have a prime opportunity.
My biggest question—and I'm not sure if this is praise of the RISC-V community or condemnation
of the Arm status quo—but my biggest question is this: How is it that this fledgling RISC-V board,
barely off the ground, already has documentation and support that's miles ahead of most other SBCs?
I mean, seriously. Besides a few small warts in the getting started guide, the documentation
is pretty good. The forums are active, and I didn't have to lurk on Discord just to get help.
And compared to the Raspberry Pi, well, the Pi isn't unimpeachable,
but the VisionFive 2 definitely isn't the board to take away its crown.
What it is, is an early warning shot across Arm's bow. If each RISC-V board improves at
the pace the Pi has over the years, we could see a more competitive landscape,
when it comes to energy efficient Linux SoCs. The JH7110 isn't amazing. But it's not bad, either.
I still wouldn't recommend most people buy this board,
unless you already know a lot about Linux and SBCs in general. That may change a year from now,
but right now, this board isn't targeted at the same market as a Raspberry Pi.
At around $100, and not being quite production-ready,
I'm only recommending this board to people interested in exploring RISC-V
for now. But that's the 'risky' business StarFive finds themselves in today...
Until next time, I'm Jeff Geerling.