uConsole Specs for VM

Hey everyone, in anticipation of getting the actual hardware, I’m planning to set up a handful of VMs to start messing with custom linux installations to build for the CM4 and R01 models. For the purpose of this testing, I’m using the existing QEMU/KVM virtualization solution that I use for all my systems, but I’m a bit confused as to the architecture to choose for the RPi model.

Here is my configuration for the R01 model:
1x vCPU with riscv64 architecture at 1.0Ghz with 1024MB of Ram, 1x 20gb disk, standard emulated usb3 controller.

The CM4 one is a bit more tricky, however, as there are many different ARM architectures to choose from. I’ve attached a screenshot of what I have available:

Beyond that, I don’t think there’s many questions for the rest of the hardware, as a standard usb3 controller and a 20gb virtual drive should be enough to test out most functionality that won’t depend on the presence of unique hardware, such as the 4g chip.

I’d love to know if anyone else has tried anything similar, I’m super excited to start getting a gentoo image set up for these so they’ll be ready to go as soon as they arrive.

6 Likes

“Broadcom BCM2711, Quad core Cortex-A72 (ARM v8) 64-bit SoC @ 1.8GHz
1GB, 2GB, 4GB or 8GB LPDDR4-3200 SDRAM (depending on model)”
ARM v8, and 3200 RAM speed.

I was wondering about this earlier today too. How well it would play a specific game (0ad, a FOSS RTS), because I have a old dual core E8400 desktop that scores on Geek Bench and Passmark not that much higher than the RPi CM4. and it’s able to play 0ad well enough at the lowest settings so I was wondering if with an OC to 1.8ghz or 2.0ghz the CM4 could do the same . . . though, how are you going to emulate the GPU performance?

4 Likes

I didn’t even think about the gpu performance actually, thats going to be more difficult to emulate for sure. I was mostly excited about starting to get a window manager and build environment up and running that would be closer to the hardware in question so I could work on getting that running as performant and with as low resource usage as possible.

Great call checking the rpi4 specs for this, I completely forgot they had their blueprints available.

4 Likes

Hey I wanted to follow up on this, as I’ve just about gotten my gentoo image for the R01 fully compiled and ready to go. I realized that when I was setting up the compiler, I chose the lp64d version vs the lp64 version. (there are several versions of the stage3 tarball available here: Downloads – Gentoo Linux ) The stated difference between these two is: “The lp64d stages can be used on all 64-bit RISC-V processors supporting the double-precision floating point instruction set. The lp64 stages can be used on all 64-bit RISC-V processors; they require no hardware support for floating point arithmetics.”

I’ve been looking at the spec sheets for the Allwinner D1: https://dl.linux-sunxi.org/D1/D1_Datasheet_V0.1_Draft_Version.pdf, but I can’t find whether or not it supports lp64d or just lp64. I feel a bit over my head reading this spec sheet, does anyone here know whether I can use the lp64d set for this system, or should I start recompiling with the lp64 profile? (I’d like to know for sure before I end up with a large package tree, as its taken a day and a half to get to the 300 packages I’m at now in the RISC-V VM.

3 Likes

Use lp64d stage on D1. D1 has double precision floating point instruction set.

3 Likes

Oh thank god lol. I was so worried that i would have to start this compile all over again.

3 Likes

Interesting thing that I noticed while compiling software for the risc-v image, is that Gentoo does not have a stable riscv64 keyword: Project:RISC-V - Gentoo Wiki

As a result, it pulls the latest versions of everything, as though one was using ~amd64. This means that it pulls GCC-13, which is incompatible with both the opensbi build referenced here: Create DevTerm R01 OS image from scratch · clockworkpi/DevTerm Wiki · GitHub, as well as with building LLVM. Downgrading GCC to gcc-11 and running a revdep-rebuild seems to have resolved these compilation issues. Hopefully if anyone else is attempting a similar project, this reply can save you some headache.

3 Likes