First look at the Star64 w/ RISC-V cpu

CPU and Memory

The Star64 board is a bit bigger than the Raspi4, both are available with 8GB RAM. Both have 4 cores at up to 1.5Ghz, the Star64 has a RISC-V cpu, the Raspi ARM.

My first goal was to look at power consumption, and cpu temperature. At 20°C environment temperature, without attached cooler, the Star64 cpu idles at 46°C. The board pulls 4W then. With a single core under full load, 6W are consumed and the temperature rises to 54°C. With all 4 cores under load 6W and 62°C.

When running 4 ‘md5sum /dev/random’ processes, we see 93% system load and 7% userspace load, that’s a bit different from x86 with 70% system load and 30% userspace. The Star64 also has one systemd-udevd process constantly I/O blocked, in runstate D. So even in idle, the load is ‘1’.

https://github.com/ThomasKaiser/sbc-bench is a benchmarking suite for small systems/SOCs. When comparing with the results for a Raspi4b, we see that the Raspi is for some operations 5x as fast as the Star64. It also scores better for memory latency tests. For openssl speed test, Raspi4b is 3x as fast. For 7z tests, the Raspi4b is 1.4 times as fast.

Converting a 4 hour podcast from m4a to wav format took 17sec on a 4.8Ghz Intel cpu, single threaded. It takes 507sec on the 1.5Ghz cpu of the Star64.

Looking at I/O

The Star64 has 3x USB-A connectors speaking USB2, and 1x USB-A connector for USB3. The board also has pins to connect a further USB3 connector, and a further USB4 connector.

I have an external enclosure which can speak USB3, with a 1TB NVMe inside, but I just got it to work via USB2 ports of the Star64. When connected via USB2, I saw ~70% of the transfer rates I see with other Linux systems. A spinning harddisk could be connected via USB3, and the access speeds were as expected. That drive consumes 5W by itself, so it’s good that the Star64 is supplied via extra power supply.

I saw situations where ’lsusb’ did hang, stuck reading bluetooth related data below /sys.

Network speed of the 2 Gbit RJ45 connectors: no surprises, expected throughput and latency.

Summary

While the Star64 might seem usable already for a few things, it’s flagged as ‘for developers’ right now - and that seems justified. It’s somehow refreshing after quite some time to deal again with a hardware where you see kernel backtraces, and not yet all hardware is supported.

The board has some features like PCI-E slot, 2x Gbit ethernet, which other boards to not have.

Raw CPU/memory performance is behind the Raspi4b, but I needed to look at benchmarks to notice that - it’s sufficient for many use cases. I’m surprised the performance is in the same ballpark as ARM at all, considering how young RISC-V is. Performance might also change a bit in the future with better kernel and asm-optimizations for the cpu.

As for Linux distros, I have just used the builds from https://github.com/Fishwaldo/meta-pine64 so far, these are Debian based. The Star64 also works with plain Debian/bookworm userland with non-debian kernel. Not yet sure about Fedora. As my NVMe enclosure can not be connected via USB3 right now, playing is restricted to microSD-card/eMMC.

What might also be fun looking at: comparing power efficiency with Raspi and Intel systems. I just have smartplugs running Tasmota here for metering, for the low consumption of Star64 or Raspi that’s not accurate enough.

I also did not look at Star64 for desktop usage. Drivers for display and audio already exist and are said to be usable. My wiki page around the Star64 is here, I will update it with new findings/developments.

star64 board2


Last modified on 2023-05-15