gaming-cli
gaming-cli to główne narzędzie do zarządzania trybem gry wbudowane w HackerOS Gaming Edition. Pozwala przełączać system między środowiskiem KDE Plasma a trybem gry opartym na Gamescope i Steam Big Picture Mode — bez potrzeby ponownego uruchamiania systemu.
Narzędzie oferuje zarówno interaktywne TUI (terminal user interface) zbudowane na BubbleTea, jak i klasyczny interfejs CLI do użycia w skryptach i skrótach klawiszowych. Na pulpicie znajdziesz gotowy skrót Switch to Game Mode, który uruchamia przełączenie jednym kliknięciem.
Wymagania
| Wymaganie | Szczegóły |
|---|---|
| Dystrybucja | HackerOS Gaming Edition (Debian Testing / Forky) |
| Architektura | x86_64 — PC, laptop (handheldowe urządzenia nie są obsługiwane) |
| Jądro | XanMod LTS lub Liquorix (preinstalowane w Gaming Edition) |
| Display manager | SDDM zarządzany przez systemctl |
| Uprawnienia |
sudo / pkexec do zatrzymania SDDM
i przełączania TTY. Skrót na pulpicie używa pkexec automatycznie.
|
Tryb interaktywny (TUI)
Uruchomienie gaming-cli lub gaming bez argumentów
otwiera pełnoekranowy interfejs TUI zbudowany na
BubbleTea
i Lip Gloss.
gaming-cli
# lub krócej:
gaming
TUI oferuje menu z następującymi opcjami:
| Opcja | Działanie |
|---|---|
| 🎮 Tryb gry | Zatrzymuje SDDM, przełącza na TTY2, uruchamia Gamescope + Steam BPM |
| 🖥 Tryb pulpitu | Zatrzymuje sesję gamescope, przełącza na TTY1, uruchamia SDDM |
| 📊 Info | Wyświetla informacje o środowisku (kernel, GPU, Steam, Gamescope, tryb) |
| 🔧 Gamescope | Uruchamia gamescope standalone i wychodzi z TUI |
| ✖ Wyjdź | Zamknij TUI bez żadnych zmian |
Nawigacja w TUI
| Klawisz | Działanie |
|---|---|
| ↑ / k | Przesuń kursor w górę |
| ↓ / j | Przesuń kursor w dół |
| Enter / Spacja | Wybierz opcję |
| Esc / Backspace | Wróć do menu głównego |
| q / Ctrl+C | Wyjdź z TUI |
Interfejs CLI
gaming-cli akceptuje komendy jako argumenty wiersza poleceń — przydatne w skryptach, regułach udev i skrótach klawiszowych pulpitu.
gaming-cli <komenda> [argumenty]
switch
Przełącza system między trybem gry a trybem pulpitu.
gaming-cli switch game-mode
gaming-cli switch desktop-mode
Działanie switch game-mode:
- Sprawdza aktualny tryb — jeśli już w game-mode, kończy z komunikatem
- Zatrzymuje
sddm.service(zamknięcie KDE Plasma) - Czeka 2 sekundy na zamknięcie display servera
- Przełącza konsolę na TTY2 (
chvt 2) - Uruchamia
hackeros-game-mode.service(Gamescope + Steam BPM) - Zapisuje stan do
/var/lib/hackeros-gaming/current-mode
Działanie switch desktop-mode:
- Sprawdza aktualny tryb — jeśli już w desktop-mode, kończy z komunikatem
- Zatrzymuje
hackeros-game-mode.servicelub ubija procesgamescope - Czeka na zakończenie procesu
- Przełącza konsolę na TTY1 (
chvt 1) - Uruchamia
sddm.service - Zapisuje stan trybu
pkexec
automatycznie — zostaniesz poproszony o hasło przy pierwszym użyciu.
W skryptach systemowych uruchom jako root lub przez sudo.
status
Wyświetla aktualnie aktywny tryb.
gaming-cli status
Aktywny tryb : 🎮 GAME MODE
info
Wyświetla szczegółowe informacje o środowisku gaming.
gaming-cli info
📊 Środowisko gaming
────────────────────────────────────────────────────────
Dystrybucja : HackerOS Gaming Edition 4.7
Debian : forky/sid
Jądro : 6.12.0-xanmod1
GPU : NVIDIA GeForce RTX 4070 Ti
Gamescope : gamescope 3.15.x
Steam : zainstalowany (/usr/bin/steam)
Tryb : game-mode
gamescope
Uruchamia gamescope bezpośrednio z przekazanymi argumentami.
gaming-cli gamescope --width 1920 --height 1080 --refresh 144
gaming-cli gamescope -f -w 2560 -h 1440
version
gaming-cli version
gaming-cli 0.0.1
HackerOS Gaming Edition · Debian Testing (Forky)
Wrapper gaming
gaming to krótki wrapper dla gaming-cli — zamiast
wpisywać pełne komendy, możesz używać intuicyjnych skrótów:
| Skrót | Ekwiwalent | Opis |
|---|---|---|
| gaming | gaming-cli |
Otwórz TUI (bez argumentów) |
| gaming game | gaming-cli switch game-mode |
Przełącz na tryb gry |
| gaming desktop | gaming-cli switch desktop-mode |
Przełącz na KDE Plasma |
| gaming tui | gaming-cli tui |
Otwórz TUI jawnie |
| gaming status | gaming-cli status |
Pokaż aktywny tryb |
| gaming info | gaming-cli info |
Informacje o środowisku |
gaming-cli. Możesz więc używać pełnych komend przez
gaming bez żadnych ograniczeń.
gamescope-manager
gamescope-manager to narzędzie zarządzające sesją Gamescope,
wywoływane przez gaming-cli w tle (lub przez serwis systemd
hackeros-game-mode.service). Możesz też używać go bezpośrednio:
gamescope-manager start # uruchom z domyślną konfiguracją
gamescope-manager start --width 2560 --height 1440 --refresh 144
gamescope-manager start --no-steam # sam gamescope bez Steam
gamescope-manager stop # zatrzymaj sesję
gamescope-manager restart
gamescope-manager status
gamescope-manager config # pokaż konfigurację
gamescope-manager config set refresh 144 # zmień klucz
gamescope-manager config reset # przywróć domyślne
Opcje dla start
| Opcja | Opis |
|---|---|
| --steam | Uruchom z Steam BPM (domyślnie) |
| --no-steam | Sam gamescope bez Steam |
| --width <px> | Szerokość wewnętrzna (domyślnie: 1920) |
| --height <px> | Wysokość wewnętrzna (domyślnie: 1080) |
| --refresh <hz> | Częstotliwość odświeżania (domyślnie: 60) |
| --hdr | Włącz HDR (wymaga wsparcia GPU) |
| --no-mangoapp | Wyłącz overlay FPS |
| --no-vsync | Wyłącz synchronizację pionową |
| --no-fullscreen | Tryb okienkowy zamiast pełnego ekranu |
| --extra "flagi" | Dodatkowe flagi przekazywane do gamescope |
Konfiguracja gamescope-manager
Konfiguracja jest przechowywana w pliku
/etc/hackeros/gamescope-manager.hk
w autorskim formacie HackerOS .hk.
| Klucz | Typ | Domyślnie | Opis |
|---|---|---|---|
| width | number | 1920 | Szerokość wewnętrzna gamescope (px) |
| height | number | 1080 | Wysokość wewnętrzna gamescope (px) |
| refresh | number | 60 | Częstotliwość odświeżania (Hz) |
| fullscreen | bool | true | Pełnoekranowy tryb gamescope |
| vsync | bool | true | Adaptive sync (VSync) |
| hdr | bool | false | High Dynamic Range (wymaga wsparcia GPU) |
| mangoapp | bool | true | Overlay FPS przez MangoApp |
| auto_steam | bool | true | Automatyczne uruchamianie Steam BPM |
| extra_flags | array | [] | Dodatkowe flagi przekazywane do gamescope |
Przykład pliku konfiguracyjnego (.hk)
! HackerOS Gamescope Manager — konfiguracja
! Format: .hk (HackerOS Configuration Format)
[gamescope]
-> width => 2560
-> height => 1440
-> refresh => 144
-> fullscreen => true
-> vsync => true
-> hdr => false
-> mangoapp => true
-> auto_steam => true
-> extra_flags => []
Format konfiguracyjny .hk
HackerOS używa autorskiego formatu plików konfiguracyjnych .hk (HackerOS Configuration Format). Pełna dokumentacja formatu wraz ze specyfikacją składni, typami wartości i przykładami dostępna jest tutaj:
Roadmapa
Krótkoterminowo (v0.1.x)
| Funkcja | Opis |
|---|---|
| Profile gamescope |
Wiele profili konfiguracji w .hk (np. 1080p60,
1440p144, 4K30) — przełączanie z poziomu TUI
|
| Auto-detect rozdzielczości |
Wykrywanie natywnej rozdzielczości monitora przez
xrandr / wayland-info
|
| Reguła polkit |
Możliwość przełączania trybu bez hasła dla użytkowników
z grupy gaming
|
| gaming-cli log | Komenda do przeglądania logu sesji gamescope bezpośrednio w TUI |
| Plasmoid | Widget na pasku KDE Plasma pokazujący aktywny tryb z przyciskiem przełączenia |
Średnioterminowo (v0.2.x)
| Funkcja | Opis |
|---|---|
| RetroArch / Heroic | Wsparcie dla alternatywnych launcherów zamiast Steam BPM |
| GPU profiling | Automatyczne ustawianie performance governor CPU i trybu wydajności GPU przy wejściu w game mode |
| Gamepad wake-up | Automatyczne przełączenie na tryb gry po wykryciu kontrolera (reguła udev) |
| gaming-cli update | Sprawdzanie dostępności nowej wersji i aktualizacja przez apt |
| Wayland-native | Bezpośrednia sesja Wayland bez TTY-hop gdy Plasma używa Wayland |
Długoterminowo (v1.0)
| Funkcja | Opis |
|---|---|
| Daemon trybu gry | Lekki daemon monitorujący stan systemu i obsługujący zdarzenia (kontroler, sieć, zasilanie) |
| IPC (Unix socket) | API do sterowania trybem gry z innych aplikacji — skryptów bash, widgetów KDE, aplikacji zewnętrznych |
| Statystyki sesji | Czas spędzony w trybie gry, historia sesji, zużycie zasobów |
Licencja
gaming-cli, gaming i gamescope-manager są udostępniane na licencji GNU GPL3.