A modern, application-first operating system built on the Linux kernel.
SOL is a complete operating system, not a desktop layer installed on an arbitrary host distribution. It owns the boot experience, system image and updates, package manager, application bundle format, atomic permission policy, system-managed accounts, native SCP compositor, shell, system services, application framework, and visual language.
SOL still reuses proven Linux components where they are implementation building blocks. Owning an OS boundary does not mean rewriting the kernel, drivers, Mesa, PipeWire, or every protocol.
Reuse Linux. Own the operating-system contract.
Concept / Pre-Alpha — foundation and implementation slices exist, but no daily-driver or release-ready desktop claim is made.
The compositor now exposes only SCP (SOL Compositor Protocol). Repository-owned clients complete authenticated headless toplevel and layer-surface round trips; native rendering, input, output and hardware backends remain open work.
See the Roadmap for the S0–S5 maturity model.
Phase 2 M2 is in progress: semantic components, layout, tokens, lifecycle, commands, graphics, motion, and a private Slint adapter have implementation evidence. Native renderer/input pacing and real assistive-technology validation remain closure gates.
The OS rebaseline adds these system foundations:
sol-image: byte-reproducible development manifests with exact kernel, initrd, root-image, generation, and runtime-contract verification; the production format will separate signed content identity from A/B placement.- Boot foundation: stable Stage-0, separately trialed
sol-bootmanagers, independent recovery, authenticated health/anti-rollback, and verified content-identified deployments placed in A/B slots. Only the deployment selector and development UEFI adapter exist today. sol-pkg+sol-packaged: one privileged staging service for manager, recovery, deployment, and signed.apptransactions; each trust layer validates and activates its own artifacts.sol-securityd: application identity, sandbox construction, capability grants, atomic consent/lease transactions, revocation, and audit.sol-accountsd+sol-vaultd: system-managed accounts and encrypted credentials exposed to apps only through explicit scoped handles.- SOL Framework Runtime: major + minimum contract revision + named-feature descriptors, with compatible app resolution across OS rollback, so third-party apps vendor non-SOL dependencies without bundling the whole platform runtime.
sol-gtk/sol-qt: planned bundled adapters that give non-native toolkits the same portals, accounts, permissions, accessibility, and lifecycle APIs without injecting host libraries.
See OS Platform Definition for the normative boundary.
cargo test -p sol-compositor --test scp_session
# Live check: start the compositor, then run an SCP-native client.
cargo run -p sol-compositor # terminal 1
cargo run -p sol-compositor --example scp-client # terminal 2SolKit progress: sol-ui provides semantic component API (Button, TextField, Toolbar, TabBar, Tab, HStack, VStack) using sol-design tokens and a private Slint adapter. Native GPU/input pacing and real assistive-technology validation remain open.
| Path | Purpose | Status |
|---|---|---|
compositor/ |
sol-compositor: native SCP compositor service |
🟡 protocol works headlessly; renderer/input/hardware closure pending |
shell/ |
sol-shell: top bar, dock, launcher, overview, system UI |
🟡 top-bar configure/commit slice plus Phase 4 renderer-neutral foundations |
sdk/sol-design |
Design tokens (single source of truth for visuals) | 🟡 S2 token foundation and consistency tests |
sdk/sol-ui |
SolKit UI components (semantic, not visual-metrics) | 🟡 S2 component/layout/adapter foundations |
sdk/sol-app |
Application framework (lifecycle, commands, …) | 🟡 S2 lifecycle and command foundations |
sdk/sol-graphics |
Rendering abstraction | 🟡 S2 abstraction foundation |
sdk/sol-animation |
Animation engine (interruptible / motion tokens) | 🟡 S2 semantic motion foundation |
sdk/sol-system |
System API (restricted) | 🔲 placeholder → Phase 2 |
services/ |
sol-settingsd, sol-notificationd, sol-portal, sol-ime |
🟡 mixed S1–S3 foundations; real adapters and product surfaces remain open |
apps/ |
First-party apps: Files, Terminal, Settings | 🔲 placeholders → Phase 3 |
protocols/ |
SCP + typed IPC schema home | 🔲 Rust SCP messages exist; no stable external schema yet |
boot/ |
sol-image manifest tooling; target home of sol-boot, recovery, and verified-slot policy |
🟡 Phase 7 manifest foundation |
packaging/sol/ |
Target home of .app tooling and sol-pkg contracts |
🔲 planned |
security/ |
Target home of sandbox, permission, consent, and audit services | 🔲 planned |
accounts/ |
Target home of system accounts, credential vault, and provider brokers | 🔲 planned |
compat/ |
Target home of explicit toolkit adapters | 🔲 planned |
tests/ |
Cross-component integration tests | 🟡 selected S3 headless/service boundaries; real-session matrix open |
docs/ |
PRD, ROADMAP, engineering decisions | 🟡 living |
| Doc | What it is |
|---|---|
| Product Requirements Document | What SOL is and why (§1–42); core principles, architecture, MVP, phases |
| OS Platform Definition | Normative OS boundary, .app, atomic permissions, accounts, and runtime contracts |
| Shell Experience | Dock, Launcher, global menu, window controls, status zone, tray, and Live Capsule contracts |
| Roadmap | Engineering execution view of the PRD phases, with deliverables & acceptance |
| Historical Wayland protocol matrix | Retired frontend evidence retained for migration history |
| Decision log | ADRs for boot, packages, security, runtime, compositor, SDK, IPC, and distribution |
| Docs index | How the docs fit together + pointers |
| Component READMEs | compositor/, sdk/*, services/*, apps/*, protocols/ |
# Whole workspace (SCP-only; no Wayland/Smithay dependency).
cargo check --workspace
cargo build --workspace
# Run the native SCP compositor service.
cargo run -p sol-compositorThe compositor binds $XDG_RUNTIME_DIR/sol-compositor-0 (override with
SOL_SCP_SOCKET) and serves authenticated SCP clients on it.
To build a bootable ISO image with the latest stable kernel:
# Build complete ISO (kernel + platform + rootfs + ISO generation)
./scripts/build-iso.sh
# Test the ISO in QEMU
qemu-system-x86_64 -m 2G -smp 2 -cdrom build/iso/sol-*.isoThe ISO build system automatically fetches the latest stable kernel from
kernel.org and creates a UEFI-only development image. It directly exercises the
current sol-boot manager and is not the final Stage-0/recovery topology. See
docs/iso-build.md for detailed documentation and CI/CD
setup.
- Consistency First — enforced by architecture, not discipline (§19.1).
- SCP Native — applications target the SOL protocol and runtime directly.
- Framework First — behavior comes from SolKit, not from per-app conventions (§4.3).
- Transactional System — boot, update, activation, rollback, and recovery are one coherent lifecycle.
- Self-contained Applications — each
.appvendors its non-SOL dependencies and receives system access only through declared capabilities. - Explicit Minimum Authority — each protected access is a smallest-scope, atomic, independently revocable grant; declaration and installation grant nothing.
- Defined Authority Continuity — verified same-publisher updates may retain durable grants but never live handles; uninstall/reinstall and discontinuous publishers inherit no authority.
- System-managed Accounts — applications receive scoped account handles, never ownership of the account database or durable credentials.
- Stable Platform Runtime — versioned SOL frameworks let applications avoid carrying common platform runtimes without depending on arbitrary host libraries.
- Interactive Motion — interruptible, gesture-driven, spring-based animation as part of the interaction model, not decoration (§4.4).
- Explicit Adaptation — non-native toolkits require a SOL adapter and do not receive an implicit compatibility socket.
- Stable Shell Geography — Dock at the bottom, foreground app menu at the upper-left, and trusted information/status/Live Capsule surfaces at the upper-right.
- ROADMAP — where SOL is going, phase by phase.
- Compositor README — how to run/extend the compositor.
Rendered in-repo by .github/workflows/star-history.yml
— no third-party action and no external chart service.
SOL is licensed under the BSD 3-Clause License.