From 72af9a802f65f1ebe1371e88e807b374e8d94c32 Mon Sep 17 00:00:00 2001 From: sergio Date: Fri, 10 Jul 2026 20:02:17 -0400 Subject: [PATCH] =?UTF-8?q?arranque-grafo:=20diagn=C3=B3stico=20preciso=20?= =?UTF-8?q?del=20cero-parpadeo=20(ADR=200010=20paso=204)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Evidencia por captura de framebuffer en OVMF-GOP: el kernel metal pinta todo el log de boot sobre el FB gráfico (simpledrm 160x50). Quitar console=tty0 no alcanza (VT_CONSOLE=y auto-registra); quiet/loglevel por LoadOptions no frena (fbcon redibuja el ring buffer + ignore_loglevel horneado fuerza salida). Fix identificado (requiere rebuild del kernel metal, cambia hash firmado): CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=y + cmdline horneada quiet loglevel=3 vt.global_cursor_default=0 sin earlyprintk/ignore_loglevel (CONFIG_LOGO ya off). Seamless i915 sólo validable en metal Intel real. Co-Authored-By: Claude Opus 4.8 --- docs/adr/0010-arranque-grafo-mirada.md | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/docs/adr/0010-arranque-grafo-mirada.md b/docs/adr/0010-arranque-grafo-mirada.md index 8f224725..88fe5a85 100644 --- a/docs/adr/0010-arranque-grafo-mirada.md +++ b/docs/adr/0010-arranque-grafo-mirada.md @@ -77,9 +77,19 @@ Un solo modo de video desde la firmware hasta el compositor: 1. Firmware GOP framebuffer → **`SYSFB_SIMPLEFB`** toma ese mismo FB → **i915 hace *seamless takeover*** sin cambio de modo. (El kernel ya tiene los tres bits `=y`.) -2. Cmdline **`quiet loglevel=0`** + sin texto de fbcon ni cursor (`vt.global_cursor_default=0`), sin - getty en el VT gráfico durante el arranque. **Ajuste pendiente:** hoy `FRAMEBUFFER_CONSOLE=y` - puede pintar texto encima; afinar cmdline/config del kernel. +2. Sin texto de fbcon ni cursor durante el arranque, sin getty en el VT gráfico. **Diagnóstico + preciso (2026-07-10, evidencia por captura de framebuffer en OVMF-GOP, `scripts/`):** hoy el kernel + metal pinta TODO el log de boot sobre el framebuffer gráfico (simpledrm "switching to colour frame + buffer device 160x50" + decenas de líneas). Causa: `CONFIG_VT_CONSOLE=y` registra el VT como consola + automáticamente (quitar `console=tty0` NO alcanza — probado), y `quiet loglevel=0` por LoadOptions NO + lo frena (fbcon redibuja el ring buffer al tomar el FB a ~0.6s; además el `ignore_loglevel earlyprintk` + HORNEADO en `CONFIG_CMDLINE` fuerza la salida). **Fix (requiere rebuild del kernel metal, cambia el + hash firmado):** (a) `CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=y` — fbcon no toca el FB hasta el + primer output ⇒ queda negro; (b) cmdline horneada → quitar `earlyprintk=efi,keep ignore_loglevel`, + añadir `quiet loglevel=3 vt.global_cursor_default=0`; (c) `CONFIG_LOGO` ya está off ✓. GOTCHA de + validación: con `quiet` los marcadores serie kernel-side desaparecen ⇒ los harness EFI deben apoyarse + en los marcadores userspace tee'ados a `/dev/ttyS0` (que sobreviven `quiet`). El *seamless* i915 (1) + sólo se valida en metal Intel real (OVMF no trae i915). 3. **mirada abre el DRM master directo** y lo sostiene desde el menú hasta el escritorio — nunca suelta, nunca re-modeset.