srdusr
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsrdusr <[email protected]>2025-11-28 09:58:00 +0200
committersrdusr <[email protected]>2025-11-28 09:58:00 +0200
commitd48dfec46a6502d23648053916c2af91ee2a6f2e (patch)
tree940986145e878e1c60367b51e65324de5c9ddae8
parentae47a562bd423df856ec6c735d9e4c29a8e1e3c6 (diff)
downloadsrdwm-d48dfec46a6502d23648053916c2af91ee2a6f2e.tar.gz
srdwm-d48dfec46a6502d23648053916c2af91ee2a6f2e.zip
Document a pre-existing nested-EGL crash found while verifying the lock screen
Attempted to screenshot the redesigned lock screen in a disposable nested compositor instance; the nested instance's own EGL context was lost the moment the lock engaged, before any frame rendered. Reproduced the exact same crash on the immediately prior commit, which never touches the lock screen, confirming this is pre-existing sandbox/EGL flakiness (already visible as transient BAD_ALLOC errors during ordinary nested startup, not something this change introduced) rather than a lock-screen regression.
-rw-r--r--docs/TODO.md4
1 files changed, 3 insertions, 1 deletions
diff --git a/docs/TODO.md b/docs/TODO.md
index 27234ea..eba054c 100644
--- a/docs/TODO.md
+++ b/docs/TODO.md
@@ -14,7 +14,9 @@ The password box's own drop shadow (previously absent entirely - `render_ui_box`
`native_lock_render_elements`'s signature changed from four positional buffer arguments to one `NativeLockFrame` struct (background/header/shadow/ui/keyboard/shake_offset) - the four-argument version was already at its readability limit before this added three more optional layers; both call sites (`udev/render.rs`, `winit/render.rs`) extract every layer up front, before the renderer/backend borrow starts, the same pattern the pre-existing `native_bg`/`native_ui` extraction already established.
-Full workspace build/test/clippy clean (152 wayland tests, +6 for `lock_stack_layout`/`shake_offset`/`render_keyboard`'s own hit-rect and key-completeness invariants). Not yet visually verified against the real lock screen: `srd dispatch lock` is on the nightshift deny-list specifically to prevent an autonomous session from locking the user out of their own live session, so this needs the user to trigger a real lock and confirm it looks and behaves as intended, or a raw IPC socket write against a disposable nested compositor instance.
+Full workspace build/test/clippy clean (152 wayland tests, +6 for `lock_stack_layout`/`shake_offset`/`render_keyboard`'s own hit-rect and key-completeness invariants).
+
+Attempted a real visual check with a raw IPC socket write (`{"cmd":"lock"}` against `srdwm-wayland-1.sock`) to a disposable nested instance (`WAYLAND_DISPLAY=wayland-1`, winit backend) rather than the live session, per this file's own nested-compositor convention. The nested instance's own EGL context was lost at the exact moment the lock engaged (`eglSwapBuffers`/`eglCreatePlatformWindowSurfaceEXT` both `BAD_ALLOC`, "context has been lost, it needs to be recreated") before a single frame of the new lock UI ever rendered - so no screenshot was possible this way. Before treating that as a bug in this change: built the immediately prior commit (`d097c87`) in a separate worktree and reproduced the exact same crash, at the same point, with byte-identical EGL error text, on code that never touches the lock screen at all. Confirmed pre-existing and environmental (this sandbox's own winit/EGL init already logs several transient `eglQueryDevicesEXT`/`eglInitialize` `BAD_ALLOC` failures before falling back to `llvmpipe` software rendering on ordinary startup, not something the lock-screen change introduced or worsened), not a regression - so this is a real, still-open gap in nested-compositor testing capability on this specific machine, not a lock-screen defect. The real lock screen still needs the user's own live session (or a working nested EGL setup this sandbox doesn't currently have) to visually confirm.
## GPU render path: decorations built after all, on explicit repeated instruction - scoped, not the full port (2026-08-28)