@@ -4,6 +4,104 @@ This file contains notices for third-party assets and libraries used in this pro
44
55---
66
7+ ## Scope and Completeness
8+
9+ This list is **not exhaustive**. GameNative builds on the broader open-source
10+ Wine / Proton / DXVK / VKD3D / Mesa / box64 / FEX / PulseAudio ecosystem, and
11+ additional smaller components may be present in bundled archives under
12+ `app/src/main/assets/` and prebuilt native libraries under
13+ `app/src/main/jniLibs/`. Where a component is distributed under a copyleft
14+ license (LGPL, GPL, MPL), the terms of that license apply regardless of whether
15+ the component is named in this file. The sections below highlight the items
16+ that most users will want to know about, together with a blanket offer for the
17+ corresponding source of any copyleft component we distribute in binary form.
18+
19+ ---
20+
21+ ## Availability of Source for Copyleft Components
22+
23+ For any component distributed in binary form with this application that is
24+ covered by a copyleft license (LGPL-2.1, LGPL-3.0, GPL-2.0, GPL-3.0, or
25+ MPL-2.0), the corresponding source code is available from the upstream project
26+ at the revision used. Where practical, the upstream name and revision are
27+ recorded alongside the binary — for example in `VERSION` / `COMMIT` metadata
28+ inside the bundled archive, in the filename of the archive itself, or in
29+ `app/src/main/cpp/` for components built from source in this repository.
30+
31+ If you cannot obtain the source from upstream, contact
32+ Utkarsh Dalal on our
33+ [Discord server](https://discord.gg/2hKv4VfZfE)) and we will supply it, in
34+ accordance with LGPL-2.1 §6, LGPL-3.0 §4, GPL-2.0 §3, and GPL-3.0 §6. This
35+ offer is valid for at least three years from the date on which you received
36+ the binary.
37+
38+ ---
39+
40+ ## libredirect.so (Proprietary)
41+
42+ **Component:** `libredirect.so`
43+ **Location:** `app/src/main/assets/redirect.tzst`
44+ **License:** Proprietary — all rights reserved by the GameNative maintainers.
45+
46+ `libredirect.so` is a small native shim developed by the GameNative
47+ maintainers. It is loaded **only into Wine / Proton subprocesses** at runtime
48+ via `LD_PRELOAD`; it is not linked with, and does not run inside the address
49+ space of, the Kotlin/Java Android application. Its responsibilities are:
50+
51+ 1. **Identifier compatibility.** Some guest-side components embed the
52+ historical Android package identifier `com.winlator`. `libredirect.so`
53+ rewrites those references to the current application identifier at runtime
54+ so that games which hardcode or capture the identifier during launch
55+ continue to boot correctly under GameNative.
56+ 2. **Android 15 (API 35) compatibility.** Recent Android releases tightened
57+ restrictions on how executables stored under an app's private data
58+ directory may be invoked. `libredirect.so` adapts affected process
59+ launches so that the emulation stack continues to function on Android 15
60+ and later.
61+
62+ `libredirect.so` was written from scratch by the GameNative maintainers and
63+ is not derived from any code in this repository. It is kept closed-source
64+ for a specific reason. AI-assisted and commercial forks routinely take
65+ open-source Android projects, rename them, and redistribute them through
66+ commercial channels as their own products. Because `libredirect.so` is
67+ specific to this application — not a generic tool that a fork could use
68+ unchanged — publishing its source would reduce rebranding GameNative into
69+ a working fork to a near-trivial operation. Keeping it closed raises the
70+ cost of that path substantially. Every other component in this repository
71+ — the application UI, store integrations, container management, device
72+ configuration, and all code the community actively contributes to —
73+ remains fully open under GPL-3.0 and may be forked, modified, and
74+ redistributed under those terms.
75+
76+ ### Relationship to the GPL-3.0 application
77+
78+ GameNative's Kotlin/Java application is distributed under GPL-3.0 and remains
79+ so. `libredirect.so` runs inside separate subprocesses (Wine and Proton
80+ instances) and communicates with those processes through standard
81+ operating-system interfaces only. It is not compiled or linked into the
82+ Android application, does not share the Android application's address space,
83+ and does not expose a library interface to it. Under the FSF's and SFLC's
84+ longstanding interpretation of the GPL's "mere aggregation" language
85+ (GPL-3.0 §5, GPL-2.0 §2), this makes `libredirect.so` a separate program
86+ aggregated with GameNative on the same distribution medium rather than a
87+ derivative work of the application.
88+
89+ ### Separability
90+
91+ The GameNative application can be rebuilt without `libredirect.so` by
92+ deleting `app/src/main/assets/redirect.tzst` before building the APK. The
93+ resulting GPL-3.0 application builds, installs, and runs as a standalone
94+ program; it does not require `libredirect.so` to be compiled or linked.
95+ Practical runtime compatibility will be reduced: on Android 15 and later,
96+ most Windows games launched through the bundled emulation stack will fail
97+ to start, and on earlier Android versions some games that embed the
98+ historical `com.winlator` identifier will fail to receive input. This
99+ reflects GPL's guarantee that users can modify and rebuild the application
100+ itself; it does not imply that `libredirect.so` is part of the application
101+ in the sense of GPL-3.0 §0 ("based on").
102+
103+ ---
104+
7105## Kenney Input Prompts
8106
9107**Asset Pack:** Input Prompts
0 commit comments