Files
Nebula-OS/Bigscreen/README-Bigscreen.md
T
Andrew Zambazos f0d2926872 Add mode READMEs and move Bigscreen app
Add comprehensive READMEs for Bigscreen and Desktop modes, and relocate the Tauri frontend prototype into a new Bigscreen/ subdirectory. This moves package.json/package-lock, src, src-tauri, assets, views, styles and related files into Bigscreen/ to separate the controller-first shell from top-level docs. Update the root README.md to reframe the project as "NebulaOS", describe Bigscreen/Desktop modes, the vision, tech stack and development notes. This reorganizes the repo layout for clearer mode separation and documentation.
2026-05-21 20:11:18 +12:00

5.0 KiB

NebulaOS Bigscreen Mode

Bigscreen Mode is the controller-first console interface for NebulaOS.

It is designed for gaming PCs, handhelds, TVs, and couch-based setups where the primary input is a controller rather than a mouse and keyboard.

Bigscreen Mode should feel like the main dashboard of a console, but with the freedom of a Linux PC underneath.


Purpose

Bigscreen Mode exists to make NebulaOS feel native on gaming hardware.

It provides:

  • A controller-first home screen
  • A game and app library
  • System settings
  • Power controls
  • Profile and lock screen flows
  • Store and launcher integrations
  • A fullscreen interface for TV and handheld use

The goal is not to copy Steam Big Picture or Xbox exactly.

The goal is to create an open, polished, flexible OS shell that feels good to use with a controller.


Current Features

The current v0 prototype includes:

  • Lock screen with PIN keypad
  • Controller and keyboard input support
  • Home dashboard
  • Library stub
  • Settings stub
  • Power overlay
  • Controller focus management
  • Keyboard mirror controls for development
  • Xbox-inspired horizontal tile layout
  • Dynamic nebula background stack
  • Smooth focus transitions
  • Shared top bar with profile and time display

Input Model

Bigscreen Mode uses unified input actions instead of raw button handling.

Core actions:

up
down
left
right
accept
back
menu

These actions can come from:

  • Controller D-pad
  • Controller left stick
  • Controller face buttons
  • Keyboard arrow keys
  • Enter
  • Escape
  • Backspace

This keeps the UI consistent across controllers, keyboards, and future input devices.


Controller Mapping

D-pad / left stick: Navigate
A: Accept
B: Back
Start: Menu

Future mappings may include:

LB / RB: Switch tabs or rails
LT / RT: Page navigation
Guide button: Nebula overlay
Y: Search
X: Context action

Design Goals

Bigscreen Mode should be:

  • Fast
  • Clear
  • Controller-first
  • Readable from a distance
  • Comfortable on TVs
  • Comfortable on handheld screens
  • Smooth and polished
  • Visually distinct from desktop Linux
  • Easy to navigate without a mouse

UI Structure

Bigscreen Mode is planned around the following major areas:

Bigscreen Mode
├── Lock Screen
├── Home
├── Library
├── Store
├── Apps
├── Settings
├── Downloads
├── Notifications
├── Power Menu
└── Profile Menu

Home

The Home screen is the main landing area.

It should include:

  • Recent games
  • Installed games
  • Featured apps
  • Continue playing section
  • Quick settings
  • Profile status
  • Time and network status
  • Download status
  • Power menu access

The current prototype uses a horizontal app tile rail with Library, Settings, and Power tiles.


Library

The Library is the game and app management area.

Initial v0 scope:

  • Display mock entries
  • Display locally added games
  • Launch local executables
  • Store metadata locally
  • Support controller navigation
  • Separate games from apps

Future scope:

  • Steam integration
  • GOG integration
  • Epic Games integration
  • Proton and Wine configuration
  • Per-game settings
  • Save sync support
  • Mod manager integration
  • Metadata and artwork scraping

Settings

Settings should expose system controls in a controller-friendly way.

Planned categories:

  • Network
  • Bluetooth
  • Audio
  • Display
  • Controller
  • Storage
  • Accounts
  • Appearance
  • Updates
  • System
  • Desktop Mode

The settings UI should avoid feeling like a desktop control panel. It should feel like a native console settings app.


Lock Screen

The lock screen currently supports a v0 PIN keypad.

Current v0 PIN:

1234

Future improvements:

  • User profiles
  • Custom PINs
  • Avatar selection
  • Local account linking
  • Parental controls
  • Optional password fallback
  • Automatic login into Bigscreen profile

Power Menu

The power overlay should support:

  • Sleep
  • Restart
  • Shut down
  • Log out
  • Switch to Desktop Mode
  • Return to login
  • Restart Bigscreen shell

Current v0 scope includes a power overlay that traps focus and closes with Back.


Technology

Bigscreen Mode is built with:

  • Tauri
  • HTML
  • CSS
  • JavaScript
  • Rust backend through Tauri
  • Web Gamepad API
  • Nebula Core adapters

Run

From the root of the repository:

npm install
npm run dev

Build

npm run build

Development Notes

Bigscreen Mode is currently developed primarily on Windows for faster UI iteration.

Linux testing is still required for:

  • Fullscreen behavior
  • Session integration
  • Controller detection
  • System commands
  • App launching
  • Proton and Wine workflows
  • Power controls

Success Criteria

Bigscreen Mode is successful when:

  • The entire interface works with a controller
  • Users can unlock the system
  • Users can navigate Home
  • Users can open Library
  • Users can open Settings
  • Users can launch games or apps
  • Users can access power controls
  • Users can switch to Desktop Mode
  • The UI feels like a native OS shell, not a web app