Nested headless Hyprland aborts on Wayland host protocol version announcements #90
Labels
No labels
P0
P1
P2
P3
audio
bakery
boot
breadbug
bug
build
ci
dependencies
design
disk
docs
encryption
final
firewall
graphics
hardware
idle
installer
keybinds
nvidia
packages
phase-1
polish
recovery
reliability
reproducibility
secure-boot
security
shell
signing
snapshots
supply-chain
swap
tech-debt
theming
ux
website
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Breadway/bos#90
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Found while testing ECO-71 in an entirely isolated headless environment. Confidence: high for the observed failure; root cause in package/protocol interface compatibility is unconfirmed. On the installed Hyprland 0.56.2 / Aquamarine 0.15.1 stack, a private Weston 15.0.1 headless GL host causes
invalid version for global wl_compositor (1): expected at most 5, got 6, followed by CBackend::create failure. An isolated Sway headless host instead fails onxdg_wm_base (13): expected at most 5, got 6. No live desktop operations are required to reproduce. Investigate whether the packaged client binds an advertised version newer than its compiled interface, or whether linked protocol symbols disagree. This blocks straightforward headless nested testing. A test-only proxy that caps these registry announcements is being evaluated as a workaround.ECO-71 handoff update: the workaround is now implemented and used successfully by bread-session/tests/wayland_compat.py. It forwards Unix-socket traffic and SCM_RIGHTS file descriptors while capping wl_compositor and xdg_wm_base versions to 5 in both registry announcements and outgoing registry.bind requests. This is test-only Python; the deployed session app is Rust. A private headless Weston GL host plus this proxy and a separate Hyprland headless output passed 12 session integration checks and the later breadbar old/new comparison. It does not resolve the underlying packaged protocol mismatch, whose root cause remains unconfirmed. Keep this issue open for the package-level investigation. See ECO-71 for isolation safeguards and retained evidence.
Triage (no change made, card left in todo).
Searched Breadway/bos (scripts/, iso/, docs/) for the named harness (wayland_compat, weston, sway headless, headless). No headless or nested-compositor harness exists in this repo. The workaround the card describes lives in bread-session/tests/wayland_compat.py, which is outside this repo.
Reproducing or fixing the root cause (packaged wl_compositor / xdg_wm_base version mismatch between Aquamarine 0.15.1 and the host protocol) needs a live or private headless compositor and a package-level investigation. I did not start either, and nothing was changed. Leaving in todo for the package-level investigation.