WEFT OS is a Wayland compositor and application runtime where every app is a WebAssembly component rendered in an isolated Servo WebView.
Find a file
Marco Allegretti fc5ada2079 feat(servo-shell): add servo-shell skeleton, system UI, service unit, and Wayland input audit
Includes winit Wayland input audit for servo-shell integration planning.

New files:
- crates/weft-servo-shell/: new workspace member
 - Cargo.toml: anyhow + tracing deps; no servo dep yet (requires git
 dependency on github.com/servo/servo with multi-minute build; deferred
 until embedder contract is confirmed)
 - src/main.rs: reads WAYLAND_DISPLAY and WEFT_SYSTEM_UI_HTML, locates
 system-ui.html from packaged path, calls embed_servo() stub that
 returns a descriptive error explaining the integration work remaining
- infra/shell/system-ui.html: system UI document per blueprint Section 5
 DOM structure (weft-desktop, weft-wallpaper, weft-taskbar, weft-launcher,
 weft-notification-center, weft-window); includes clock and launcher toggle
- infra/systemd/servo-shell.service: Requires+After weft-compositor.service,
 Type=simple, Restart=on-failure
- docs/architecture/winit-wayland-audit.md: audit of winit 0.30.x Wayland
 backend against WEFT input requirements; identifies keyboard shortcut
 inhibit gap, touch gesture gap, IME incomplete (zwp_text_input_v3),
 frame pacing absent (wp_presentation_time), DMA-BUF unverified;
 none block initial integration; all tracked as pre-GA work items

Modified:
- Cargo.toml: add weft-servo-shell to workspace members
- scripts/wsl-check.sh: switch to --workspace for all three gates
2026-03-11 00:34:26 +01:00
.github/workflows ci: add libgbm-dev and libdrm-dev to linux-only job dependencies 2026-03-10 21:33:34 +01:00
crates feat(servo-shell): add servo-shell skeleton, system UI, service unit, and Wayland input audit 2026-03-11 00:34:26 +01:00
docs feat(servo-shell): add servo-shell skeleton, system UI, service unit, and Wayland input audit 2026-03-11 00:34:26 +01:00
infra feat(servo-shell): add servo-shell skeleton, system UI, service unit, and Wayland input audit 2026-03-11 00:34:26 +01:00
scripts feat(servo-shell): add servo-shell skeleton, system UI, service unit, and Wayland input audit 2026-03-11 00:34:26 +01:00
.gitattributes Initialize Rust workspace and repository metadata 2026-03-10 18:47:06 +01:00
.gitignore Initialize Rust workspace and repository metadata 2026-03-10 18:47:06 +01:00
Cargo.lock feat(compositor): implement DRM/KMS rendering path 2026-03-10 22:32:21 +01:00
Cargo.toml feat(servo-shell): add servo-shell skeleton, system UI, service unit, and Wayland input audit 2026-03-11 00:34:26 +01:00
justfile Add repository validation and CI checks 2026-03-10 18:47:16 +01:00
README.md Initialize Rust workspace and repository metadata 2026-03-10 18:47:06 +01:00
rust-toolchain.toml Initialize Rust workspace and repository metadata 2026-03-10 18:47:06 +01:00

WEFT OS

WEFT OS is a Linux-based operating system effort built around a Smithay compositor, a Servo-rendered system shell, and a Wasmtime-based application runtime.

Current repository scope

This repository currently contains:

  • the baseline Rust workspace
  • public engineering documentation derived from the authoritative blueprint
  • initial design documents for the shell protocol boundary and the WasmServo channel
  • local and CI validation paths for repository bootstrap work

It does not yet contain a compositor, shell, or application runtime implementation.

Source of truth

The authoritative technical reference for this repository is docu_dev/WEFT-OS-COMPREHENSIVE-BLUEPRINT.md.

Historical blueprint documents exist in docu_dev/, but they are not implementation authority where they conflict with the comprehensive blueprint.

Privacy boundary

docu_dev/ is a private coordination area used during development. It is intentionally ignored by git and is not part of the tracked public repository surface.

Development model

  • Primary development host: Windows workstation
  • Primary runtime target: Linux VM or QEMU guest
  • Core system language: Rust

Validation

On Windows PowerShell:

./infra/scripts/check.ps1

On Linux:

./infra/scripts/check.sh

Repository layout

crates/      Rust workspace members
docs/        Public engineering documentation
infra/       Validation scripts and VM workflow material