Replies: 1 comment
|
This is a very thorough write up that nearly perfectly captures my feedback. Thanks for the effort. While I'm sure the devs are well aware of this issue, I think this outline is actually very helpful and the phases suggested are reasonable. I would add as a note: The space savings are FAR MORE significant when you look at less demanding indie games, most of which clock in at under 1.5GB per game installed. The 2.9GB container overhead is enormous for these games. Which is a bummer because less demanding indie games are where Windows emulation really shines. Would love to use Steam versions instead of native Android ports to enable cross save and achievements, but it honestly doesn't make a ton of sense when the container overhead is this large. Hoping this gets implemented before EOY. |
Uh oh!
There was an error while loading. Please reload this page.
Problem
GameNative currently creates a separate isolated container per game, duplicating the full Wine/Proton prefix (~2.9 GB) for each title. This results in severe storage waste, especially problematic on devices with limited internal storage.
Example: 5 games = ~14.5 GB of redundant container data on internal storage, even when games themselves are installed on external storage.
Current Architecture
All containers forced to internal storage (
/data/data/app.gamenative/), regardless of game location.Proposed Solution
Implement optional shared container support alongside existing per-game containers:
1. Shared Container Mode
2. External Storage Support
3. Backward Compatibility
Implementation Outline
Phase 1: Storage Location Configuration
Phase 2: Shared Container Creation
ContainerUtils.ktto support container sharing modeContainerStorageManager.ktto track container references (1:N games)Phase 3: Per-Game Launch Isolation
Phase 4: External Storage I/O
Phase 5: Migration Tools (Optional, Later)
Data Model Changes
ContainerStorageManager.kt
ContainerUtils.kt
Storage Impact (Example with 5 Games)
Current (Per-Game Containers)
Proposed (Shared Container Mode)
Savings scale with number of games: 10 games = ~25 GB saved, 20 games = ~52 GB saved
Risks & Mitigations
Related Issues / Discussion
Success Criteria
All reactions