mirror of
https://invent.kde.org/marcoa/a-la-karte.git
synced 2026-02-09 21:13:08 +00:00
52 lines
1.5 KiB
Markdown
52 lines
1.5 KiB
Markdown
# Gamecenter track (Launcher + Game Center)
|
|
|
|
## Goal
|
|
|
|
The gamecenter track evolves A-La-Karte from “a launcher” into “a launcher + game center” suitable for a **fully integrated, console-like experience on KDE**.
|
|
|
|
Key ideas:
|
|
|
|
- The UI becomes a client of background services.
|
|
- Launching and monitoring games is handled by a daemon.
|
|
- Runner resolution (Wine/Proton) is handled by a runner manager service.
|
|
|
|
## Architecture (high level)
|
|
|
|
### UI (A-La-Karte)
|
|
|
|
- Displays the library and settings.
|
|
- Requests launches via the Game Center daemon instead of launching processes directly.
|
|
- Surfaces daemon/service errors to the user.
|
|
|
|
### Game Center daemon
|
|
|
|
- Manages game sessions (launch/stop, running state, concurrency policy).
|
|
- Tracks/monitors sessions so Steam/Lutris URL-based launches can still be managed.
|
|
- Intended to be activatable via DBus/systemd.
|
|
|
|
DBus service (planned/implemented on the gamecenter branch):
|
|
|
|
- `org.kde.GameCenter1`
|
|
|
|
### Runner manager daemon
|
|
|
|
- Manages “runners” (e.g. Proton, Wine, GE builds):
|
|
- install/uninstall
|
|
- inventory listing
|
|
- resolve launch specs deterministically
|
|
- prefix lifecycle helpers
|
|
|
|
DBus service (planned/implemented on the gamecenter branch):
|
|
|
|
- `org.kde.ALaKarte.Runner1`
|
|
|
|
## Branches
|
|
|
|
- `master` / `legacy`
|
|
- Launcher-focused baseline.
|
|
- `gamecenter`
|
|
- Experimental daemon-based direction.
|
|
|
|
## Status
|
|
|
|
This document is intentionally a living overview. Detailed API docs / roadmaps should live in separate documents as they solidify.
|