Skip to content

Asher v2.1.0

Latest

Choose a tag to compare

@MikeMequis1 MikeMequis1 released this 22 Sep 03:58
· 5 commits to develop since this release

🐧 Asher v2.1.0 β€” Linux support

Asher 2.1.0 adds a full Linux version alongside the Windows manager. The manager is now cross-platform behind a small platform abstraction; the shared install / uninstall / launch core stays in C# (Asher.Services), with a Windows launcher-swap implementation and a Linux LD_PRELOAD bootstrap implementation.

Linux support

  • Game discovery β€” Steam (XDG roots + multiple libraryfolders.vdf libraries), best-effort Heroic/Lutris, and manual folder selection.
  • Installation β€” deploys the native bootstrap + managed runtime into <game>/Asher/, plus an install.json manifest (payload version + ELF architecture). The game executable is never modified (no launcher swap, no backup).
  • Launch β€” starts the native DustAET with LD_PRELOAD=libasher_bootstrap.so and the ASHER_* / MONO_PATH environment; the game's stdout/stderr are kept off the manager's JSONL channel.
  • Packaging β€” AppImage and tar.gz for Linux x64, with latest-linux.yml update metadata.
  • Uninstall β€” removes only the Asher files under Asher/; DustAET stays untouched.

Bootstrap

  • libasher_bootstrap.so attaches to the Mono runtime embedded in Dust and loads Asher.Runtime (Harmony patching: PreInit / Patch / Lifecycle).
  • Fixed the mono_thread_attach timing race (object.c:1938) with a settle delay (ASHER_BOOTSTRAP_SETTLE_MS, default 1000 ms) after the root domain appears.

Windows

  • New NSIS installer (Asher-Setup-2.1.0.exe) alongside the portable zip (Asher-2.1.0-win32.zip).
  • Update metadata latest.yml is now generated and published for Windows.
  • Build resilience: optional patches that need missing build-time dependencies (for example XNA) no longer abort the whole host build.

Install state

  • Explicit install state (installed / partial / notInstalled) with canUninstall / canRestore; the UI derives capabilities from it instead of backup presence.

Installation

  1. Windows: run Asher-Setup-2.1.0.exe (installer) or extract Asher-2.1.0-win32.zip and run Asher.exe.
  2. Linux: run Asher-2.1.0-linux-x86_64.AppImage (or extract Asher-2.1.0-linux-x64.tar.gz and run Asher). Electron needs the NSS/NSPR/ALSA system libraries.
  3. Use Setup to locate your Dust: An Elysian Tail folder, then Install.
  4. Start the game through Steam or the manager's Launch Game (on Linux, launch goes through the manager).

Known limitations

  • Linux: external Steam/desktop launch and in-app updates are not implemented (updates are manual downloads).
  • Linux: the Intro Skipper's ESRB splash can briefly appear before the late bootstrap attach patches it.

Notes

  • latest.yml (Windows) and latest-linux.yml (Linux) are the update metadata for this release.
  • Keep the extracted Distribution folder / AppImage β€” that is the app you update later.