docs(agent): #95 both Ghostty fails are Acer pre/post HM, XPS is fine
Some checks failed
Check / eval (push) Has been cancelled

Bernardo: XPS starts Ghostty. Aspire only fails — first attempt before
home built (OpenGLOutdated), second after home built (quiet GDK_DISABLE
exit). Kitty was the manual working shell used to run both.
This commit is contained in:
2026-07-15 09:36:54 +01:00
parent 70f2d4d54d
commit 2c9df329dc
3 changed files with 50 additions and 47 deletions

View File

@@ -144,12 +144,17 @@ template source. Pass = Chromium launches after installation and HTTP/HTTPS
mime defaults resolve to `chromium-browser.desktop` (and the intended live-ISO mime defaults resolve to `chromium-browser.desktop` (and the intended live-ISO
browser posture is explicit). browser posture is explicit).
### 95. Live ISO/install: Ghostty does not open — **two distinct failures** ### 95. Live ISO/install: Ghostty does not open on Acer (old GL + two log shapes)
Two photos, two machines, **two different Ghostty death modes**. Do not **Machine:** Acer Aspire M5-481T only. **Dell XPS 9350 starts Ghostty fine**
collapse them into one "old GPU" fix; a fix for (A) can leave (B) broken. (Bernardo clarified 2026-07-15 — do not treat XPS as a Ghostty failure).
**A — Acer Aspire M5-481T: OpenGL too old (explicit)** On the Acer, Bernardo installed **kitty** by hand (worked) and launched
Ghostty from that shell twice — **same box, two lifecycle points, two log
shapes**:
**1 — Before Home Manager was properly built** (partial first boot after
#123 bake failure). Explicit GPU floor:
``` ```
info(opengl): loaded OpenGL 4.2 info(opengl): loaded OpenGL 4.2
@@ -160,11 +165,7 @@ warning(gtk_ghostty_surface): surface failed to initialize
err=error.SurfaceError err=error.SurfaceError
``` ```
Ghostty 1.3.1 starts, loads config, hits the GPU floor, prints the reason, **2 — After home was built** (full HM generation). Silent-ish exit:
returns to the shell (~2s). Anything ≤ GL 4.2 (Ivy Bridge era) is dead for
the default terminal.
**B — Dell XPS 9350 (photo without Acer bezel): silent exit after GDK_DISABLE**
``` ```
warning(gtk_ghostty_application): setting GDK_DEBUG= warning(gtk_ghostty_application): setting GDK_DEBUG=
@@ -172,29 +173,30 @@ warning(gtk_ghostty_application): setting GDK_DISABLE=gles-api,vulkan
~ 9s ) ~ 9s )
``` ```
Same Ghostty 1.3.1 / GTK path / config read — but **no** `info(opengl):` No `info(opengl):` line, no `OpenGLOutdated`, no `SurfaceError` — process
line, **no** OpenGLOutdated, **no** SurfaceError. Process ends after ~9s ends after ~9s with only the two `GDK_*` warnings. Same Ghostty 1.3.1, same
and leaves only the two `GDK_*` warnings. XPS Skylake iGPU is not a GL-4.2 machine; the difference is **session/config state after HM**, not a second
floor machine; this is a different surface/backend failure (forced desktop GPU. Likely still the GL 4.2 floor (or the same surface path) with different
OpenGL after disabling GLES+Vulkan, Wayland/EGL context, incomplete first verbosity once the full Ghostty/GTK/Stylix config is in place — confirm
session after #123, …). Capture a second run with `GDK_DEBUG` / Ghostty before inventing a second root cause. Re-run post-HM with extra logging
`-e` verbosity or `WAYLAND_DEBUG=1` before guessing the patch. (`GDK_DEBUG`, Ghostty verbosity, `WAYLAND_DEBUG=1`) if the quiet path is
still opaque.
**Shared product impact:** default terminal is Ghostty (`nomarchy.terminal`), **Product impact:** default terminal is Ghostty (`nomarchy.terminal`), so on
so SUPER+Return and the launcher entry are dead when either mode hits. this class of GPU SUPER+Return and the launcher entry are dead. Kitty as a
Bernardo worked around on the Acer by adding `kitty` to `home.packages`. manual workaround proved the session/Wayland path is fine.
**Fix direction (likely two slices):** **Fix direction:** treat the **GL ≥ 4.3 requirement** as the primary Acer
1. **(A)** soft-fallback or alternate default when GL < 4.3 (probe, or blocker (soft-fallback, alternate default terminal when GL < 4.3, or
ship a second terminal and bind/fallback). installer/hardware probe that swaps the default). Do not leave SUPER+Return
2. **(B)** reproduce on XPS-class hardware or QEMU with a capable GL stack; bound to a terminal that cannot map a surface. Optionally make the post-HM
fix the silent path (must never exit without a user-visible error or a failure mode print the OpenGL reason again so the quiet log is not a
working window). May interact with #123 if the first session is half-baked. support trap.
**Pass:** SUPER+Return opens a usable terminal on **both** the Acer (A) and **Pass:** on the Acer (or a GL 4.2 / softGL stand-in), SUPER+Return opens a
the XPS (B); modern-GL machines still get themed Ghostty by default; a usable terminal without hand-editing `home.packages`; modern-GL machines
regression that only fixes A or only B is not done. V2 may cover (A) via (including the XPS) still get themed Ghostty by default. V2 softGL may cover
softGL version pinning; (B) needs the XPS or a faithful GL/Wayland guest. the floor; V3 on the Acer is the real check.
### 98. Boreal: button text renders black and is difficult to read ### 98. Boreal: button text renders black and is difficult to read

View File

@@ -436,13 +436,12 @@ the **T14s** (webcam case).
**without** running `home-manager switch` by hand. **Fail** = still **without** running `home-manager switch` by hand. **Fail** = still
need the recovery one-liner, or GTK/nm-applet still wrong until a need the recovery one-liner, or GTK/nm-applet still wrong until a
manual switch (then the bake is still incomplete). manual switch (then the bake is still incomplete).
- [ ] **#95 Ghostty — two machines, two failure modes** — after the fix(es): - [ ] **#95 Ghostty on Acer M5-481T only** — XPS is fine (clarified
**(A) Acer M5-481T:** SUPER+Return opens a usable terminal (today: 2026-07-15). On the Acer after the fix: SUPER+Return opens a usable
OpenGL 4.2 → `OpenGLOutdated` / `SurfaceError`). **(B) Dell XPS 9350:** terminal without hand-adding kitty. Today both attempts fail: (1)
SUPER+Return opens a usable terminal (today: silent exit after pre-HM → explicit `OpenGL 4.2` / `OpenGLOutdated`; (2) post-HM →
`GDK_DISABLE=gles-api,vulkan`, no OpenGL line). A modern-GL box still quiet exit after `GDK_DISABLE=gles-api,vulkan`. Confirm post-fix
gets themed Ghostty by default. **Both** A and B required — fixing only both lifecycle points open a window. Modern-GL default remains Ghostty.
the GL floor is not done.
- [ ] **#124 flake pin after main-ISO install** — on a machine installed - [ ] **#124 flake pin after main-ISO install** — on a machine installed
from a **main-built** ISO (post-fix): `~/.nomarchy/flake.nix` from a **main-built** ISO (post-fix): `~/.nomarchy/flake.nix`
nomarchy input must not re-resolve to a lagging `v1` that lacks nomarchy input must not re-resolve to a lagging `v1` that lacks

View File

@@ -31,20 +31,22 @@ Template:
2. **#124** — seeded flake hardcodes `?ref=v1` while installer writes 2. **#124** — seeded flake hardcodes `?ref=v1` while installer writes
main-era `nomarchy.hardware.*`; v1 lags (~hundreds of commits) → main-era `nomarchy.hardware.*`; v1 lags (~hundreds of commits) →
`nomarchy.hardware does not exist` on Acer rebuild/pull. `nomarchy.hardware does not exist` on Acer rebuild/pull.
3. **#95** — Ghostty fails on **both** machines for **different** reasons 3. **#95** — Ghostty **Acer-only** (XPS is fine). Two photos = two
(corrected after Bernardo: two photos ≠ one diagnosis). **(A) Acer:** attempts on the Aspire: pre-HM explicit `OpenGLOutdated`, post-HM
OpenGL 4.2 → `OpenGLOutdated`. **(B) XPS:** silent exit after quiet exit after `GDK_DISABLE` (same machine; kitty used as the
`GDK_DISABLE=gles-api,vulkan` with no OpenGL line — not a GL-floor bug. working shell). Primary blocker is GL ≥ 4.3.
HARDWARE-QUEUE V3 rows for all three. Photos stay local (not committed). HARDWARE-QUEUE V3 rows. Photos stay local (not committed).
- **Verified:** V0 (docs/agent only). - **Verified:** V0 (docs/agent only).
- **Pending:** implement #123 first (unblocks first-boot polish); then - **Pending:** implement #123 first; then #124; #95 independent (Acer GL).
#124; #95 is independent and likely **two slices** (A vs B).
- **Next suggestion:** #123 (installer bake) — highest blast radius. - **Next suggestion:** #123 (installer bake) — highest blast radius.
## 2026-07-15 — Correct #95: two Ghostty photos, two causes ## 2026-07-15 — #95 timeline: both Ghostty fails are Acer, pre/post HM
- **Task:** Bernardo noted two Ghostty-fail photos with different reasons. - **Task:** Bernardo corrected the Ghostty story again.
- **Did:** #95 + HARDWARE-QUEUE rewritten: (A) Acer OpenGLOutdated explicit; - **Did:** XPS works. Both fail photos are Aspire M5-481T: (1) before home
(B) XPS silent exit after GDK_DISABLE — must not be folded into one fix. properly built → OpenGL 4.2/`OpenGLOutdated`; (2) after home built →
silent exit after `GDK_DISABLE=gles-api,vulkan`. Kitty was the manual
working terminal used to run those experiments. #95 + HARDWARE-QUEUE
rewritten; not two machines.
- **Verified:** V0 (docs only). - **Verified:** V0 (docs only).
- **Pending:** — - **Pending:** —
- **Next suggestion:** still #123. - **Next suggestion:** still #123.