How utkarshdalal/gamenative works
GameNative is an Android app for installing and running owned PC games locally, with library access across several stores, cloud saves, compatibility configuration, and touch/controller support. The principal flow is account/library access, game installation, setup in a compatibility container, then launch through the native runtime. The graph includes documented capabilities whose implementations are not represented in the sampled excerpts; those paths and connections are kept broad where the tree or excerpts do not establish exact wiring.
Main entry points: MainActivity.kt App entry · GameDownloadService.kt Download coordination · GOGService.kt GOG service · PluviaDatabase.kt Local game state
Components 21
Android app
- App entry
app/src/main/java/app/gamenative/MainActivity.kt - App settings
app/src/main/java/app/gamenative/PrefManager.kt - Game library
app/src/main/java/app/gamenative/data - Known configs
app/src/main/java/app/gamenative/data - Touch and controller
app/src/main/java/app/gamenative - Local game state
app/src/main/java/app/gamenative/db/PluviaDatabase.kt
Store access
- 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 - Cloud saves
app/src/main/java/app/gamenative/service/gog/GOGService.kt
Install and runtime
- Download coordination
app/src/main/java/app/gamenative/service/download/GameDownloadService.kt - Store download engines
app/src/main/cpp/gn-download/rust/src/store_dl - Game containers
app/src/main/java/app/gamenative/utils/ContainerStorageManager.kt - Linux process runtime
app/src/main/cpp/proot/src - Steam bootstrap
app/src/main/java/app/gamenative/SteamBootstrap.kt
Native graphics
- Vulkan renderer
app/src/main/cpp/winlator/VulkanRendererContext.cpp - Virgl renderer
app/src/main/cpp/virglrenderer/server/virgl_server.c
Other components
- Player
- Store platforms
- Android graphics
Connections 32
- Player → App entry: uses
- App entry → Game library: shows games
- App entry → App settings: configures
- App entry → Steam service: accesses
- App entry → Epic service: accesses
- App entry → GOG service: accesses
- App entry → Amazon service: accesses
- Steam service → Store platforms: syncs library
- Epic service → Store platforms: syncs library
- GOG service → Store platforms: syncs library
- Amazon service → Store platforms: syncs library
- Steam service → Local game state: stores state
- Epic service → Local game state: stores state
- GOG service → Local game state: stores state
- Amazon service → Local game state: stores state
- Steam service → Download coordination: registers downloads
- Epic service → Download coordination: registers downloads
- GOG service → Download coordination: registers downloads
- Amazon service → Download coordination: registers downloads
- Download coordination → Store download engines: starts transfers
- Download coordination → Local game state: updates state
- App entry → Game containers: manages storage
- Player → Game containers: selects container
- App entry → Known configs: applies configs
- Player → Touch and controller: operates game
- Steam bootstrap → Linux process runtime: starts runtime
- Linux process runtime → Vulkan renderer: renders through
- Linux process runtime → Virgl renderer: renders through
- Vulkan renderer → Android graphics: uses graphics
- Virgl renderer → Android graphics: uses graphics
- GOG service → Cloud saves: syncs saves
- Cloud saves → Store platforms: transfers saves