Files

Controller source snapshots

sdlbridge/upstream contains the reusable Java and native controller implementation by pablo89898991. sdl3/upstream contains SDL's Android Java bindings. Each snapshot's upstream.json records its exact upstream revision or release archive and the SHA-256 of every imported file. License notices are included alongside the snapshots.

Keep snapshots unchanged. DroidDeck's embedded-mode adjustments live in each component's patches directory. prepareControllerSources verifies the snapshots and applies those patches into app/build/controller-sources; Kotlin, Java and CMake compile against that generated directory. No SdlBridge download is needed to build. SDL's native release archive is separately pinned and hash-checked by CMake.

DroidDeck's Compose UI, session lifecycle, controller slots and Linux input integration remain in the application's normal source directories.

To update a dependency, import the selected upstream files, update the revision and file hashes in upstream.json, and rebase the small local patch set. Run python3 tools/prepare_controller_sources.py to check the inventory, hashes and patch application before building. An upstream change that breaks a patch fails preparation.