gaming-cli

v0.0.1 HackerOS Gaming Edition Debian Testing (Forky) PC / Laptop

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.

ℹ Wbudowane narzędzie
gaming-cli, gaming oraz gamescope-manager są preinstalowane w HackerOS Gaming Edition i nie wymagają żadnej dodatkowej konfiguracji. Wszystkie zależności — w tym Gamescope i Steam — są gotowe od razu po pierwszym uruchomieniu systemu.

Wymagania

WymaganieSzczegół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:

OpcjaDział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

KlawiszDziałanie
↑ / kPrzesuń kursor w górę
↓ / jPrzesuń kursor w dół
Enter / SpacjaWybierz opcję
Esc / BackspaceWróć do menu głównego
q / Ctrl+CWyjdź 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:

  1. Sprawdza aktualny tryb — jeśli już w game-mode, kończy z komunikatem
  2. Zatrzymuje sddm.service (zamknięcie KDE Plasma)
  3. Czeka 2 sekundy na zamknięcie display servera
  4. Przełącza konsolę na TTY2 (chvt 2)
  5. Uruchamia hackeros-game-mode.service (Gamescope + Steam BPM)
  6. Zapisuje stan do /var/lib/hackeros-gaming/current-mode

Działanie switch desktop-mode:

  1. Sprawdza aktualny tryb — jeśli już w desktop-mode, kończy z komunikatem
  2. Zatrzymuje hackeros-game-mode.service lub ubija proces gamescope
  3. Czeka na zakończenie procesu
  4. Przełącza konsolę na TTY1 (chvt 1)
  5. Uruchamia sddm.service
  6. Zapisuje stan trybu
⚠ Uprawnienia
Zatrzymanie SDDM i przełączenie TTY wymaga uprawnień roota. Skrót na pulpicie (Switch to Game Mode) używa 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ótEkwiwalentOpis
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
ℹ Przekazywanie argumentów
Argumenty nierozpoznane jako skrót są przekazywane bezpośrednio do 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

OpcjaOpis
--steamUruchom z Steam BPM (domyślnie)
--no-steamSam 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)
--hdrWłącz HDR (wymaga wsparcia GPU)
--no-mangoappWyłącz overlay FPS
--no-vsyncWyłącz synchronizację pionową
--no-fullscreenTryb 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.

KluczTypDomyślnieOpis
widthnumber 1920 Szerokość wewnętrzna gamescope (px)
heightnumber 1080 Wysokość wewnętrzna gamescope (px)
refreshnumber 60 Częstotliwość odświeżania (Hz)
fullscreenbool true Pełnoekranowy tryb gamescope
vsyncbool true Adaptive sync (VSync)
hdrbool false High Dynamic Range (wymaga wsparcia GPU)
mangoappbool true Overlay FPS przez MangoApp
auto_steambool true Automatyczne uruchamianie Steam BPM
extra_flagsarray [] 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:

📄 Dokumentacja formatu .hk →

Roadmapa

Krótkoterminowo (v0.1.x)

FunkcjaOpis
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)

FunkcjaOpis
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)

FunkcjaOpis
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.