Skip to content

About

Hollow Knight: Silksong Dual-Screen Android port (+Steam integration)

Resources

Stars

4 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

Hollow Knight Android

Hollow Knight Android is an experimental Android build system and launcher for Hollow Knight and Hollow Knight: Silksong. It converts user-supplied Linux game files for Android ARM64 and keeps both games behind one launcher and package identity.

This repository does not contain Team Cherry game files and is not a finished public release.

Hollow Knight Android combined Hollow Knight and Silksong app icon

Hollow Knight artwork Silksong artwork

The supplied grids, heroes, logos, and individual game icons are preserved in docs/ui-source/steamgriddb for the launcher and per-game shortcuts. Generative image tools are not used for project artwork.

Features

  • One launcher and installed package for both supported games.
  • On-device conversion and ARM64 compilation from user-supplied Linux files.
  • Independent game profiles, saves, generations, mod settings, and launch state.
  • Dual-screen companion support on compatible Android handhelds. Hollow Knight’s lower screen provides its resident HUD, Inventory, Map, and Charms pages, with animated page/cursor movement, touch map markers, current-area/full-world map switching, pinch/pan, a visible zoom slider, and animated reset. Silksong’s lower screen provides the live health/Silk HUD, inventory, Crest and Tools, Tasks, Journal, an interactive map with markers and zoom, and touch actions for supported items and loadout changes. The complete cross-game HUD, pages, Mods, and skins parity target is defined in docs/DUALSCREEN-V3.md and remains under active development.
  • Optional Steam sign-in can download the selected Linux depot, resume an interrupted download, and synchronize Steam Cloud saves.
  • Per-profile quality-of-life settings include resolution, aspect ratio, intro skipping, and cloud behavior. Silksong also offers an optional duplicate top-screen health HUD; Hollow Knight keeps its transferred HUD lower-only.
  • Build-time BepInEx 5 and Harmony compatibility for a supported subset of managed mods.
  • Atomic generation publishing so an interrupted build cannot replace the last working game generation.

Setup

  1. Install a signed APK built from this repository.
  2. Select Hollow Knight or Silksong in the launcher.
  3. Supply that game’s complete Linux files by choosing their folder, or sign in to Steam and let the launcher download the supported Linux depot.
  4. Start porting. The first on-device build takes roughly 20–30 minutes on a Snapdragon 8 Gen 2; later rebuilds reuse cached tools and intermediate work.
  5. Keep the selected source files available. They remain the authority for repairs and updates, and Silksong reads its Addressables content there while running.

Supported inputs

Only complete Linux builds are accepted. Windows and macOS builds are not interchangeable, and files from different versions or platforms must not be mixed.

Hollow Knight

  • Supported version: 1.5.12620
  • Unity version: 6000.0.61f1

The selected source remains necessary for repair, rebuilding, and updates.

Hollow Knight: Silksong

  • Supported version: 1.0.29980
  • Unity version: 6000.0.50f1

Silksong reads its large Addressables content from the selected source folder at runtime. Moving or deleting that folder will break the installed game profile.

Steam-assisted acquisition is optional. Users may instead select a complete, legitimately acquired Linux installation.

Mod support (beta)

The launcher can import BepInEx 5 mod folders and compile compatible Harmony prefixes and postfixes into each game's Android generation. Adding, removing, or replacing a plugin DLL requires rebuilding that game profile. Simple configuration and enablement changes take effect after relaunching the game.

Open Mods for the selected game in the launcher, choose Install a mod from a folder, and select the mod's complete folder. Supporting libraries and packaged data are copied with the plugin. The Mods screen reports which plugins were built, how many patches were applied, and which patches could not be compiled. Rebuilds are incremental, so adding one mod does not repeat every unchanged conversion step.

Shared imported mods are stored under:

Android/data/io.github.darkaxt.dualsouls/files/mods

Game-specific configuration and enablement are stored under:

Android/data/io.github.darkaxt.dualsouls/files/profiles/<profile-id>/mods

Transpilers, runtime-computed patch targets, Reflection.Emit, and runtime DLL discovery are not supported. A mod working with one game does not imply that it works with the other.

Configuration Manager

Mods that expose settings through BepInEx Configuration Manager can use its BepInEx 5 release. Install its complete folder like any other mod; it is not bundled with this project.

On Android, press L3+R3 to open or close the Configuration Manager. Its binding and interface scale can be changed in the selected profile's BepInEx.cfg file.

Mods tested with Silksong

The following mods have been tested with the supported Silksong profile:

Other mods are not guaranteed to work.

Steam Cloud saves

Steam sign-in can also pull and push the selected profile’s Steam Cloud saves. Users may synchronize manually before or after playing, or enable the automatic cloud options in Settings. Save conflicts are reported rather than silently choosing a side; keeping an independent backup is still recommended.

QR-code and password sign-in use JavaSteam, an open-source Steam client. The launcher does not store the Steam password. It retains only Steam’s issued login token, encrypted in Android storage, and does not send it elsewhere.

Building from source

Prerequisites are an Android SDK, JDK 17 or newer, .NET 8, Git Bash on Windows, and the Unity Android/editor components required by the supported game versions.

The main host checks are:

make surgery
make weaver
make test
make check

make dev also packages and installs a development APK, so run it only when a connected Android device is intended to be modified.

Project history

This fork is based on jakobkhansen/SilksongAndroid. Its on-device toolchain, Vulkan player, dual-screen implementation, and build-time BepInEx work form the foundation of this unified project.

Legal

Hollow Knight, Hollow Knight: Silksong, their assets, and associated marks are properties of Team Cherry. This unofficial project is not endorsed by Team Cherry.

The repository contains build and adaptation tooling only. Users must supply their own legitimately acquired game files. The tooling is MIT-licensed; see LICENSE. Shipped third-party open-source components and exclusions are recorded in NOTICE.md.

About

Hollow Knight: Silksong Dual-Screen Android port (+Steam integration)

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages