# Slice L1 graphical capability checkpoint **Date:** 2026-07-27 **Production commit:** `11501d52cad942850d88f83490710faf1d5cdf28` **Status:** implementation complete; further Linux graphical work deferred by the user on 2026-07-27. The supported physical-Linux driver matrix remains the first gate when Slice L resumes. ## Scope This checkpoint establishes the Linux/Windows graphical startup oracle before renderer construction. It does not add a renderer fallback and does not change gameplay or visual behavior. `GraphicalHostPlatformServices` now owns an immutable GLFW backend selection. `ACDREAM_DISPLAY_PROTOCOL=auto|x11|wayland` is consumed once before `Window.Create`. The platform owner configures the exact `GlfwProvider.UninitializedGLFW` instance used by Silk's window backend. Silk 2.23 asks for `libglfw.so.3.3`, while its packaged multi-backend GLFW 3.4 asset is `libglfw.so.3`. The default native search order previously selected Ubuntu's machine-global GLFW 3.3 before reaching the packaged 3.4 library. Startup now prioritizes the application directory inside Silk's path resolver, so X11/Wayland selection and package provenance are deterministic. Before any renderer object is created, the client records: - OS, RID, requested and active display protocol, GLFW backend/version; - GL vendor, renderer, version, GLSL, context flags/profile, limits, and every extension; - default framebuffer color/depth/stencil/MSAA/sRGB facts; - window, monitor, refresh, framebuffer/logical size, and input-device facts; - audio request/availability/playback/disposal state; - window/GL/input/audio ownership and terminal shutdown state. Advertisement is not treated as proof. A balanced active probe executes: - bindless texture handle, resident, and non-resident calls; - a shader using `gl_DrawIDARB`/`gl_BaseInstanceARB` plus MDI; - SSBO allocation and binding; - a timer query; - an sRGB color plus depth/stencil framebuffer; - persistent coherent mapping whenever buffer storage is advertised. Unsupported hardware receives one actionable report and exit code 4. The Studio smoke defers native close until after `RenderStack.EndFrame`, so both successful and rejected startup release every owned context resource before the final report is atomically rewritten. ## Positive supported gate Windows 11 Pro build 26200, AMD Radeon RX 9070 XT, driver `32.0.31021.5001`: - GLFW `3.4.0 Win32 WGL`; - OpenGL `4.3.0 Core Profile Context 26.6.4.260624`; - 240 Hz monitor, 1280 x 720 logical/framebuffer smoke; - bindless, shader draw parameters, MDI, SSBO, timer query, sRGB depth/stencil, and persistent coherent storage all actively pass; - OpenAL Soft default device opens, accepts the 50 ms smoke wave, and disposes; - the 1280 x 720 retained-UI mockup screenshot is visually intact; - process exits 0 with zero owned window, GL, input, and audio resources and `ShutdownComplete=true`. ## Linux backend and negative-capability gates Package: exact framework-dependent `linux-x64` publish of `11501d52cad942850d88f83490710faf1d5cdf28`. Host: Ubuntu 24.04.3 LTS under WSL2 kernel `6.6.87.2-microsoft-standard-WSL2`, WSLg X11 and Wayland endpoints. Both explicit backends create an OpenGL 4.5 core context, expose one keyboard and one mouse, capture their framebuffer/monitor facts, and identify the packaged multi-backend GLFW 3.4: | Protocol | Monitor | Renderer | Result | |---|---|---|---| | X11 | `XWAYLAND0`, 60 Hz | Mesa llvmpipe 25.2.8 | exit 4: bindless absent | | Wayland | `weston rdp`, 60 Hz | Mesa llvmpipe 25.2.8 | exit 4: bindless absent | | X11 + `GALLIUM_DRIVER=d3d12` | `XWAYLAND0`, 60 Hz | D3D12 (AMD Radeon RX 9070 XT), GL 4.6 | exit 4: bindless absent | Each final report names only `GL_ARB_bindless_texture` as the mandatory missing feature, preserves the complete capability record, and reports zero window/GL/input/audio ownership with `ShutdownComplete=true`. This is the intended mandatory-modern-renderer failure, not an accepted Linux driver row. The Ubuntu graphical CI job now builds/publishes the App, runs the focused platform/capability tests, checks the native package closure, and verifies the same actionable X11 software-driver rejection under Xvfb. ## Automated gates - graphical backend/capability/Studio focused tests: 29/29; - App Release tests: 3,763 passed / 3 skipped; - complete Release solution: 8,826 passed / 5 skipped; - Release solution build: zero warnings and zero errors; - Windows supported smoke: exit 0, screenshot present, all function probes pass, audio playback submitted, all terminal ledgers zero; - WSLg X11 and Wayland negative gates: exit 4, exact bindless diagnostic, all terminal ledgers zero; - concurrent two-account Linux headless process remained 2/2 in-world with zero faults/reconnects/resource-envelope violations throughout the gates. ## Deferred L1 acceptance Do not claim Linux graphical support from WSLg. L1 still requires at least one physical supported Linux row and the committed driver matrix: - AMD Mesa/RadeonSI X11 and Wayland; - NVIDIA proprietary X11 and supported Wayland; - Intel only when every mandatory capability is present. On each supported row, rerun the packaged screenshot/input/audio/teardown smoke. Only then close L1 and begin the connected L2 route. This work and Slices L2–L6 were explicitly parked by the user on 2026-07-27. ## Rollback ```text git revert 11501d52cad942850d88f83490710faf1d5cdf28 ```