Commit graph

3 commits

Author SHA1 Message Date
Votre Nom
9ceb9a04fc Phase 4.4 : binaire prêt pour test sur image bootée
Modifications du test display-backend pour le runtime VT-handler réel :
- DebugSink wrapper qui mirroir stdout vers /scheme/debug (serial host stdio)
  → la sortie est visible côté host même si on tourne sur un VT non actif
- Lecture env var VT (mise par le init Redox)
- Appel `inputd -A <vt>` après open_display, comme Orbital le fait
  (cf orbital/src/main.rs ligne ~43)
- Sleep 500 ms en fin de main pour laisser le serial flush

README enrichi avec les étapes Voie B précises (commande redoxfs locale,
clavier FR via QEMU_USER_FLAGS, switch VT Ctrl+Alt+F2, login root/password).

Note locale (non versionnée) : ajout d'un hook QEMU_USER_FLAGS dans
~/Projets/Redox/redox-src/mk/qemu.mk pour passer des args qemu user-supplied.

Leyoda 2026 – GPLv3
2026-05-08 20:04:16 +02:00
Votre Nom
c6ad583a72 Phase 4.1-4.3 : test display backend Redox
Crate redox-wl-test-display-backend qui réutilise le pattern Orbital :
inputd::ConsumerHandle::new_vt() → open_display_v2() → V2GraphicsHandle.

Comportement vérifié :
- compile pour x86_64-unknown-redox sans patch (graphics-ipc, inputd, drm
  via git deps gitlab.redox-os.org/redox-os/base.git, comme Orbital)
- sous redoxer run headless : ConsumerHandle::new_vt() OK, open_display_v2
  retourne EINVAL (cohérent avec absence framebuffer)
- runtime sur framebuffer (redoxer --gui ou make qemu) : à valider
  manuellement par le user (la fenêtre QEMU étant interactive)

README enrichi avec la marche à suivre pour les tests display
(voie A: redoxer exec --gui ; voie B: redoxfs + make qemu).

Leyoda 2026 – GPLv3
2026-05-08 19:36:07 +02:00
Votre Nom
53e6626231 Initial commit: phases 1-3 du portage Wayland Rust pour Redox OS
Plan directeur 14 phases / 5 ans (REDOX_COSMIC_XWAYLAND_RS_PLAN.md).

Phase 1 — Audit Redox (docs/existing-redox-gui.md, 486 lignes) :
- Orbital, graphics-ipc (API DRM compatible Linux subset KMS), inputd, vesad
- relibc support : AF_UNIX, SCM_RIGHTS, shm_open, mmap, poll
- 3 manques identifiés : memfd_create, keymap XKB, AT-SPI

Phase 2 — Validation primitives sur Redox via redoxer (5 tests + 1 POC) :
- test-unix-socket : SOCK_STREAM Wayland-shaped roundtrip
- test-fd-passing : SCM_RIGHTS mono-process (artefact kernel)
- test-fd-passing-fork : SCM_RIGHTS multi-process (validation Wayland critique)
- test-shm-open : shm_open + mmap + persistance + unlink
- test-poll-multifd : poll() multiplexing + POLLHUP
- poc-pixels : datapath shm + SCM_RIGHTS bout en bout (10000 pixels ARGB)

Phase 3 — wayland-rs sur Redox (compile + runtime) :
- wayland-{scanner,backend,server,client} compilent pour x86_64-unknown-redox
  sans patch upstream (rustix supporte Redox via libc backend)
- test-handshake : server/client wl_registry handshake roundtrip
- test-shm-pipeline : pipeline complet (ListeningSocket Unix réel + fd passing
  via wl_shm.create_pool + wl_shm_pool + wl_buffer + wl_surface + commit +
  serveur lit pixels via fd reçu, validation pixel-perfect)

Verdict phase 3 : wayland-rs upstream est viable sur Redox out-of-the-box,
le port "Wayland sur Redox" est désormais un problème de compositor à écrire,
pas de stack à porter.

Prérequis build : redoxer (pas cargo direct, car CMSG_NXTHDR/CMSG_DATA
ne sont pas linkés autrement vers librelibc.a).

Leyoda 2026 – GPLv3
2026-05-08 17:41:55 +02:00