There’s a little RISC-V board on my desk – little in size, but it has 8GB of RAM and 1TB of storage – which is going to do some KDE build work.

For some background, The Register has a bit on what the Linux Foundation is doing in this space.

It’s a modern-ish Linux kernel:

[    0.000000] Linux version 5.15.0-starfive (sw_buildbot@mdcsw02)
               (riscv64-unknown-linux-gnu-gcc (GCC) 10.2.0, GNU ld
               (GNU Binutils) 2.35) #1 SMP Mon Dec 19 07:56:37 EST 2022
[    0.000000] Machine model: StarFive VisionFive V2

with a variety of storage options (eMMC is not connected today):

mtdblock1    31:1    0     3M  0 disk 
mtdblock2    31:2    0     1M  0 disk 
mmcblk1     179:0    0  29.7G  0 disk 
nvme0n1     259:0    0 931.5G  0 disk 

There’s a capable X11 desktop included, I think, but for now I’m working only over serial or ssh to bootstrap development.

Something I’ve recently bemoaned is that kdesrc-build somewhat takes away the old-fashioned “build it by hand and good luck” approach to building KDE. We have lots of carefully crafted dependency information in CMakeLists.txt, we used to have extensive documentation, and still have traditional packaging information in o-so-many-distro’s, but .. well, I’m going for an artisanal feel I guess.

  • Install g++, cmake, ninja-build and git packages,
  • Clone the KDE Qt Patch collection base repository,
  • Run configure with a -prefix so everything gets built on that nvme drive.

In a total throwback to early years of Solaris packaging of KDE4, this means I get stuck in a loop of “what dependency am I missing now”. While trying the default branch (Qt6), I needed to add libmd4c-html0-dev (Debian, eh, so there’s separate -dev packages for everything). After that I switched to kde/5.15 branch, the KDE Qt Patch collection that I would want for a KDE Plasma stack.

I’m going to let it grind through building Qt5 (base) overnight to see how we do, build-wise. Creating qmake takes long enough (compared to the last Qt5 (base) build I did, which was on a 12th-generation i9 with 24 threads and 64GB RAM, that I think “overnight” might not be long enough.

Pictures of the assembled board in action to follow.