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
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
collapse them into one "old GPU" fix; a fix for (A) can leave (B) broken.
**Machine:** Acer Aspire M5-481T only. **Dell XPS 9350 starts Ghostty fine**
(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
@@ -160,11 +165,7 @@ warning(gtk_ghostty_surface): surface failed to initialize
err=error.SurfaceError
```
Ghostty 1.3.1 starts, loads config, hits the GPU floor, prints the reason,
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**
**2 — After home was built** (full HM generation). Silent-ish exit:
```
warning(gtk_ghostty_application): setting GDK_DEBUG=
@@ -172,29 +173,30 @@ warning(gtk_ghostty_application): setting GDK_DISABLE=gles-api,vulkan
~ 9s )
```
Same Ghostty 1.3.1 / GTK path / config read — but **no** `info(opengl):`
line, **no** OpenGLOutdated, **no** SurfaceError. Process ends after ~9s
and leaves only the two `GDK_*` warnings. XPS Skylake iGPU is not a GL-4.2
floor machine; this is a different surface/backend failure (forced desktop
OpenGL after disabling GLES+Vulkan, Wayland/EGL context, incomplete first
session after #123, …). Capture a second run with `GDK_DEBUG` / Ghostty
`-e` verbosity or `WAYLAND_DEBUG=1` before guessing the patch.
No `info(opengl):` line, no `OpenGLOutdated`, no `SurfaceError` — process
ends after ~9s with only the two `GDK_*` warnings. Same Ghostty 1.3.1, same
machine; the difference is **session/config state after HM**, not a second
GPU. Likely still the GL 4.2 floor (or the same surface path) with different
verbosity once the full Ghostty/GTK/Stylix config is in place — confirm
before inventing a second root cause. Re-run post-HM with extra logging
(`GDK_DEBUG`, Ghostty verbosity, `WAYLAND_DEBUG=1`) if the quiet path is
still opaque.
**Shared product impact:** default terminal is Ghostty (`nomarchy.terminal`),
so SUPER+Return and the launcher entry are dead when either mode hits.
Bernardo worked around on the Acer by adding `kitty` to `home.packages`.
**Product impact:** default terminal is Ghostty (`nomarchy.terminal`), so on
this class of GPU SUPER+Return and the launcher entry are dead. Kitty as a
manual workaround proved the session/Wayland path is fine.
**Fix direction (likely two slices):**
1. **(A)** soft-fallback or alternate default when GL < 4.3 (probe, or
ship a second terminal and bind/fallback).
2. **(B)** reproduce on XPS-class hardware or QEMU with a capable GL stack;
fix the silent path (must never exit without a user-visible error or a
working window). May interact with #123 if the first session is half-baked.
**Fix direction:** treat the **GL ≥ 4.3 requirement** as the primary Acer
blocker (soft-fallback, alternate default terminal when GL < 4.3, or
installer/hardware probe that swaps the default). Do not leave SUPER+Return
bound to a terminal that cannot map a surface. Optionally make the post-HM
failure mode print the OpenGL reason again so the quiet log is not a
support trap.
**Pass:** SUPER+Return opens a usable terminal on **both** the Acer (A) and
the XPS (B); modern-GL machines still get themed Ghostty by default; a
regression that only fixes A or only B is not done. V2 may cover (A) via
softGL version pinning; (B) needs the XPS or a faithful GL/Wayland guest.
**Pass:** on the Acer (or a GL 4.2 / softGL stand-in), SUPER+Return opens a
usable terminal without hand-editing `home.packages`; modern-GL machines
(including the XPS) still get themed Ghostty by default. V2 softGL may cover
the floor; V3 on the Acer is the real check.
### 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
need the recovery one-liner, or GTK/nm-applet still wrong until a
manual switch (then the bake is still incomplete).
- [ ] **#95 Ghostty — two machines, two failure modes** — after the fix(es):
**(A) Acer M5-481T:** SUPER+Return opens a usable terminal (today:
OpenGL 4.2 → `OpenGLOutdated` / `SurfaceError`). **(B) Dell XPS 9350:**
SUPER+Return opens a usable terminal (today: silent exit after
`GDK_DISABLE=gles-api,vulkan`, no OpenGL line). A modern-GL box still
gets themed Ghostty by default. **Both** A and B required — fixing only
the GL floor is not done.
- [ ] **#95 Ghostty on Acer M5-481T only** — XPS is fine (clarified
2026-07-15). On the Acer after the fix: SUPER+Return opens a usable
terminal without hand-adding kitty. Today both attempts fail: (1)
pre-HM → explicit `OpenGL 4.2` / `OpenGLOutdated`; (2) post-HM →
quiet exit after `GDK_DISABLE=gles-api,vulkan`. Confirm post-fix
both lifecycle points open a window. Modern-GL default remains Ghostty.
- [ ] **#124 flake pin after main-ISO install** — on a machine installed
from a **main-built** ISO (post-fix): `~/.nomarchy/flake.nix`
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
main-era `nomarchy.hardware.*`; v1 lags (~hundreds of commits) →
`nomarchy.hardware does not exist` on Acer rebuild/pull.
3. **#95** — Ghostty fails on **both** machines for **different** reasons
(corrected after Bernardo: two photos ≠ one diagnosis). **(A) Acer:**
OpenGL 4.2 → `OpenGLOutdated`. **(B) XPS:** silent exit after
`GDK_DISABLE=gles-api,vulkan` with no OpenGL line — not a GL-floor bug.
HARDWARE-QUEUE V3 rows for all three. Photos stay local (not committed).
3. **#95** — Ghostty **Acer-only** (XPS is fine). Two photos = two
attempts on the Aspire: pre-HM explicit `OpenGLOutdated`, post-HM
quiet exit after `GDK_DISABLE` (same machine; kitty used as the
working shell). Primary blocker is GL ≥ 4.3.
HARDWARE-QUEUE V3 rows. Photos stay local (not committed).
- **Verified:** V0 (docs/agent only).
- **Pending:** implement #123 first (unblocks first-boot polish); then
#124; #95 is independent and likely **two slices** (A vs B).
- **Pending:** implement #123 first; then #124; #95 independent (Acer GL).
- **Next suggestion:** #123 (installer bake) — highest blast radius.
## 2026-07-15 — Correct #95: two Ghostty photos, two causes
- **Task:** Bernardo noted two Ghostty-fail photos with different reasons.
- **Did:** #95 + HARDWARE-QUEUE rewritten: (A) Acer OpenGLOutdated explicit;
(B) XPS silent exit after GDK_DISABLE — must not be folded into one fix.
## 2026-07-15 — #95 timeline: both Ghostty fails are Acer, pre/post HM
- **Task:** Bernardo corrected the Ghostty story again.
- **Did:** XPS works. Both fail photos are Aspire M5-481T: (1) before home
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).
- **Pending:** —
- **Next suggestion:** still #123.