Console-style gaming launcher UI for FalconOS. Runs inside Gamescope/Chromium kiosk. Inspired by PS5 and Nintendo Switch interfaces.
| Technology | Purpose |
|---|---|
| React 18 | UI framework |
| Vite | Build tool + dev server |
| Gamepad API | Controller navigation (Xbox, PS4, PS5) |
| CSS | PS5-style animations, cover art, transitions |
Talks to falcon-system-service (Python FastAPI) via REST on localhost:8000.
falcon-launcher/
├── src/
│ ├── components/
│ │ ├── GameGrid.jsx # Horizontal scrolling game tiles
│ │ ├── GameCard.jsx # Cover art + title + play button
│ │ ├── TopBar.jsx # Clock, wifi, GPU temp
│ │ ├── BottomDock.jsx # Library, Store, Settings, Desktop
│ │ ├── PowerMenu.jsx # Sleep, Restart, Desktop mode
│ │ └── SettingsPanel.jsx # Resolution, Proton version
│ ├── hooks/
│ │ ├── useGamepad.js # Controller → keyboard event bridge
│ │ └── useSystemStats.js # Polls /stats every 2 seconds
│ ├── App.jsx
│ └── main.jsx
├── public/
│ └── placeholder-cover.png # Fallback cover art
├── package.json
└── vite.config.js # Proxy to localhost:8000
# Prerequisites: Node.js 20+, running falcon-system-service
git clone https://github.com/FalconGamingOS/falcon-launcher
cd falcon-launcher
npm install
npm run dev # Starts on localhost:3000 with hot reloadnpm run build # Outputs to dist/
# dist/ is then served via Chromium kiosk inside Gamescope┌──────────────────────────────────────────────────┐
│ [Falcon] Library Store Settings 22:30 GPU │ ← TopBar
├──────────────────────────────────────────────────┤
│ │
│ ← [GTA V] [CS2] [FIFA] [Minecraft] [PUBG] → │ ← GameGrid
│ (cover art tiles, horizontal scroll) │
│ │
│ ▶ Continue: GTA V — Last played 2h ago │ ← Quick resume
│ │
├──────────────────────────────────────────────────┤
│ GPU 65°C RAM 9.2/16GB FPS 60 │ ← StatsBar
└──────────────────────────────────────────────────┘
| Button | Action |
|---|---|
| D-pad / Left stick | Navigate game tiles |
| A / Cross | Launch selected game |
| B / Circle | Back / close overlay |
| Start | Open power menu |
Requires falcon-system-service running on localhost:8000.
GPL v3.0