SDD 26 §3.ter: el muro del display del PGO está despejado, con evidencia

El PGO necesita correr el navegador para juntar el perfil, y las distros lo
hacen bajo xvfb-run. Nosotros no tenemos X11 (Wayland-only), así que el plan
decía «la salida es un sway headless». Ya no es plan: se corrió.

sway con WLR_BACKENDS=headless y WLR_RENDERER=pixman arranca en gioser —un LXC
SIN /dev/dri, o sea sin GPU ninguna— y dibuja píxeles reales. La captura va como
evidencia: sway 1.10 / wlroots 0.18.2 / foot 1.27.0, los tres binarios nuestros,
salida HEADLESS-1 a 1280x720. Ciclo completo ~2 min.

Dos cosas que costó y quedan escritas para no repetirlas:

· Hidratar BAJO el montaje del store. hydrate-profile.py enlaza, y un hardlink
  no cruza montajes: con --into work/... sale EXDEV porque el store está en otro
  disco. Con --into store/.rootfs/sway son 193/193 nodos y 4,9 G que no ocupan.

· Inyectar el loader de musl. sway salió DINÁMICO y pide
  /lib/ld-musl-x86_64.so.1, que el cierre no trae. El error es
  «exec: /usr/bin/sway: not found», que se lee como «falta el binario» cuando lo
  que falta es su INTÉRPRETE. En musl el libc.so ES el loader, así que se
  resuelve con un --ro-bind. Misma familia que el resto de la noche: el mensaje
  nombra lo que buscó, no lo que falta.

Queda el segundo muro del PGO, que es de diseño y no de infra: el profdata no es
determinista, así que hay que generarlo UNA vez y sellarlo como artefacto propio
consumido por hash.
This commit is contained in:
Sergio
2026-09-06 16:09:24 +00:00
parent ff9dffaff6
commit e88e4ab3d7
2 changed files with 19 additions and 0 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB