Architecture note · living document

3DVR Desktop Layer

One computing experience across powerful desktops, lightweight machines, phones, and XR— without requiring every device to run the same desktop environment.

The idea

3DVR should not depend on GNOME, XFCE, Phosh, or any single shell. Those environments can provide windows, input, displays, power management, and hardware integration while 3DVR provides the experience people actually recognize: identity, apps, agent behavior, device policy, sync, and consistent interaction.

Core rule: desktop environments are replaceable system surfaces. 3DVR owns the portable user experience and the policy that makes the machine behave intelligently.

Layered architecture

3DVR experience · launcher, portal, apps, worlds, identity, preferences
3DVR intelligence & policy · agent, automation, device routing, sync, permissions
Environment adapter · GNOME, XFCE, KDE, Phosh, Labwc/Wayfire, XR shell
Linux platform · Wayland, PipeWire, systemd, NetworkManager, kernel, drivers
Hardware · laptops, phones, RISC-V boards, desktops, headsets, displays

Example targets

Laptop / workstation

Debian → GNOME → 3DVR

Use the mature desktop for demanding work while 3DVR supplies consistent policy and services.

Lightweight / RISC-V

Debian → XFCE or Labwc → 3DVR

Keep memory and GPU overhead low without creating a second product experience.

Phone / tablet

Linux → Phosh or another mobile shell → 3DVR

Reuse the same identity, apps, agent, sync, and policies with touch-first presentation.

XR / spatial

Linux or browser runtime → 3DVR spatial shell

Use the same core services while three-dimensional interfaces become the primary surface.

What 3DVR should own

Experience

  • Identity and account context
  • Launcher, search, apps, and project context
  • Notifications and attention policy
  • Shared preferences across devices

Intelligence

  • Personal agent and automation
  • Hardware-aware defaults and routing
  • Permission and approval boundaries
  • Portable state, sync, and recovery

Why a layer before a fork

Forking a full desktop environment makes 3DVR responsible for years of compositor, accessibility, input, graphics, and hardware maintenance immediately. A portable layer lets us improve the user experience now, upstream fixes where possible, and only replace components when we have a clear reason.

This also keeps 3DVR usable on machines where GNOME is too heavy. The system can scale down without throwing away the agent, apps, account, or product philosophy.

A small example: audio policy

A desktop may expose every audio route correctly and still leave the user managing implementation details. 3DVR can add a simple human rule on top: prefer a plugged-in headset, then an external display, then built-in speakers. The operating system still handles PipeWire and drivers; 3DVR supplies the policy.

This is the pattern:

keep mature Linux infrastructure underneath; add small, understandable policy services above it; move functionality into 3DVR only when doing so produces a clearer universal experience.

Migration path

Portable policy layer. Solve recurring device and UX friction with small services and shared preferences.
Environment adapters. Give GNOME, XFCE, mobile shells, and lightweight Wayland systems a common 3DVR contract.
Shared shell surfaces. Own more of launcher, quick settings, notifications, workspace context, and app presentation.
Minimal 3DVR shell. Run directly on a lightweight compositor where existing desktop environments add little value.
Native universal shell. If the earlier layers prove the need, 3DVR can eventually own the full experience without being trapped by one desktop lineage.

Design constraints

Portable

Do not make core 3DVR services depend on one compositor, toolkit, CPU architecture, or vendor cloud.

Upstream-friendly

Fix Linux components upstream when the problem belongs upstream. Keep 3DVR policy focused on product behavior.

Human first

Expose choices when they matter. Automate routine hardware decisions when a safe preference is already known.

Progressive

Start on mature desktops, scale down to tiny systems, and earn the right to replace deeper layers over time.

Related experiments

This architecture connects existing 3DVR work on phones, personal Linux infrastructure, XR interaction, and the broader roadmap.