Testing applications on RISC-V hardware

Hullo!

I have a bunch of snaps that I publish in the store. While everything should work the same on all architectures, that’s not always the case. GPU & driver differences, and other library quirks, mean that testing on amd64 doesn’t automatically assume the same snap works on arm64, for example.

I can test the apps on amd64 (ThinkPad running Ubuntu) and arm64 (MacBook Air running Ubuntu Asahi), and, at a push (if I dig out a Raspberry Pi), on armhf.

Some of which are built for “interesting” architectures such as s390x, ppc64el, and riscv64.

I don’t care so much about s390x and ppc64el, and don’t think my wife will accept me having an IBM “mainframe” in the house, but I am keen for things to work on the new upstart architecture, riscv64.

Is there a reasonably priced, reasonably specced board or laptop that can run Ubuntu desktop, to test these things, even if at a slow speed? Just knowing an application launches at all, and paints a window, is better than no testing.

2 Likes

Hello Alan,

Up to Ubuntu Noble and core24 the ISA used on Ubuntu riscv64 is RVA20.
With Ubuntu Questing and core26 the required ISA is RVA23.

General RVA23 hardware availability is expected end of April, beginning of May 26:

Expect these to run with vendor kernel and Ubuntu user land until upstreaming is completed. With Mesa llvmpipe the Gnome desktop runs fine.

For RVA20 see Download Canonical-built Ubuntu for RISC-V Platforms | Ubuntu for supported boards. Without vendor Mesa none of these will able to run a desktop. The StarFive VisionFive 2 Lite would be my preference.

Setting up a VM to test riscv64 is described in https://canonical-ubuntu-hardware-support.readthedocs-hosted.com/boards/how-to/qemu-riscv/. The Xubuntu desktop runs fine.

Best regards

Heinrich

3 Likes

I’d say it’s too early to buy RISC-V hardware for this use case, given RVA23 SoCs are so close to become generally available.
I personally have high hopes for the upcoming RVA23 board from DeepComputing. I’d love to put my hands on a Framework laptop powered by that.

2 Likes

Do we actually know what happens when you run a snap using an RVA20 base (core18-24) on RVA23 hardware ? I assume we have a few RISC-V snaps in the store already, would they just segfault ?

1 Like

Thank you @xypron for the quick & comprehensive response! Very much appreciated. I’ll start saving my pennies for April/May, and refresh those pages regularly.

In the meantime, I took your advice and tried using emulation.

I am using a ThinkPad L14 (11th Gen i5 CPU, 32GB RAM, 1TB disk) running Ubuntu 24.04. I followed the guide at “Using the live server image” and got:

qemu-system-riscv64: unable to find CPU model 'rva23s64'

I see there’s a call out further up the page about the cpu parameter:

But you don’t see that if you use the right-hand navigation, jumping directly to the “live server image” as I did.

Perhaps the cpu note should actually be more prominently displayed in the prerequisites section at the very top of the page?

1 Like

RVA23 is a superset of RVA20. Core24 snaps work on RVA23 hardware.

Core26 snaps cannot run on RVA20 hardware. https://github.com/canonical/snapd/pull/16347 implements a test for core26 snaps to check if the hardware matches the RVA23 requirement.

1 Like

@popey, Ubuntu 25.10 and 26.04 have a current QEMU which supports RVA23 emulation.

While true, I (and I suspect many others) won’t really want to upgrade out of the LTS cycle just for one package.

So it might be worth optimising the docs for that user base? :person_shrugging:

Ok, managed to get the VM running and even installed Ubuntu desktop :smiley:

Thanks again! Have a great weekend.

1 Like

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.