v0.9.0
This commit is contained in:
@@ -1,62 +1,81 @@
|
||||
# Omarchy Citizen 0.8.1 — Development Preview
|
||||
# Citizen Launcher 0.9.0
|
||||
|
||||
Omarchy Citizen is moving from a frontend around the LUG installer to an
|
||||
**owned, self-maintaining Star Citizen stack for Omarchy**.
|
||||
Citizen Launcher is the distro-neutral successor to Omarchy Citizen.
|
||||
|
||||
## Goal
|
||||
|
||||
**Install Linux → install Citizen Launcher → log into RSI → play.**
|
||||
|
||||
The core is one static Go binary and does not depend on Omarchy. Omarchy is an optional integration under `integrations/omarchy/`.
|
||||
|
||||
## Supported targets
|
||||
|
||||
Primary targets:
|
||||
|
||||
- Debian / Ubuntu / Linux Mint
|
||||
- Fedora
|
||||
- Arch Linux / Omarchy
|
||||
- openSUSE (generic user install)
|
||||
|
||||
Other amd64 Linux distributions can use the generic tarball when they provide a working Vulkan driver and the runtime requirements of the selected Wine runner.
|
||||
|
||||
## GUI
|
||||
|
||||
`citizen-launcher gui` starts a localhost-only UI from files embedded in the Go binary. Chromium-family browsers open it as a dedicated app window; otherwise it opens in the default browser. No GTK/Qt/WebKit development/runtime package is required by Citizen Launcher itself.
|
||||
|
||||
## Architecture
|
||||
|
||||
The critical install and launch path is owned by this project:
|
||||
|
||||
1. hardware / Vulkan readiness gate
|
||||
2. select the newest locally compatible stable LUG Wine runner
|
||||
3. validate it in a disposable Wine prefix
|
||||
4. create the real Wine prefix
|
||||
5. dynamically fetch current Winetricks and install required verbs
|
||||
6. dynamically fetch and verify the current RSI Launcher
|
||||
7. manage DXVK and the stable launch entry point
|
||||
8. periodically maintain the user-space gaming stack
|
||||
|
||||
LUG Helper is **optional support/compatibility tooling**. Its failure must not
|
||||
block installation and it never chooses the active Wine runner.
|
||||
|
||||
## Stable paths
|
||||
|
||||
User-space components live below:
|
||||
|
||||
```text
|
||||
~/.local/share/omarchy-citizen/
|
||||
~/.local/state/omarchy-citizen/
|
||||
~/.config/omarchy-citizen/
|
||||
Standalone GUI / Omarchy bar integration
|
||||
↓
|
||||
Citizen Launcher
|
||||
Go core
|
||||
↓
|
||||
┌───────────────┼────────────────┐
|
||||
Hardware Wine RSI Launcher
|
||||
readiness selector installer
|
||||
+ self-test
|
||||
↓
|
||||
Wine prefix
|
||||
↓
|
||||
Winetricks + DXVK
|
||||
↓
|
||||
Star Citizen
|
||||
```
|
||||
|
||||
The backend intentionally hides upstream version/layout changes behind stable
|
||||
`vendor/*/current` paths and its own game configuration.
|
||||
The managed game stack lives in XDG user directories:
|
||||
|
||||
## Update safety
|
||||
- `~/.config/citizen-launcher`
|
||||
- `~/.local/share/citizen-launcher`
|
||||
- `~/.local/state/citizen-launcher`
|
||||
- `~/.cache/citizen-launcher`
|
||||
|
||||
- Wine candidates are tested before activation.
|
||||
- Incompatible immutable Wine releases are cached per CPU/glibc fingerprint.
|
||||
- Partial prefixes are backed up rather than deleted.
|
||||
- RSI installer downloads are checked against the SHA-512 value from its
|
||||
published update metadata.
|
||||
- DXVK is not changed while the Wine prefix is active.
|
||||
- Plugin Git updates retain the Omarchy validation / trusted-remote protection.
|
||||
Existing `omarchy-citizen` data is migrated when possible.
|
||||
|
||||
## Current development status
|
||||
## Build
|
||||
|
||||
See `DEVELOPMENT_STATUS.md`.
|
||||
```bash
|
||||
./build.sh
|
||||
```
|
||||
|
||||
## License
|
||||
## Install (any desktop distro)
|
||||
|
||||
MIT.
|
||||
```bash
|
||||
./install.sh
|
||||
```
|
||||
|
||||
For Omarchy plus bar integration:
|
||||
|
||||
## 0.8.1 adapter hotfix
|
||||
```bash
|
||||
./install-omarchy.sh
|
||||
```
|
||||
|
||||
The 0.8.0 preview accidentally mixed legacy shell actions with the new Go-owned
|
||||
stack. `citizenctl` has been rewritten as a thin adapter. There is now one
|
||||
authoritative implementation for install/status/launch/repair: the Go backend.
|
||||
## Debian package
|
||||
|
||||
A regression test exercises the adapter with a fake backend, including the exact
|
||||
full-setup path that previously failed with `backend_game_status: command not
|
||||
found` / `notify: command not found`.
|
||||
```bash
|
||||
./packaging/build-deb.sh
|
||||
```
|
||||
|
||||
## Security boundaries
|
||||
|
||||
Citizen Launcher manages its Wine/DXVK/RSI stack entirely as the current user. It does not create passwordless sudo/pacman/apt rules. GPU/kernel/base-system updates remain owned by the distribution.
|
||||
|
||||
Reference in New Issue
Block a user