These instructions detail how to set up a development environment and build the Linux Desktop version of Manatan using the Windows Subsystem for Linux (WSL2).
- Windows 10 (version 2004+) or Windows 11
- WSL2 Installed (Ubuntu 22.04 or 24.04 recommended)
- Tip: On Windows 11, GUI apps will launch natively via WSLg.
Open your WSL terminal and install the required build tools, libraries, and Java 21 (required for bundling the custom JRE).
sudo apt update
sudo apt install -y build-essential curl wget unzip zip p7zip-full git
sudo apt install -y libglib2.0-dev libgtk-3-dev libappindicator3-dev librsvg2-dev libxdo-dev fuse nasm
sudo apt install -y openjdk-21-jdk
The project requires specific versions of Rust and Node.js.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
The build system enforces Node.js v22.12.0. Using nvm is recommended.
# Install NVM
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
# Install and use Node v22
nvm install 22
npm install --global yarn
Clone the repository (if you haven't already) and run the automated build commands.
git clone --recursive https://github.com/kolbyml/manatan.git
cd manatan
To download dependencies, bundle the JRE, and run the app in one command:
make dev-embedded
If you want to create the standalone binary artifact:
- Prepare Dependencies: Downloads the WebUI, Server JAR, and native graphics libraries.
make setup-depends
- Bundle JRE: Creates the custom stripped-down Java runtime.
make bundle_jre
- Compile Binary: Builds the release version with the JRE embedded.
cargo build --release --features embed-jre
The final executable will be located at:
target/release/mangatan
- Missing Dependencies: If the build fails on
syscrates, ensure you ran theapt installcommand in Step 1 to getlibgtk-3-devandnasm. - Java Errors: Ensure
java -versionreturns OpenJDK 21. Older versions may fail thejlinkstep. - GUI Not Showing: Ensure you are using WSL2. On Windows 10, you may need a third-party X Server (like VcXsrv). On Windows 11, it should work out of the box.