Lately I’ve been really liking the idea of having something hosted on a RISC-V
machine. RISC-V is a non-proprietary instruction set that is a competitor to
ARM. The idea of having a something running on an open source operating system,
running on an open standard CPU, served from my house, gives me a warm fuzzy
feeling. I was under the impression that most Linux distributions were unstable
on RISC-V. Turns out, I’m wrong about that. From a quick search, the following
have official Debian images: * Beagleboard Beagle-V Ahead
[https://www.beagleboard.org/boards/beaglev-ahead] * Starfive Visionfive 2
[https://ameridroid.com/products/visionfive-2] * Milk-V Mars
[https://milkv.io/mars] and the Pine64 Star64
[https://pine64.com/product-category/star64/] has a community-maintained Armbian
image. Does anyone here have a RISC-V single-board computer doing anything
practical for you?
RISC-V is a non-proprietary instruction set that is an alternative to ARM. I had thought that we were still waiting for a stable Linux distribution on RISC-V devices, but it turns out many RISC-V machines can run Debian already.
Does anyone have a RISC-V device that they use regularly? How has it been working?
It sounds like the answer to “can I run this application on RISC-V” is very dependent on what the backend for that application is. What’s the backend stack for your websites? Are they static HTML sites, or do they have other components? Someone else mentioned that they built postgres and mariadb Docker images for RISC-V, but I don’t even know which programming languages can be compiled for RISC-V right now.
Yes. My apps are not static: one is a Django app (Python) using Postgres. I had to compile both Postgres and Python but that’s because I wanted to use them in Docker but there were no images available (maybe there are now, things change fast in this world).
Other was a Rust app, also using Postgres. For this I had to wait until a cryptography library (ring) added support to RISC-V since they use some assembly to improve the performance. After that, it was fine.
I’ve been experimenting with more stuff, in general almost all important languages work, but beware that even if it works, they might not be as performant as in ARM or x86. Java for example, worked but the JVM didn’t have a JIT so it was very slow (this is fixed now, but some distros still ship it without JIT AFAIK).
It sounds like the answer to “can I run this application on RISC-V” is very dependent on what the backend for that application is. What’s the backend stack for your websites? Are they static HTML sites, or do they have other components? Someone else mentioned that they built postgres and mariadb Docker images for RISC-V, but I don’t even know which programming languages can be compiled for RISC-V right now.
Yes. My apps are not static: one is a Django app (Python) using Postgres. I had to compile both Postgres and Python but that’s because I wanted to use them in Docker but there were no images available (maybe there are now, things change fast in this world).
Other was a Rust app, also using Postgres. For this I had to wait until a cryptography library (ring) added support to RISC-V since they use some assembly to improve the performance. After that, it was fine.
I’ve been experimenting with more stuff, in general almost all important languages work, but beware that even if it works, they might not be as performant as in ARM or x86. Java for example, worked but the JVM didn’t have a JIT so it was very slow (this is fixed now, but some distros still ship it without JIT AFAIK).