docs(agent): #95 is two Ghostty failures, not one OpenGL floor
Some checks failed
Check / eval (push) Has been cancelled

Photo A (Acer): OpenGL 4.2 → OpenGLOutdated / SurfaceError.
Photo B (XPS): silent exit after GDK_DISABLE=gles-api,vulkan with no
OpenGL line — different machine, different root cause. A fix for only
one is not done.
This commit is contained in:
2026-07-15 09:34:17 +01:00
parent fbc93159a6
commit 70f2d4d54d
3 changed files with 58 additions and 23 deletions

View File

@@ -144,13 +144,14 @@ 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 on old OpenGL
### 95. Live ISO/install: Ghostty does not open — **two distinct failures**
**Diagnosed 2026-07-14 on Acer Aspire M5-481T** (Dell XPS 9350 starts Ghostty
fine — machine-specific). From a working shell:
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.
**A — Acer Aspire M5-481T: OpenGL too old (explicit)**
```
info: renderer=renderer.generic.Renderer(renderer.OpenGL)
info(opengl): loaded OpenGL 4.2
warning(opengl): OpenGL version is too old. Ghostty requires OpenGL 4.3
warning(gtk_ghostty_surface): failed to initialize surface
@@ -159,20 +160,41 @@ warning(gtk_ghostty_surface): surface failed to initialize
err=error.SurfaceError
```
Not a packaging/missing-binary bug: Ghostty 1.3.1 runs, reads config, then
refuses the GPU. Default terminal is Ghostty (`nomarchy.terminal`), so
SUPER+Return and the launcher entry are dead on anything ≤ GL 4.2 (Ivy Bridge
era and similar).
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.
**Fix direction:** detect/soft-fallback — e.g. Ghostty config for a software
GL path if one exists and works; or auto-pick a second terminal (kitty is what
Bernardo added by hand on the Acer) when `glxinfo`/EGL reports < 4.3; or
document + installer/hardware probe that swaps the default. Do not silently
leave SUPER+Return bound to a terminal that cannot map a surface.
**B — Dell XPS 9350 (photo without Acer bezel): silent exit after GDK_DISABLE**
**Pass:** on a GL 4.2 (or softGL) guest/host, SUPER+Return opens a usable
terminal; on modern GL, Ghostty remains default and themed. V2 softGL/QEMU is
acceptable for the fallback path; V3 on the Acer confirms the real iGPU.
```
warning(gtk_ghostty_application): setting GDK_DEBUG=
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.
**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`.
**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.
**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.
### 98. Boreal: button text renders black and is difficult to read

View File

@@ -436,10 +436,13 @@ 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 on Acer M5-481T (OpenGL 4.2)** — after a software-GL
or alternate-terminal fallback ships: SUPER+Return opens a usable
terminal on the Acer. On a modern-GL machine Ghostty remains the
default. Capture one screenshot of the open terminal on the Acer.
- [ ] **#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.
- [ ] **#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,14 +31,24 @@ 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** enriched — Ghostty on Acer is OpenGL 4.2 < required 4.3
(`error.OpenGLOutdated`); XPS starts Ghostty fine.
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).
- **Verified:** V0 (docs/agent only).
- **Pending:** implement #123 first (unblocks first-boot polish); then
#124; #95 is independent (old-GPU floor).
#124; #95 is independent and likely **two slices** (A vs B).
- **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.
- **Verified:** V0 (docs only).
- **Pending:** —
- **Next suggestion:** still #123.
## 2026-07-15 — #119: mime defaults must name a present .desktop (this commit)
- **Task:** BACKLOG #119`text/plain` named vscode, which the live ISO never
ships (same GIO-skip trap as #94, one key over).