mirror of
https://github.com/Droid-Deck/DroidDeck.git
synced 2026-11-11 11:01:07 +00:00
docs: the lineage audit — what is measurably Winlator's, what only carries the name, and what leaving it would take
This commit is contained in:
1 parent
384a67f8e1
commit
c64f00eb8e
2 files changed
+76
-2
No files matched your search
@@ -30,9 +30,9 @@ _From the repository's pull requests; rewritten when one is opened, merged or cl
|
||||
| [@xXJSONDeruloXx](https://github.com/xXJSONDeruloXx) | [#3](https://github.com/The412Banner/SteamDeck/pull/3) Fix hardware back in Steam session | 2026-09-23 | merged 2026-09-23 |
|
||||
| [@xXJSONDeruloXx](https://github.com/xXJSONDeruloXx) | [#4](https://github.com/The412Banner/SteamDeck/pull/4) Update app launcher icon | 2026-09-23 | merged 2026-09-23 |
|
||||
| [@xXJSONDeruloXx](https://github.com/xXJSONDeruloXx) | [#5](https://github.com/The412Banner/SteamDeck/pull/5) Add reproducible local build and deploy helpers | 2026-09-23 | merged 2026-09-23 |
|
||||
| [@xXJSONDeruloXx](https://github.com/xXJSONDeruloXx) | [#6](https://github.com/The412Banner/SteamDeck/pull/6) Add Steam and QAM touch controls | 2026-09-23 | open |
|
||||
| [@xXJSONDeruloXx](https://github.com/xXJSONDeruloXx) | [#6](https://github.com/The412Banner/SteamDeck/pull/6) Add Steam and QAM touch controls | 2026-09-23 | merged 2026-09-23 |
|
||||
|
||||
- **@xXJSONDeruloXx**: 5 submitted, 3 merged
|
||||
- **@xXJSONDeruloXx**: 5 submitted, 4 merged
|
||||
<!-- contributions:end -->
|
||||
|
||||
## Requirements
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
# Lineage audit — what in this repo is Winlator's, and what it would take to leave the lineage
|
||||
|
||||
Audited 2026-09-23 against Winlator upstream (brunodev85's commits in the Bannerlator history) with
|
||||
a text-similarity measure, not by trusting the comments. Everything below is verifiable with
|
||||
`git grep -i winlator` (54 lines in 26 files) and a `difflib` ratio against Bruno's originals.
|
||||
|
||||
## 1. Code that is measurably Winlator's
|
||||
|
||||
| File | Bruno's original | Shared text | Lines | What it is |
|
||||
|---|---|---|---|---|
|
||||
| `core/Callback.java` | `core/Callback.java` | 55 % | 6 | a one-method callback interface |
|
||||
| `core/EnvironmentComponent.java` | `xenvironment/EnvironmentComponent.java` | 51 % | 17 | start/stop base for the audio components |
|
||||
| `input/GamepadState.java` | `inputcontrols/GamepadState.java` | 33 % | 58 | six axis floats, a d-pad array, a button mask |
|
||||
| `core/EnvVars.java` | `core/EnvVars.java` | 21 % | 31 | KEY=VALUE list helper |
|
||||
| `core/ProcessHelper.java` | `core/ProcessHelper.java` | 21 % | 116 | spawn a process, drain its output |
|
||||
|
||||
Five files, 228 lines, none above 55 %. Everything else with a Winlator name on it measures under
|
||||
12 % against Bruno's text — i.e. the file name and a few field names survived, the code did not:
|
||||
|
||||
| File | Compared with | Shared text |
|
||||
|---|---|---|
|
||||
| `audio/PulseAudioComponent.java` | Bruno's PulseAudioComponent | 11 % |
|
||||
| `core/FileUtils.java` | Bruno's FileUtils | 9 % |
|
||||
| `core/TarZst.java` | Bruno's TarCompressorUtils | 8 % |
|
||||
| `input/PadBridge.java` | Bruno's ExternalController | 7 % |
|
||||
| `files/FileOps.kt` | Bruno's FileUtils | 4 % |
|
||||
| `core/DeviceReport.kt` | Bruno's GPUInformation | 2 % |
|
||||
| `input/EvdevKeys.java` | Bruno's XKeycode | 2 % |
|
||||
| `gpu/TurnipDriver.java` | AdrenotoolsManager (pipetto-crypto's, not Bruno's) | 7 % |
|
||||
|
||||
## 2. Things named after Winlator that are not Winlator's code
|
||||
|
||||
- **`app/src/main/cpp/winlator/`** — the directory name only. Inside: `lsfg/` (WinNative's port of
|
||||
lsfg-vk, credited to Eden / PancakeTAS), `winfg/` (Bannerlator's Win-FG, FSR3-derived, with its own
|
||||
LICENSE and FidelityFX notice), `VulkanRendererContext.h` (a Vulkan dispatch table struct from
|
||||
Bannerlator's renderer, first written by yaywoohoo in June 2026). Referenced by 6 lines in
|
||||
`cpp/CMakeLists.txt` and 8 in `waylandcomp/CMakeLists.txt`, plus 9 comment lines in the compositor.
|
||||
- **`scanout/ScanoutContext.h`** — Bannerlator's (The412Banner, June 2026). Log tag `Winlator_Scanout`.
|
||||
- **`VulkanRendererContext.h`** log tags `Winlator_Renderer`, `Winlator_Scanout`.
|
||||
- **`fakeinput_steam.cpp`** — Max's, from WinNative. Connects to an abstract socket named
|
||||
`winlator_vibration` for rumble. **Nothing in this app serves that socket** (the server was
|
||||
Winlator's WinHandler); the connect fails silently and rumble is dead code here.
|
||||
- **`winlator-contents`** — the name of the public catalog repo, in two URLs (`linuxfs.json`,
|
||||
`desktop.json`) and the README. A repo name, not code.
|
||||
- **File manager comments** mention a `/storage/emulated/0/Winlator/…` path as an example.
|
||||
- **`WAYLAND_RUNTIME.md`, `HDR_RECON.md`** — design notes carried from Bannerlator that describe
|
||||
Bannerlator's X11 renderer (`libwinlator.so`), which this app does not have.
|
||||
|
||||
## 3. Credits and prose
|
||||
|
||||
- `README.md` — "Lineage and licence" paragraph and the credits list name Winlator.
|
||||
- `ui/MainScreen.kt` — the credits dialog text (the rest of that file is dead code).
|
||||
- `docs/releases/0.1.0.md` … `0.1.5.md` — a Winlator credit line each (published release notes;
|
||||
history, leave as is).
|
||||
- `PROGRESS_LOG.md` — five mentions, all of the `winlator-contents` repo.
|
||||
|
||||
## 4. What it would take
|
||||
|
||||
**To stop using Winlator code at all** — rewrite the five files in §1 (228 lines, an afternoon):
|
||||
a callback interface, a start/stop base class, a pad state holder, an env list, a process spawner.
|
||||
None of them does anything Winlator-specific; they are the shapes any such app has.
|
||||
|
||||
**To stop being named after it** — rename `cpp/winlator/` (to `framegen/`), fix the two CMake
|
||||
files, the log tags, the abstract-socket name (and remove the dead rumble client while at it), and
|
||||
the comments; drop the Bannerlator design notes that describe the X11 path this app never had.
|
||||
|
||||
**To take it out of the credits** — the README paragraph, the credits dialog, and the credit line
|
||||
in future release notes. Past notes stay as published.
|
||||
|
||||
**What does not change** — the licence. Everything here is GPL-3.0 and stays so: the runtime and the
|
||||
fake-evdev layer are Max's (WinNative, GPL-3.0), the compositor, frame generation, file manager
|
||||
and the session are Bannerlator's (GPL-3.0), lsfg-vk and FidelityFX carry their own notices. Leaving
|
||||
Winlator's lineage does not leave the GPL, and does not touch the runtime image, which is shared
|
||||
with Bannerlator by design.
|
||||
Reference in new issue
Block a user