docs(agent): #95 is two Ghostty failures, not one OpenGL floor
Some checks failed
Check / eval (push) Has been cancelled
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:
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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).
|
||||
|
||||
Reference in New Issue
Block a user