Normal-image vector build, host evidence
This records cross-build results for the proposed ordinary RVV board graph.
It is host build evidence only: no candidate boot, installed system,
physical vector result or recovery is claimed here. The relevant source
changes are 86aca3a2 (normal kernel/Pixman graph), baebf364
(normal-graph card package), and 55de932c (target-only overlay guard).
The combined build branch includes the independently reviewed charged-input
instrumentation cherry-pick a34e900e; its landed master equivalent is
c292ebcb.
Normal kernel: PASS
nix build .#kernel --max-jobs 1 --cores 4 --no-link --print-out-paths
The host cross-build completed successfully on 2026-09-23/24 UTC and printed
/nix/store/nyka2ipsrg8i5w5grrc4y18pspyv9gxj-linux-riscv64-unknown-linux-gnu-6.6.36-xuantie.
Its matching module output is
/nix/store/4b9ijyimxs95dmd7pafc5pjm8yrk9c1f-linux-riscv64-unknown-linux-gnu-6.6.36-xuantie-modules.
The exact kernel derivation is
/nix/store/rai03djhpx5hf4jpk3x10wf0rb43vdx2-linux-riscv64-unknown-linux-gnu-6.6.36-xuantie.drv.
The evaluated config is
/nix/store/gqrjmbw5k0k6i9m66sp5fyhza6202dbh-linux-config-riscv64-unknown-linux-gnu-6.6.36-xuantie;
it contains RISCV_ISA_V=y, RISCV_ISA_V_DEFAULT_ENABLE=y,
DYNAMIC_SIGFRAME=y, ERRATA_THEAD_VECTOR=y, and dynamic
RISCV_ISA_ZBB=y, RISCV_ISA_ZICBOM=y, RISCV_ISA_ZICBOZ=y,
RISCV_ISA_SVPBMT=y. The ordinary kernel and diagnostic trial aliases
evaluate to this same derivation, avoiding a second application of the
toolchain-probe source patch. This does not prove a physical boot.
Initial compositor attempt: FAIL, corrected
The first nix build .#shell-compositor --max-jobs 1 --cores 4 --no-link --print-out-paths failed in native x86 Pixman derivation
/nix/store/5mspjxgk0i24acz5ibx9xvsayigb49sc-pixman-0.46.4.drv.
Meson reported RISC-V Vector Support unavailable, but required while
identifying its host machine as x86_64. The board overlay had also applied
to native buildPackages, so the host tool dependency was incorrectly
asked to build RVV. This failure is retained; it was not a target Pixman
failure or a board result.
Commit 55de932c restricts the RVV override to
prev.stdenv.hostPlatform.system == "riscv64-linux". Evaluation after
that correction yields the unchanged, tested target RVV Pixman derivation
/nix/store/3vhbn7qrav9g876s4kd6snp3rx6hhyvv-pixman-riscv64-unknown-linux-gnu-0.46.4.drv
and native scalar Pixman derivation
/nix/store/c69ckksfgkwwdp84gxi33m9m1zc2cjlh-pixman-0.46.4.drv.
Corrected normal compositor: PASS
nix build .#shell-compositor --max-jobs 1 --cores 4 --no-link --print-out-paths
nix-store -q --requisites /nix/store/6y0ba1gg2bgiqm2qc7hkwk022frrz4sp-sway-1.12 |
rg 'pixman.*riscv64|pixman-0.46'
The corrected cross-build passed from combined source revision
b1b3770fb5a324b29d147189dd9591623d6ce5d2 and produced
/nix/store/6y0ba1gg2bgiqm2qc7hkwk022frrz4sp-sway-1.12.
Its runtime closure contains exactly one target Pixman provider:
/nix/store/brhzfimak2r3c23lmn80y1g6ww6nmb1r-pixman-riscv64-unknown-linux-gnu-0.46.4.
This is the identical library derivation/output previously used in the
physical pixel and
on/off card trials. Those
trials proved a scalar PIXMAN_DISABLE=rvv control and the runtime hwprobe
gate for their trial kernel; this host build alone does not show which path
the new ordinary image will select after boot.
Rebuilt card trial: PASS
nix build .#card-shell --max-jobs 1 --cores 4 --no-link --print-out-paths
nix-store -q --requisites /nix/store/45lxhyx6887089d0yd9bx47rh753m1vg-k230-card-shell |
rg 'pixman.*riscv64|pixman-0.46'
The card package built from the board’s overlaid package set with the charged
input timing adapter source in the combined branch. It produced
/nix/store/45lxhyx6887089d0yd9bx47rh753m1vg-k230-card-shell; the
compatibility card-shell-rvv output evaluates to the same path. Its
runtime closure contains exactly one target Pixman provider, the same
/nix/store/brhzfimak2r3c23lmn80y1g6ww6nmb1r-pixman-riscv64-unknown-linux-gnu-0.46.4.
The card’s unwrapped Sway binary is
/nix/store/6cg9j8ximdm8s4dy0d7rbf83318lknlx-sway-unwrapped-riscv64-unknown-linux-gnu-1.12/bin/sway.
This package remains an opt-in card experiment; building it does not place
cards in the normal session or prove its physical runtime behavior.
Coherent normal system closure: PASS
nix build .#toplevel --max-jobs 1 --cores 4 --no-link --print-out-paths
nix-store -q --requisites /nix/store/32w7diij07p9cjpyi3xzr4hipidyd9m5-nixos-system-nixos-26.11.20260919.20b1ddd |
rg 'pixman.*riscv64|k230-wifi-driver|linux-riscv64-unknown-linux-gnu-6.6.36'
The cross-build passed from combined branch revision
7d28a44e16674794bad104d10a766037fc9e37da, with later documentation
and standalone-probe commits leaving these normal derivations unchanged.
The output is
/nix/store/32w7diij07p9cjpyi3xzr4hipidyd9m5-nixos-system-nixos-26.11.20260919.20b1ddd.
Its boot.json selects the kernel nyka2ipsrg8i5w5grrc4y18pspyv9gxj
Image above and matching initrd
/nix/store/36p4258i2ldxsi5vid9nq5l4dh2vayfm-initrd-linux-riscv64-unknown-linux-gnu-6.6.36-xuantie/initrd.
The closure includes rebuilt Wi-Fi driver
/nix/store/169mynmksdh5psqg6wyw61jnk21s578x-k230-wifi-driver-riscv64-unknown-linux-gnu-94cc959d
and exactly one target Pixman provider,
/nix/store/brhzfimak2r3c23lmn80y1g6ww6nmb1r-pixman-riscv64-unknown-linux-gnu-0.46.4.
Its normal closure contains neither the opt-in card package nor the
standalone bit-manipulation diagnostic. The kernel Image SHA256 is
29727ff3313e8d8d5a171eab736df244812dbbcc1280bf28f88b358700054857;
the Pixman lib/libpixman-1.so SHA256 is
983f88f4f8628824022644297993aa367963288c6d8a61c87ccbac47fa9beb56.
This closes host build integration only. The ordinary image has not been booted on this board, its actual mapped library and dispatch are not yet observed, and physical recovery is still open.