My #riscv #tablet from #deepcomputing just arrived!

it is glorious chaos! I love it. But I also am a masochist when it comes to computers.

make of that what you will.

first thing: they ship ubuntu 24.04 but it is barely usable. htop shows gnome shell immediately maxing out one core every time you click on something. pretty brutal. opening an app takes about 5 minutes but will rather not work at all. glad I recently purchased a lot of sd cards. will OS shop a little I guess

boy oh boy. that was a tough day with #riscv and the #dcromapad2

turns out, both OSs (ubuntu and debian) that were shipped do work but they are so heavily patched that a simple upgrade will brick them.

ask me how I know! :D

the fact I made a copy of the sd card saved my day so I could at least use the tablet somewhat today.

deepcomputing is aware of the issue and provided a video and source for a new image. will attempt reflashing tomorrow. wish me luck.

let me know of any questiond! bye

Good morning! After a really short night, partly due to my new #riscv "toy" waiting for me, I'm back on #ubuntu 24.04 LTS. It's bumpy but what did I expect from a "dev" device.

I'm trying to look for information about how to make some actual progress. I checked flutter but the dependencies are not resolvable rn.

Anyone have an idea where to start with getting this device up to speed?

I totally forgot to send my last toot so now you get two at once!

I checked and found something rather unsettling: The #spacemit X60 core (seems to be part of the k1 processor) is marketed as RVA22 compliant but I dont think it is. So far, the following extensions do not seem to be included or I'm just blind: B, Za64rs, Zic64b, Zicbop, Ziccamoa, Ziccif, Zicclsm, Ziccrse.

There are a ton more extensions that are included and some that are optional so there is room for error on my side.

Here's the table I made. Feel free to point out mistakes. Source: https://github.com/riscv/riscv-profiles/blob/main/src/profiles.adoc#rva22u64-mandatory-base
riscv-profiles/src/profiles.adoc at main · riscv/riscv-profiles

RISC-V Architecture Profiles. Contribute to riscv/riscv-profiles development by creating an account on GitHub.

GitHub

poor brain. now that i am stuck for the moment in terms of debugging ubuntu and debian, I turned back to porting the device to #Postmarketos

this stuff is like drinking from a firehose. constant hyperfocus and breaks seem obsolete.

well, I'm meeting non tech friends later so thats gonna be my break then.

in the meantime #pmbootstrap fails to generate checksums for my apkbuild... probably because I am missing something with custom kernel...

Another day, another update on #riscv with the #dcromapad2

I have now again woken up much too early for a sunday because I cant let go of porting my device to postmarketOS.

I have now found a specific kernel for the spacemit k1 soc. I have no idea if this is gonna work but the chinese server I'm downloading it from is making it exciting with 135 KB/s!!!

Anyway, will update once I have news. :)

new update! good and bad news!

it only took a whole freaking day but I successfully built a postmarketOS image!

bad news: it doesnt boot, yet. reason being probably that the file structure or partition scheme are wrong.

i the community has been helpful too so thanks a lot so far! :) i hope I can boot this thing soon. that would be awesome

Hello world! I have news about the #dcromapad2

After successfully building a kernel and installing it to an sd card, the system didnt recognizes it. Turns out, the device runs uboot and needs a very specific card layout with 5-6 partitions it seems.

I frankensteined a copy of a copy of the shipped debian image to include the #postmarketOS kernel, initramfs and rootfs.

Now the device bootloops with no output until I rip out the card. Its a step, but a small one.

another update, but slightly different atm since progress has seized. no news on the broken boot image.

in the meantime - while taking a break - i played around with the frail ubuntu on the pad. its not unusable but the possibilities are VERY limited.

i wanted to install fluffychat, no install candidate, compile it, cant install toolchain, use web, wont load, try element, logs in but wont stop syncing. tried posting here, keyboard snaps to numbers only.

there is a LOT of work to be done.

@haui wait, isn't that "b" equal to zba zbb zbs combined?
@cwt possible. how would I determine this?

@haui

How did you check if the SpacmiT K1 / X60 core supports those? I remember I read somewhere that the kernel doesn't support reporting some flags yet.

I ordered a Banana Pi F3 with the same chip and it's still on the way to me. So far only read some stuff about it and can't check anything ...

@sroemer hi stefan, I did cat /proc/cpuinfo and put the data into a table. its absolutely possible that something is reported incorrectly or that I'm missing something. thats why i'm asking for help. feel free to update once you have the device and can look for yourself. i'm curious for additional eyes and input. good luck

@haui

I do not think the SOC is missing those extensions.

See here: https://www.kernel.org/doc/html/v6.12-rc4/arch/riscv/uabi.html

According to the kernel documentation about isa lines in /proc/cpuinfo:

"... the absence of an extension in these lines does not necessarily mean the hardware does not support that feature. The running kernel may not recognize the extension, or may have deliberately removed it from the listing."

#riscv #spacemit #spacemitk1 #bananapif3 #bpif3 #linux #kernel

RISC-V Linux User ABI — The Linux Kernel documentation

@sroemer you hit the nail on the head! Thank you for digging this up! So maybe, the k1 has these extensions. We just dont see them. Do you have any ideas how one would find definitive proof?

@haui

Regarding this I found an article from RedHat:

see https://research.redhat.com/blog/article/risc-v-extensions-whats-available-and-how-to-find-it/

According to the article the DeviceTree can be used to get that information, but since that's just a configuration describing the hardware it could be incomplete too.

#riscv #spacemit #spacemitk1 #bananapif3 #bpif3 #linux #devicetree

@sroemer thanks for mentioning. the device tree is becoming familiar to me since I try to build custom bootloaders. but the info is very good.

@haui

Additionally, this might interest you as well:

https://www.reddit.com/r/RISCV/comments/1gc9tfv/apparently_spacemit_x60_core_isnt_fully_rva22/?sort=old

Here people only talk about missing support for unaligned vector element access.

Anyway, for my use case I am not concerned about all that. I mainly by the device for learning and exploring.

#riscv #spacemit #spacaemitk1 #rva22

@haui

I couldn't resist to have a quick look into the device tree file(s) in the kernel sources of Bianbu Linux:

see here: https://gitee.com/bianbu-linux/linux-6.6/blob/bl-v2.0.y/arch/riscv/boot/dts/spacemit/k1-x.dtsi

On a quick look (didn't check entry by entry) the 'riscv,isa-extensions' entries per cpu seems to match your table.

Anyway as I said before, I think this does not need to reflect the real capabilities of the SOC too.

#riscv #spacemit #spacemitk1 #spacemitx60 #devicetree #linux #bananapif3 #bpif3

arch/riscv/include/asm/rwonce.h · Bianbu Linux/linux-6.6 - Gitee

Linux 6.6 supports SpacemiT Key Stone K1 CPU (in development)

Gitee
@sroemer thats prerry awesome. thanks for digging it up. i'll have a look. feel free to hit me up on matrix if you want to share and discuss more frequently.
@haui try Alpine/pmOS
@fossdd thats what I'm doing on the side rn. trying to get a postmarketOS package ready for the sd card. need to get pmbootstrap to work though since I seem to need a specific kernel. which is one reason why I'm checking the cpu extensions. thanks for the suggestion. do you happen to know which kernel I need to use?
@haui you could try the linux-spacemit kernel from Alpine.
@fossdd great idea! thanks. I do need to think about some way to interface since it is a tablet (touchscreen, bluetooth and usbc, no keyboard or mouse).