How ragnarok93/gamenative works
GameNative is an Android app for installing and running owned PC games locally, with cloud saves and game-specific configuration. The main workflow is user sign-in and library sync, game installation, launch in a compatibility container, then gameplay through Android input and graphics. Store-specific services cover Steam, Epic, GOG, and Amazon; additional branches provide community configurations, workshop content, mod installation, and cloud saves. The README documents these capabilities, but sampled source is partial, so edges below show only broad documented interactions rather than detailed internal call sequences.
Main entry points: MainActivity.kt Android app · SteamBootstrap.kt Steam bootstrap · SteamService.kt Steam service · EpicService.kt Epic service
Components 22
Accounts and library
- Android app
app/src/main/java/app/gamenative/MainActivity.kt - Steam service
app/src/main/java/app/gamenative/service/SteamService.kt - Epic service
app/src/main/java/app/gamenative/service/epic/EpicService.kt - GOG service
app/src/main/java/app/gamenative/service/gog/GOGService.kt - Amazon service
app/src/main/java/app/gamenative/service/amazon/AmazonService.kt - GameNative API
app/src/main/java/app/gamenative/api/GameNativeApi.kt
Install and extend
- Store installers
app/src/main/java/app/gamenative/service/SteamService.kt - Workshop content
app/src/main/java/app/gamenative/workshop/WorkshopManager.kt - Mod importing
app/src/main/java/app/gamenative/service/NexusModImportService.kt - Mod pipeline
app/src/main/java/app/gamenative/mods/LocalModImportPipeline.kt
Launch and runtime
- Launch readiness
app/src/main/java/app/gamenative/launch/LaunchReadiness.kt - Steam bootstrap
app/src/main/java/app/gamenative/SteamBootstrap.kt - Linux process runtime
app/src/main/cpp/proot/src/cli/proot.c - Native graphics
app/src/main/cpp/winlator/vulkan_jni.cpp
Gameplay support
- Touch and controller
app/src/main/java/app/gamenative/gamefixes/GameInputCompatibility.kt - Game configurations
app/src/main/java/app/gamenative/gamefixes/GameFixesRegistry.kt - Cloud saves
app/src/main/java/app/gamenative/service/gog/GOGService.kt
Local state and services
- App database
app/src/main/java/app/gamenative/db/PluviaDatabase.kt - Container storage
app/src/main/java/app/gamenative/utils/ContainerStorageManager.kt
Other components
- Player
- Game stores
- Community services
Connections 25
- Player → Android app: uses
- Android app → Steam service: signs in and syncs
- Android app → Epic service: syncs library
- Android app → GOG service: syncs library
- Android app → Amazon service: syncs library
- Steam service → Game stores: requests account and games
- Epic service → Game stores: requests account and games
- GOG service → Game stores: requests account and games
- Amazon service → Game stores: requests account and games
- Android app → GameNative API: fetches community data
- GameNative API → Community services: requests configs
- Android app → Store installers: starts installation
- Store installers → App database: persists install state
- Android app → Workshop content: manages subscribed content
- Android app → Mod importing: starts mod import
- Mod importing → Mod pipeline: dispatches import work
- Android app → Launch readiness: checks launch readiness
- Launch readiness → Steam bootstrap: prepares game launch
- Steam bootstrap → Linux process runtime: runs game process
- Steam bootstrap → Native graphics: initializes graphics
- Android app → Touch and controller: configures input
- Android app → Game configurations: applies game fixes
- Android app → Cloud saves: syncs saves
- Android app → Container storage: manages containers
- Android app → App database: reads and writes app data