-
-
Notifications
You must be signed in to change notification settings - Fork 220
Expand file tree
/
Copy pathTHIRD_PARTY_NOTICES
More file actions
169 lines (130 loc) · 7.66 KB
/
THIRD_PARTY_NOTICES
File metadata and controls
169 lines (130 loc) · 7.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
# Third-Party Notices
This file contains notices for third-party assets and libraries used in this project.
---
## Scope and Completeness
This list is **not exhaustive**. GameNative builds on the broader open-source
Wine / Proton / DXVK / VKD3D / Mesa / box64 / FEX / PulseAudio ecosystem, and
additional smaller components may be present in bundled archives under
`app/src/main/assets/` and prebuilt native libraries under
`app/src/main/jniLibs/`. Where a component is distributed under a copyleft
license (LGPL, GPL, MPL), the terms of that license apply regardless of whether
the component is named in this file. The sections below highlight the items
that most users will want to know about, together with a blanket offer for the
corresponding source of any copyleft component we distribute in binary form.
---
## Availability of Source for Copyleft Components
For any component distributed in binary form with this application that is
covered by a copyleft license (LGPL-2.1, LGPL-3.0, GPL-2.0, GPL-3.0, or
MPL-2.0), the corresponding source code is available from the upstream project
at the revision used. Where practical, the upstream name and revision are
recorded alongside the binary — for example in `VERSION` / `COMMIT` metadata
inside the bundled archive, in the filename of the archive itself, or in
`app/src/main/cpp/` for components built from source in this repository.
If you cannot obtain the source from upstream, contact
Utkarsh Dalal on our
[Discord server](https://discord.gg/2hKv4VfZfE)) and we will supply it, in
accordance with LGPL-2.1 §6, LGPL-3.0 §4, GPL-2.0 §3, and GPL-3.0 §6. This
offer is valid for at least three years from the date on which you received
the binary.
---
## libredirect.so (Proprietary)
**Component:** `libredirect.so`
**Location:** `app/src/main/assets/redirect.tzst`
**License:** Proprietary — all rights reserved by the GameNative maintainers.
`libredirect.so` is a small native shim developed by the GameNative
maintainers. It is loaded **only into Wine / Proton subprocesses** at runtime
via `LD_PRELOAD`; it is not linked with, and does not run inside the address
space of, the Kotlin/Java Android application. Its responsibilities are:
1. **Identifier compatibility.** Some guest-side components embed the
historical Android package identifier `com.winlator`. `libredirect.so`
rewrites those references to the current application identifier at runtime
so that games which hardcode or capture the identifier during launch
continue to boot correctly under GameNative.
2. **Android 15 (API 35) compatibility.** Recent Android releases tightened
restrictions on how executables stored under an app's private data
directory may be invoked. `libredirect.so` adapts affected process
launches so that the emulation stack continues to function on Android 15
and later.
`libredirect.so` was written from scratch by the GameNative maintainers and
is not derived from any code in this repository. It is kept closed-source
for a specific reason. AI-assisted and commercial forks routinely take
open-source Android projects, rename them, and redistribute them through
commercial channels as their own products. Because `libredirect.so` is
specific to this application — not a generic tool that a fork could use
unchanged — publishing its source would reduce rebranding GameNative into
a working fork to a near-trivial operation. Keeping it closed raises the
cost of that path substantially. Every other component in this repository
— the application UI, store integrations, container management, device
configuration, and all code the community actively contributes to —
remains fully open under GPL-3.0 and may be forked, modified, and
redistributed under those terms.
### Relationship to the GPL-3.0 application
GameNative's Kotlin/Java application is distributed under GPL-3.0 and remains
so. `libredirect.so` runs inside separate subprocesses (Wine and Proton
instances) and communicates with those processes through standard
operating-system interfaces only. It is not compiled or linked into the
Android application, does not share the Android application's address space,
and does not expose a library interface to it. Under the FSF's and SFLC's
longstanding interpretation of the GPL's "mere aggregation" language
(GPL-3.0 §5, GPL-2.0 §2), this makes `libredirect.so` a separate program
aggregated with GameNative on the same distribution medium rather than a
derivative work of the application.
### Separability
The GameNative application can be rebuilt without `libredirect.so` by
deleting `app/src/main/assets/redirect.tzst` before building the APK. The
resulting GPL-3.0 application builds, installs, and runs as a standalone
program; it does not require `libredirect.so` to be compiled or linked.
Practical runtime compatibility will be reduced: on Android 15 and later,
most Windows games launched through the bundled emulation stack will fail
to start, and on earlier Android versions some games that embed the
historical `com.winlator` identifier will fail to receive input. This
reflects GPL's guarantee that users can modify and rebuild the application
itself; it does not imply that `libredirect.so` is part of the application
in the sense of GPL-3.0 §0 ("based on").
---
## Kenney Input Prompts
**Asset Pack:** Input Prompts
**Author:** Kenney (https://kenney.nl)
**Source:** https://kenney.nl/assets/input-prompts
**License:** CC0 1.0 Universal (Public Domain)
The input prompt icons used for gamepad, keyboard, and mouse button indicators
are from Kenney's Input Prompts asset pack. These icons are located in:
- `app/src/main/res/drawable/ic_input_xbox_*.xml` (Xbox controller icons)
- `app/src/main/res/drawable/ic_input_kbd_*.xml` (Keyboard and mouse icons)
While CC0 doesn't require attribution, we gratefully acknowledge Kenney's
excellent work in creating these assets.
---
## License Text: CC0 1.0 Universal
The person who associated a work with this deed has dedicated the work to the
public domain by waiving all of his or her rights to the work worldwide under
copyright law, including all related and neighboring rights, to the extent
allowed by law.
You can copy, modify, distribute and perform the work, even for commercial
purposes, all without asking permission.
Full license text: https://creativecommons.org/publicdomain/zero/1.0/
---
## OpenAL Soft
**Library:** OpenAL Soft v1.25.1
**Author:** kcat (Chris Robinson) and contributors
**Source:** https://openal-soft.org/ / https://github.com/kcat/openal-soft
**License:** LGPL-2.1 (GNU Lesser General Public License v2.1)
Pre-compiled Windows DLLs (openal32.dll, soft_oal.dll) for both x86 and
x86_64 architectures are included in `app/src/main/assets/wincomponents/openal.tzst`.
These DLLs are extracted at runtime only when the user explicitly sets the
`WINEDLLOVERRIDES` environment variable to reference openal32 or soft_oal.
As required by LGPL-2.1, the complete source code for the version used is
available at:
https://github.com/kcat/openal-soft/releases/tag/1.25.1
Users may substitute their own build of OpenAL Soft by replacing the DLLs
in the wineprefix `drive_c/windows/system32/` and `drive_c/windows/syswow64/`
directories.
### License Text: LGPL-2.1
This library is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or (at
your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
for more details.
Full license text: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html