| 17 Mar 2025 |
Tristan Ross | I've tried builds on one and everything segfaults | 21:40:38 |
Alex | Performance is also a problem, because it takes a lot of compute to build every change in Nixpkgs (AFAIK Hydra is the only sane way of getting things into the official cache). | 21:41:31 |
Tristan Ross | Yeah, I didn't even try evals on it lol | 21:42:44 |
Alex | Evals aren't a problem at all, since they run entirely on the Hydra master server, which is (presumably) x86. | 21:43:25 |
Tristan Ross | Building stuff kept on failing because my VisionFive2 has a DMA issue with the NIC driver so ssh kept on crashing along with the P550 segfaults | 21:43:27 |
Tristan Ross | In reply to @alex:tunstall.xyz Evals aren't a problem at all, since they run entirely on the Hydra master server, which is (presumably) x86. Well, I'm considering others doing local eval. | 21:43:46 |
Tristan Ross | Like once it's built, you have to consume it | 21:44:00 |
Tristan Ross | To consume it, you need the hash which you get via evals | 21:44:12 |
flx | About the stability issue. What about cross compilation? | 21:44:12 |
Tristan Ross | Cross is fine | 21:44:24 |
Tristan Ross | You just need something like Ampere or Epyc to do it | 21:44:37 |
Alex | Assuming that the package works in cross anyway.
Emulated is also fine, but there may still be a few bugs in QEMU's RISC-V implementation. Just a few months ago, someone found a build error only reproducible on emulated RISC-V. | 21:45:31 |
flx | What that be a reasonable option for the NixOS project to do? | 21:46:40 |
Alex | Cross is impractical as soon as you try customising anything too, since that won't be in cache.
(I don't see how you could do "cross pkgs, native modules/configs" for a NixOS build.) | 21:47:44 |
Tristan Ross | In reply to @flx-:matrix.org What that be a reasonable option for the NixOS project to do? Wait for better hardware and software | 21:49:03 |
Tristan Ross | In reply to @alex:tunstall.xyz
Assuming that the package works in cross anyway.
Emulated is also fine, but there may still be a few bugs in QEMU's RISC-V implementation. Just a few months ago, someone found a build error only reproducible on emulated RISC-V. I've found that as well | 21:50:22 |
flx | I see. Well. | 21:51:53 |
flx | Thanks anyways :) | 21:52:37 |
Steven Keuchel | I got a milk-v megrez which seems surprisingly stable to me. What kernel do you run? | 22:01:39 |
Steven Keuchel | I'm using this https://github.com/rockos-riscv/rockos-kernel | 22:03:08 |
Tristan Ross | Ask Matthew Croughan lol | 22:04:36 |
Tristan Ross | It's his machine | 22:04:42 |
Tristan Ross | But I have remote build access | 22:04:51 |
| 19 Mar 2025 |
| Sergei Zimmerman (xokdvium) changed their display name from xokdvium to Sergei Zimmerman (xokdvium). | 21:12:14 |
| 24 Mar 2025 |
Kamilla 'ova | bugs in QEMU's RISC-V implementation
just use https://github.com/LekKit/RVVM :) it's jit is also faster than qemu tcg | 11:50:19 |
Kamilla 'ova | bugs in QEMU's RISC-V implementation
just use https://github.com/LekKit/RVVM :) its jit is also faster than qemu tcg | 11:51:10 |
Jake Hillion | How do you connect up RVVM with the build infra? I have the binfmt-misc stuff setup for doing builds on my EPYC machine (not much luck yet lol, needs some more work to get my VisionFive2 up and running), is RVVM the same deal or more of a standard VM setup? | 11:52:35 |
Kamilla 'ova | RVVM is mainly a full system emulator like virtualbox, but it also has (too much WIP, feel free to contribute!) rvvm-user
ofc it uses softmmu (which is slow), but there is some work on using hardware mmu (without kvm) via low-level mmu hacks, which are currently (experimentally) implemented for risc-v, but could also be implemented for x86 and arm, if you know (or know someone who knows) a lot about x86 ring0 assembly and mmu setup - feel free to help :) https://github.com/LekKit/RVVM?tab=readme-ov-file#%EF%B8%8F-support-the-project
https://github.com/LekKit/shadow_pgt | 12:10:37 |
Jake Hillion | Nice, thanks for the info! I'll have a go at setting up a VM on my EPYC machine tonight. Still getting started with RISC-V, and I want to initially get a good idea of what the bootstrapping experience is like when you combine emulation/small physical hardware like the VisionFive2. Already started having fun with packages that I previously couldn't build for armv7l either not building under QEMU emulation (mainly checks). I don't think I'm the ASM guy unfortunately, i'm a systems/bpf dev but nothing that low level. | 12:49:04 |
Jake Hillion | Do we have any experience so far with how well Nixpkgs takes changes like this for RISC-V?: https://github.com/NixOS/nixpkgs/blob/4d82b26c6a5da66d0c78407bff11562aa2118e89/pkgs/by-name/bo/boehmgc/package.nix#L64-L70 | 12:55:53 |