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
|
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 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
|
Two photos, two machines, **two different Ghostty death modes**. Do not
|
||||||
fine — machine-specific). From a working shell:
|
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
|
info(opengl): loaded OpenGL 4.2
|
||||||
warning(opengl): OpenGL version is too old. Ghostty requires OpenGL 4.3
|
warning(opengl): OpenGL version is too old. Ghostty requires OpenGL 4.3
|
||||||
warning(gtk_ghostty_surface): failed to initialize surface
|
warning(gtk_ghostty_surface): failed to initialize surface
|
||||||
@@ -159,20 +160,41 @@ warning(gtk_ghostty_surface): surface failed to initialize
|
|||||||
err=error.SurfaceError
|
err=error.SurfaceError
|
||||||
```
|
```
|
||||||
|
|
||||||
Not a packaging/missing-binary bug: Ghostty 1.3.1 runs, reads config, then
|
Ghostty 1.3.1 starts, loads config, hits the GPU floor, prints the reason,
|
||||||
refuses the GPU. Default terminal is Ghostty (`nomarchy.terminal`), so
|
returns to the shell (~2s). Anything ≤ GL 4.2 (Ivy Bridge era) is dead for
|
||||||
SUPER+Return and the launcher entry are dead on anything ≤ GL 4.2 (Ivy Bridge
|
the default terminal.
|
||||||
era and similar).
|
|
||||||
|
|
||||||
**Fix direction:** detect/soft-fallback — e.g. Ghostty config for a software
|
**B — Dell XPS 9350 (photo without Acer bezel): silent exit after GDK_DISABLE**
|
||||||
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.
|
|
||||||
|
|
||||||
**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
|
warning(gtk_ghostty_application): setting GDK_DEBUG=
|
||||||
acceptable for the fallback path; V3 on the Acer confirms the real iGPU.
|
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
|
### 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
|
**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 on Acer M5-481T (OpenGL 4.2)** — after a software-GL
|
- [ ] **#95 Ghostty — two machines, two failure modes** — after the fix(es):
|
||||||
or alternate-terminal fallback ships: SUPER+Return opens a usable
|
**(A) Acer M5-481T:** SUPER+Return opens a usable terminal (today:
|
||||||
terminal on the Acer. On a modern-GL machine Ghostty remains the
|
OpenGL 4.2 → `OpenGLOutdated` / `SurfaceError`). **(B) Dell XPS 9350:**
|
||||||
default. Capture one screenshot of the open terminal on the Acer.
|
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
|
- [ ] **#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
|
||||||
|
|||||||
@@ -31,14 +31,24 @@ 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** enriched — Ghostty on Acer is OpenGL 4.2 < required 4.3
|
3. **#95** — Ghostty fails on **both** machines for **different** reasons
|
||||||
(`error.OpenGLOutdated`); XPS starts Ghostty fine.
|
(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).
|
HARDWARE-QUEUE V3 rows for all three. 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 (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.
|
- **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)
|
## 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
|
- **Task:** BACKLOG #119 — `text/plain` named vscode, which the live ISO never
|
||||||
ships (same GIO-skip trap as #94, one key over).
|
ships (same GIO-skip trap as #94, one key over).
|
||||||
|
|||||||
Reference in New Issue
Block a user