A console operating system

PlayOS

A fast, open, controller-first console operating system for handheld gaming PCs.

Immutable, secure, and purpose-built for handheld gaming — with the ASUS ROG Ally as the first reference device. Linux is the hardware layer, not the product.

Why PlayOS

Built for one thing: playing games

A focused console experience — no desktop, no distractions, no Linux knowledge required.

Controller-first shell

A Raylib-based interface driven entirely by gamepad. Games and menus are navigable with the same controls, end to end.

Native compositor

A minimal wlroots compositor that permanently owns DRM/KMS — low-latency, tear-free output with no handoff to games.

Immutable system

The system image is read-only and reproducible; only the data partition is writable. Crash-restart and atomic updates are built in.

Low-level audio

ALSA-backed audio through raylib's miniaudio, with device info and foreground-gated master volume and mute.

Engine-agnostic SDK

A stable C ABI (libplayos) for input, storage, lifecycle, and cloud — portable across engines and toolchains.

Open marketplace & cloud

Publish, discover, and install games; sync cloud saves, achievements, and leaderboards through self-hostable services.

Architecture

A clear separation of concerns

Six core components, each owning one responsibility. Games target the platform API — never the kernel or compositor.

Game Isolated game process One at a time · targets libplayos
UX playos-shell Raylib · controller-first interface
Display playos-compositor wlroots · owns DRM/KMS & focus
Control playos-runtime + platform-api lifecycle transport · libplayos C ABI
System playos-init PID 1 · supervises & restarts services
Kernel Linux (Buildroot image) EFI-stub · AMDGPU / DRM · evdev
  • Linux is the hardware layer, not the product.
  • The system image is immutable; only the data partition is writable.
  • The compositor permanently owns DRM/KMS — no handoffs to games.
  • One game runs at a time; the shell always stays alive.
  • Games target playos-platform-api; they never touch compositor or kernel internals.
Roadmap

Sprint status

Fourteen sprints shipped and verified. Four remain before the public MVP release.

14 of 18 sprints complete

Sprints implemented

Complete & verified

14
  • 0 Build & UEFI Foundation
  • 1 playos-init & Minimal Boot
  • 2 Compositor Skeleton & Wayland Session
  • 2.5 Cross-Sprint Audit
  • 3 ROG Ally Kernel Bring-Up
  • 4 AMDGPU & Native DRM/KMS
  • 5 Raylib-Powered Shell
  • 5.5 Raylib 6.0 Migration
  • 5.6 Repos Cleanup
  • 6 Storage & Game Discovery
  • 7 Game Launch, Lifecycle & Overlay
  • 8 ALSA Audio
  • 9 Power, Battery, Thermal & Suspend
  • 10 Installer & Internal-Disk Deployment

Pending to public MVP

In dependency order

4
  • 11 Immutable Images & A/B Updates
  • 12 Security Hardening
  • 13 Intel Expansion
  • 14 Production Readiness

Sprint 11 (A/B updates) is code-complete and QEMU-verified; the ROG Ally A/B matrix is still pending (Sprint 11.5/11.6).

After the MVP: Game Developer SDK, Wi-Fi, and Touch & On-Screen Keyboard.

Under active development

PlayOS is an early-stage, community-driven project. Follow the full roadmap and sprint criteria in the specification.