# 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 ```sh 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 ```sh 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](../../card-shell/pixman-rvv/pixel-trial/README.md) and [on/off card](../../card-shell/kernel-rvv/card-cost/README.md) 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 ```sh 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 ```sh 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.