BagasRizkyHarySaputra / MLBB-waydroid-LinuxCloudMLBB
git clone https://github.com/BagasRizkyHarySaputra/MLBB-waydroid-LinuxCloudMLBB.git
v1.0.0 Β· 22d ago
Play Mobile Legends: Bang Bang (MLBB) on Linux via Waydroid β and stream it to your Android phone as cloud gaming (Sunshine + Artemis/Moonlight). Working multi-touch, Intel VAAPI encoding, one-command launcher.
β
stars, 24h
β
stars, 7 days
+200
stars, 30 days Β· #1,278
200
β
total
0
forks Β· 0 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageShell
LicenseMIT
Created2026-09-28 (22d ago)
Last push22d ago
Watchers1
OwnerUser
GitHub topics
androidartemisbashcloud-gaminggame-streaminggame-streaming-servergaminghyprlandlibhoudinilinuxmlbbmobile-legendsmoonlightmulti-touchsunshinevaapiwaydroidwayland
Links
- GitHub: github.com/BagasRizkyHarySaputra/MLBB-waydroid-LinuxCloudMLBB
- Releases Β· Issues Β· Hacker News mentions
README excerpt
# mlbb-waydroid Run **Mobile Legends: Bang Bang (MLBB)** on Linux via Waydroid β and optionally stream it to your Android phone so the laptop does the heavy lifting and the phone stays cool. > **BAN RISK β READ THIS FIRST** > > MLBB's anti-cheat (Moonton) is not rejected by this setup today, and the game is > playable in real matches. **However, server-side detection can happen at any time.** > Running a mobile game inside an emulation/translation layer is a pattern anti-cheat > vendors actively look for. **Use a secondary account. Do not use your main account.** > You accept this risk entirely on your own. --- ## Table of contents - What this is - Architecture - Features - Requirements - Quick start - Usage β the `mlbb` command - How it works - Troubleshooting - Streaming to your phone - Performance tuning - FAQ - Documentation - Credits - License --- ## What this is A collection of scripts and configs that turn a Linux desktop into an MLBB machine: 1. **Local play** β Waydroid (Android 13 / LineageOS 20 in an LXC container) runs the arm64 build of MLBB using Intel's `libhoudini` ARM translation layer. 2. **Cloud-gaming mode** β Sunshine encodes the screen and your phone runs Artemis (a Moonlight fork) to display it. The phone only decodes video β it never renders the game, so it stays cool and battery-friendly. It was developed and tested on **Kali GNU/Linux Rolling + Hyprland (Wayland)** with an Intel i5-13420H (Intel UHD iGPU) + NVIDIA RTX 2050, but the Waydroid gameplay part is distro-agnostic. The Wayland-specific fixes (multi-touch, `wlr` capture) are documented so X11 users know what does and does not apply. --- ## Architecture [code] --- ## Features - **One-command launcher** (`mlbb`) that brings up Waydroid, the Android UI, MLBB, and Sunshine together β and tears them down cleanly. - **Working multi-touch** β the joystick no longer releases when you tap a skill. This is the single most important fix in this repo; see docs/CONTROLS.md. - **Persistent NAT** β Android gets internet automatically when the container starts, handled by a udev rule (not a fragile systemd `.path` unit). - **Thermal / performance profiles** (`cpu-profile`, `gpu-tune.sh`) to keep an Intel laptop from throttling at 90 Β°C while gaming. - **Sunshine auto-config** for Intel VAAPI encoding β no NVIDIA driver upgrade required. - **Latency tooling** (`mlbb latency`) for WiFi power-save, jitter and bitrate advice. - **Reset script** (`wd-reset.sh`) that untangles every known Waydroid stuck state. --- ## Requirements **Required** | Component | Notes | |---|---| | Linux with `binder` support | Kernel module `binder_linux` (most distros ship it) | | Waydroid | `apt install waydroid lxc` | | `adb` (Android platform-tools) | For installing/controlling apps | | `iptables` | For the container NAT | | Python 3 | Waydroid's own tooling | **For the streaming part** | Component | Notes | |---|---| | Sunshine | Host encoder. `.deb`, Flatpak or AppImage | | Artemis | Clien