1# Handoff → agente tawasuyu (mesa/mirada/USB): correr mirada en el tester NVIDIA
2
3**De:** agente hammer (frente Go/kernel). **Fecha:** 2026-06-29.
4**Objetivo:** un tester con GPU **NVIDIA en Windows** quiere probar el **compositor mirada** booteando un **USB live** (no WSLg — WSLg usa el compositor de Microsoft, no mirada; sólo serviría para el userland CLI).
5
6## ✅ Lo que YA entregué (kernel) — listo para usar
7- **`recipes/linux-generic.toml`** (Linux **7.1.2** estable), bzImage 16M, sellado **`b3:fded43c0dd83c650952e437f1a89927fdec906207e5b2d4cf624bcc1a552da2f`** (en el store del hub y del worker, en `boot/bzImage`).
8- Genérico (no clavado al TigerLake como `linux-metal`): **i915 + radeon + nouveau** built-in + simpledrm fallback, **squashfs+overlay** (live USB), storage/USB/input/EFI/VFAT/ISO9660 amplios, monolítico (sin módulos).
9- Da **`/dev/dri/cardN` con KMS por nouveau** → es lo que mirada necesita del kernel.
10- **amdgpu (AMD moderno) excluido en v1** (ICE de gcc en 7.1; ver memoria etapa-metal-usb). radeon (AMD viejo) sí. Si algún tester futuro tiene AMD reciente → v2.
11
12## 🔧 Tareas para vos (el kernel es necesario pero NO suficiente para NVIDIA)
131. **MESA con nouveau/NVK** (lo bloqueante). La `recipes/mesa.toml` actual es **iris-only** (`-Dgallium-drivers=iris`, sin LLVM). mirada (wgpu) necesita en NVIDIA:
14 - **Vulkan NVK** (`-Dvulkan-drivers=nouveau`) — lo que wgpu prefiere; requiere mesa reciente + probablemente LLVM/SPIR-V.
15 - y/o **gallium nouveau** (`-Dgallium-drivers=nouveau`) para GL (o zink sobre NVK).
16 - Hacé una variante `recipes/mesa-nouveau.toml` (no toques la iris-only, que es del escritorio TigerLake). Ojo: nouveau gallium suele pedir LLVM — choca con el plan "iris sin LLVM", pero acá es otra imagen.
172. **FIRMWARE nouveau** en el rootfs `/lib/firmware/`:
18 - Turing+ / RTX (20xx en adelante): **GSP-RM** en `nvidia/<chip>/gsp/*.bin` — **imprescindible**, sin él nouveau no hace modeset.
19 - Pre-Turing: blobs ctxsw en `nouveau/`.
20 - **Pedile al tester el modelo exacto de GPU** para elegir el `<chip>` correcto (y confirmar que nouveau lo soporta).
213. **USB live**: armá la imagen (squashfs+overlay, boot EFI-stub) con el bzImage `linux-generic` + rootfs con mirada + mesa-nouveau + firmware. Base: `scripts/metal-iso.sh` / `scripts/metal-usb-sdboot.sh` (adaptar de `linux-metal` → `linux-generic`; el cmdline del generic NO viene horneado, ponelo en el bootloader/EFI-stub).
224. **Validación**: probá mirada primero en **VM con virtio-gpu** (`DRM_VIRTIO_GPU` ya está =y en el kernel) para aislar el compositor; recién después en el metal NVIDIA.
23
24## Cómo sacar el bzImage del store
25`hammer --store ./store hydrate b3:fded43c0… <destino>` (o copialo de `store/fded43c0…-linux-generic/boot/bzImage`). Reconstruible: `hammer build recipes/linux-generic.toml` (deps flex/bison/m4/openssl/elfutils + zig-0.13, ya en el worker).
26
27Dudas del kernel (drivers a agregar, cmdline, otra config) → pedímelas y reviso `linux-generic.toml`.
HANDOFF-nvidia-mirada.md
Handoff → agente tawasuyu (mesa/mirada/USB): correr mirada en el tester NVIDIA
De: agente hammer (frente Go/kernel). Fecha: 2026-06-29.
Objetivo: un tester con GPU NVIDIA en Windows quiere probar el compositor mirada booteando un USB live (no WSLg — WSLg usa el compositor de Microsoft, no mirada; sólo serviría para el userland CLI).
✅ Lo que YA entregué (kernel) — listo para usar
recipes/linux-generic.toml (Linux 7.1.2 estable), bzImage 16M, sellado b3:fded43c0dd83c650952e437f1a89927fdec906207e5b2d4cf624bcc1a552da2f (en el store del hub y del worker, en boot/bzImage).
- Genérico (no clavado al TigerLake como
linux-metal): i915 + radeon + nouveau built-in + simpledrm fallback, squashfs+overlay (live USB), storage/USB/input/EFI/VFAT/ISO9660 amplios, monolítico (sin módulos).
- Da
/dev/dri/cardN con KMS por nouveau → es lo que mirada necesita del kernel.
- amdgpu (AMD moderno) excluido en v1 (ICE de gcc en 7.1; ver memoria etapa-metal-usb). radeon (AMD viejo) sí. Si algún tester futuro tiene AMD reciente → v2.
🔧 Tareas para vos (el kernel es necesario pero NO suficiente para NVIDIA)
- MESA con nouveau/NVK (lo bloqueante). La
recipes/mesa.toml actual es iris-only (-Dgallium-drivers=iris, sin LLVM). mirada (wgpu) necesita en NVIDIA:
- Vulkan NVK (
-Dvulkan-drivers=nouveau) — lo que wgpu prefiere; requiere mesa reciente + probablemente LLVM/SPIR-V.
- y/o gallium nouveau (
-Dgallium-drivers=nouveau) para GL (o zink sobre NVK).
- Hacé una variante
recipes/mesa-nouveau.toml (no toques la iris-only, que es del escritorio TigerLake). Ojo: nouveau gallium suele pedir LLVM — choca con el plan "iris sin LLVM", pero acá es otra imagen.
- FIRMWARE nouveau en el rootfs
/lib/firmware/:
- Turing+ / RTX (20xx en adelante): GSP-RM en
nvidia/<chip>/gsp/*.bin — imprescindible, sin él nouveau no hace modeset.
- Pre-Turing: blobs ctxsw en
nouveau/.
- Pedile al tester el modelo exacto de GPU para elegir el
<chip> correcto (y confirmar que nouveau lo soporta).
- USB live: armá la imagen (squashfs+overlay, boot EFI-stub) con el bzImage
linux-generic + rootfs con mirada + mesa-nouveau + firmware. Base: scripts/metal-iso.sh / scripts/metal-usb-sdboot.sh (adaptar de linux-metal → linux-generic; el cmdline del generic NO viene horneado, ponelo en el bootloader/EFI-stub).
- Validación: probá mirada primero en VM con virtio-gpu (
DRM_VIRTIO_GPU ya está =y en el kernel) para aislar el compositor; recién después en el metal NVIDIA.
Cómo sacar el bzImage del store
hammer --store ./store hydrate b3:fded43c0… <destino> (o copialo de store/fded43c0…-linux-generic/boot/bzImage). Reconstruible: hammer build recipes/linux-generic.toml (deps flex/bison/m4/openssl/elfutils + zig-0.13, ya en el worker).
Dudas del kernel (drivers a agregar, cmdline, otra config) → pedímelas y reviso linux-generic.toml.