Skip to content

Dirk 1.1.0

Latest

Choose a tag to compare

@Karishem Karishem released this 18 Oct 11:24

Dirk now runs on Android. This release adds an Android app: the same Dirk engine, KimmyScript 4.1 and the Wizard, with a game launcher and on-screen touch controls.

Nothing changes on Windows, Batocera or ArkOS: for those, keep using the files from Dirk 1.0.0.

Games are not included.

Download

File For
dirk-1.1.0-android-arm64.apk Android 11 or later, 64-bit ARM (arm64-v8a): phones, tablets and Android handhelds (Retroid, AYN, Anbernic Android models…).

Tested on a Retroid Pocket 3+ and a Samsung Galaxy Z Fold.

Installing

  1. Download the APK on the device and open it. Android asks you to allow installing apps from this source the first time.
  2. Open Dirk and allow All files access when asked. Dirk reads games from shared storage.
  3. Put each game in its own folder under Dirk/Games/ on the device, exactly as on the PC (for example Dirk/Games/Timegal/Timegal.zdirk with its Movie/ folder). Then pick it in the list.

Messages from the engine go to Dirk/dirk.log.

If you installed a test build before, uninstall it once before installing this one: it was signed with a different key. Your games and KimmyScript in Dirk/ stay. Only the app's own settings (touch layout, Touch mode) are reset. From now on, updates install over the previous version.

Using it

  • Touch controls. The d-pad and A B X Y are always shown; the other buttons are behind "...".
    • SETUP adjusts the size, the height, the distance from the screen edges and the spacing of A B X Y.
    • LOCK keeps COIN, START, L1 and R1 on screen, which is handy in the Wizard.
    • With the default Touch: Auto, the touch controls hide as soon as a gamepad is used, and come back with a tap.
  • Gamepads with Nintendo-style buttons (A on the right, as on Retroid devices): turn on Dirk Options > Swap A/B X/Y.
  • Wizard (KimmyScript's create mode): tap the game's folder, then Wizard. The folder must contain a video: in Movie/, in Video/, or a Hypseus game.
  • Lightgun games are not supported yet.

Dirk is not on the Play Store: Google restricts the "All files access" permission it needs.

Verifying the APK

The APK is signed with the Dirk release key. Every future Android release of Dirk will use the same key.

  • Certificate: CN=Karishem, O=Dirk
  • Certificate SHA-256 fingerprint:
    A6:FF:BD:BD:C6:45:5E:B0:2B:BA:78:50:B0:56:7A:B1:A3:48:AE:5B:92:31:2E:30:38:76:FA:EF:74:2E:AA:26
  • File SHA-256:
55261525e88781f8a40a87152ecd9e7d6039bd9534cdcc919cac17c0374e51ab  dirk-1.1.0-android-arm64.apk

Tools such as Obtainium or AppVerifier can check the certificate fingerprint.

Source code

  • The source for this release is the v1.1.0 tag (commit 68b027d). The APK was built from that exact tree with tools/build_android.sh (DIRK_UNSIGNED=1), then signed.
  • Build instructions are in the Android section of the README.
  • Everything is linked statically into the engine (libmain.so):
    • SDL3 3.4.16, SDL3_image 3.4.6, SDL3_mixer 3.2.4, SDL3_ttf 3.2.2;
    • FFmpeg 7.1.5, a minimal decode-only LGPL build of release/7.1 at commit 17638a3a3cbd2e3f8098ee091669fa854453ef9e;
    • Lua 5.1.5 from the repository.
  • Android NDK 28.2.13676358.

License

Dirk, the Wizard and the KimmyScript installed with it are free software under the GNU General Public License, version 3 or later. See LICENSE.

Third-party components keep their own licenses. They are listed in THIRD_PARTY_NOTICES.txt, which the app copies to Dirk/ on the device, with the full texts in Dirk/Licenses/ (also in android/ in the source).