docs(linux): park Slice L at L1 checkpoint

This commit is contained in:
Erik 2026-07-27 12:35:47 +02:00
parent 11501d52ca
commit 97a095d628
9 changed files with 275 additions and 39 deletions

View file

@ -4,6 +4,8 @@
Slice L0 completed at
`66f114b258c0c37b51a7c0e04ca0d6441f4b1699`.
Slice L1's implementation checkpoint landed at
`11501d52cad942850d88f83490710faf1d5cdf28`.
The same `AcDream.App` now builds and publishes for `linux-x64`; there is no
Linux gameplay or renderer fork.
@ -44,22 +46,51 @@ Rollback:
git revert 66f114b258c0c37b51a7c0e04ca0d6441f4b1699
```
## Next work — L1
## L1 implementation checkpoint
Do not claim Linux graphical support merely from publish success. L1 must:
Canonical seams:
1. start the exact package under the available X11 and Wayland sessions;
2. capture OS/display/compositor/GPU/driver/OpenGL vendor, renderer, version,
mandatory extensions, swap interval, refresh, DPI, and audio backend before
renderer construction;
3. create the OpenGL 4.3 core context and reject missing bindless texture or
shader draw parameters with one actionable report;
4. validate GLFW window/input callbacks, relative mouse/focus, framebuffer
sizing, clipboard, and monitor facts;
5. initialize OpenAL fail-open exactly as current Windows behavior permits;
6. render a packaged smoke scene, capture a screenshot, and close with zero
GL/OpenAL/window debt.
- `ACDREAM_DISPLAY_PROTOCOL=auto|x11|wayland` selects one immutable backend
before `Window.Create`.
- `GraphicalWindowBackendSelection` configures Silk's exact GLFW backend and
makes the packaged GLFW 3.4 native library win over older system installs.
- `GraphicalCapabilityRecord` captures platform, RID, display protocol, GL
identity/extensions/limits, framebuffer, input/window, audio, and terminal
ownership into one atomic report.
- `GraphicalGlFunctionProbe` actively validates bindless texture,
draw-parameters plus MDI, SSBO, timer query, sRGB/depth/stencil FBO, and
persistent coherent buffer behavior before renderer construction.
- Unsupported contexts exit with code 4 and a precise report. No legacy
renderer or fabricated fallback is introduced.
- Studio screenshot shutdown is deferred until the completed render frame;
accepted and rejected startup paths both report zero terminal ownership.
Historical test-only issue: two installed-DAT App tests still hard-code
`C:\Turbine\Asheron's Call`. They are not production blockers, but clean them
before claiming the complete App test suite on a clean Linux runner.
Evidence:
- native Windows 11 + AMD Radeon RX 9070 XT: every active GL probe passes,
OpenAL submits playback and disposes, the packaged smoke frame is intact,
and terminal ownership is zero;
- WSLg X11 and Wayland: packaged GLFW 3.4 and protocol selection are correct,
but llvmpipe lacks mandatory `GL_ARB_bindless_texture`;
- WSLg with `GALLIUM_DRIVER=d3d12` reaches the AMD GPU and OpenGL 4.6, but
still lacks mandatory `GL_ARB_bindless_texture`; this is a WSLg/Mesa
capability limit, not an acdream package-resolution defect;
- App tests pass 3,763 / 3 skips; the complete Release suite passes
8,826 / 5 skips;
- checkpoint:
`docs/research/2026-07-27-slice-l1-graphical-capability-checkpoint.md`.
Rollback:
```text
git revert 11501d52cad942850d88f83490710faf1d5cdf28
```
## Deferred continuation
Do not claim native Linux graphical support from WSLg. Run the exact
`linux-x64` package on a physical Linux AMD RadeonSI or supported NVIDIA
driver under the available X11/Wayland sessions. It must pass the same
capability report, packaged smoke frame, input/window/audio checks, and
zero-debt shutdown. The user deferred this physical-driver gate and Slices
L2L6 on 2026-07-27. L2 has not started; resume at the physical L1 gate.

View file

@ -67,16 +67,16 @@ for both accounts. The final `disposed` sample had two converged Runtime roots,
zero entities/inventory/host/content leases, disposed shared content, and
`withinCeilings=true`.
## Next work
## Deferred graphical continuation
Slice L is active under
Slice L is parked under
`docs/plans/2026-07-26-modern-runtime-slice-l.md`. L0 completed at
`66f114b2`: the shared path owner, graphical platform/native manifest,
factory-selected Linux wait, portable persistence/plugins, RID-safe publish,
and Ubuntu graphical package gate pass. Continue from
`memory/project_linux_graphical.md`; L1 must prove the actual Linux
window/context/input/audio lifecycle rather than revisiting headless
ownership.
`66f114b2`, and L1's immutable backend/capability implementation checkpoint
landed at `11501d52`. Native Windows passes; WSLg correctly rejects its missing
mandatory bindless-texture capability. By user direction on 2026-07-27,
physical Linux validation and L2L6 are deferred. Resume from
`memory/project_linux_graphical.md` at the physical supported-driver L1 gate;
do not revisit headless ownership or add a renderer fallback.
Final K3 automated counts: Runtime 412, Headless 47, App 3,722 / 3 skips,
complete Release 8,764 / 5 skips.