AkurAI Build
Menu

cosmic-mobile

public

Latest change d22956783f74f68f3d7eff1dd31f885aaf0fbe3e - Checkpoint BúiOS prototype and document clean-worktree workflow by AkurAI Build

# cosmic-mobile
Lean Rust-first Wayland phone OS prototype for Búi; OnePlus 13R hardware target.
Native GPU GUI, few source files, minimal dependencies. iOS-inspired appearance and mobile multitasking; not affiliated with Apple or System76.

Canonical documentation: AkurAI Notes notebook `cosmic-mobile` (68), note 258, **Project Index and VM Runbook**.

## Emulator runtime
Build on Titan; run headed on midget at `/home/olibuijr/Emulators/cosmic-mobile`.
Default host window is 450×900, GTK OpenGL with zoom-to-fit and hidden menubar. Guest remains 900×1980 at scale 2; do not shrink guest resolution to fit the host. `vm.sh` invokes `fit-window.sh` to size the visible QEMU window by process ID, not its hidden GTK helper. Requires xdotool and the real session DISPLAY (currently :1).
Service: `cosmic-mobile-emulator.service` under midget user manager. No automatic login/boot startup is implied. Restore prior launcher files if launch fails; guest disk uses disposable snapshots.

## Home-first interaction
No separate app drawer. Home is the central surface for launching apps, search, widgets, and everyday actions. Recent apps is a horizontal view of Home and real running apps, not an app catalogue. Preserve app state when returning Home.

## Required component isolation (target, not yet implemented)
Home, Notes, Calculator, Clock and Settings must own separate application state and Wayland windows. Run apps independently so closing or restarting one does not reset another. Share small visual primitives, not a global page-switching Shell.
System navigation is an independent top-layer Wayland layer-shell component, visible over apps and overview, reserving its own exclusive screen area. Apps never render or control its lifetime. Niri owns window focus and overview; use its IPC instead of duplicating a window manager. Keep Home as launcher; no app drawer.
Verify isolation with simultaneous apps, retained state, closing/restarting one app, and navigation remaining usable throughout. Process isolation is not a security sandbox; sandboxing requires separate work.

## Current implementation
Arch x86_64 QEMU/KVM VM, virgl/Intel GPU, egui/eframe shell, Niri compositor, Alacritty terminal. Cage and foot are superseded.
Home/apps workspaces, live overview, window focus/close, retained terminal state verified. Notes/Settings remain internal shell pages. App list is fixed.

## Unfinished
Touch Home gestures, swipe-to-close cards, OSK/IME, background lifecycle, general app discovery, reproducible lean image build, OnePlus ARM boot/drivers. Niri overview is not finished iOS mobile UX.
Safe-area values are conservative VM reservations, not measured phone cutout geometry. Existing memory/disk measurements predate Niri.