Crate redox-wl-real-client-simple-window : port Redox de l'exemple upstream wayland-rs/wayland-client/examples/simple_window.rs. Premier client que nous n'avons PAS écrit pour valider notre compositor, donc révélateur des paths protocolaires non anticipés. Code upstream préservé verbatim sauf 4 adaptations Redox justifiées dans le doc : - Connection::connect_to_env() → UnixStream::connect(SOCKET_PATH) car WAYLAND_DISPLAY pas garanti dans l'init Redox. - tempfile::tempfile() → libc::shm_open + ftruncate + mmap car O_TMPFILE/mkostemp non garantis par relibc. - Attente initiale 50×100ms sur l'existence du socket (lancement parallèle compositor + client dans init script). - Logs tee stdout + /scheme/debug pour observer côté serial host. L'algorithme draw() gradient ARGB, les Dispatch impls, le delegate_noop!, init_xdg_surface, Close/ESC sont conservés ligne pour ligne. Tout bug observé sera donc attribuable au compositor, pas au port. Cross-compile via `redoxer build --release` : 1.1 Mo, ELF statique, 0 warning, 0 erreur (testé 2026-05-15). Doc phase13-1-real-client-simple-window.md : justifications des 4 adaptations, procédure runtime make qemu, 6 critères d'observation pour la 13.1.b runtime à venir. Runtime non validé (exige make qemu interactif) — sera consigné en phase 13.1.b après test utilisateur. Leyoda 2026 – GPLv3
11 lines
534 B
TOML
11 lines
534 B
TOML
[package]
|
|
name = "redox-wl-real-client-simple-window"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
description = "Port Redox du client wayland-rs/examples/simple_window.rs — premier client tiers (Phase 13.1)"
|
|
|
|
[dependencies]
|
|
wayland-client = { path = "../../../wayland-rs/wayland-client", default-features = false }
|
|
wayland-backend = { path = "../../../wayland-rs/wayland-backend", default-features = false }
|
|
wayland-protocols = { path = "../../../wayland-rs/wayland-protocols", default-features = false, features = ["client"] }
|
|
libc = "0.2"
|