
* Feat: update to LWJGL 3.3.1
Add nanovg module for OneConfig mod (untested)
Move most of jre_lwjgl3glfw source files to lwjgl3 repo
* Update lwjgl libraries
* Fix: fatal glfw callback cleanup
* Build: update lwjgl.jar (fix dlopen on 32bit)
https://github.com/PojavLauncherTeam/lwjgl3/commit/4c35777
* Feat: add support code for VulkanMod
Copied changes from v3_vulkanmod branch except libraries
Added patch script for VulkanMod
* Fix variable name
* Fix[oshi]: try to update to jna 5.13.0 and oshi 6.3.0
* fix compilation errors
* Fix NumberFormatException: For input string: "1-jre"
* Fix the brackets
* Fix: jna library path
* Fix OpenGL initialization
* Fix broken init of GL renderers
* Fixes[vulkanmod]: fix patcher script, set Vulkan libname
* Fix SHA1 mismatch of replaced libraries
* Build: update lwjgl-opengl.jar: reland fixPojavGLContext
29db8b5cc0
* Include libc++_shared in vulkanmod patcher
* Revert "Include libc++_shared in vulkanmod patcher"
This reverts commit cf3165e89c5de601ad9e7ffe7c6eee2573df7135.
* Fix java version detection for LabyMod4
* Fix lwjgl-openal missing wrapper
---------
Co-authored-by: khanhduytran0 <khanhduytran0@users.noreply.github.com>
PojavLauncher

-
From Boardwalk's ashes here comes PojavLauncher!
-
PojavLauncher is a launcher that allows you to play Minecraft: Java Edition on your Android device!
-
It can run almost every version of the Minecraft, allowing you to use .jar only installers to install modloaders such as Forge and Fabric, mods like OptiFine and LabyMod, as well as hack clients like Wurst, and much more!
-
For more details check out our wiki
Some notes to start with
- We do not have an official TikTok account. No one from the dev team makes TikTok videos.
- The official Twitter for PojavLauncher is @PLaunchTeam. Any others (most notably @PojavLauncher) are fake, please report them to Twitter's moderation team.
Navigation
- Introduction
- Getting PojavLauncher
- Building
- Current status
- License
- Contributing
- Credits & Third party components and their licenses
Introduction
- PojavLauncher is a Minecraft: Java Edition launcher for Android and iOS based on Boardwalk.
- This launcher can launch almost all available Minecraft versions ranging from rd-132211 to 1.19 snapshots (including Combat Test versions).
- Modding via Forge and Fabric are also supported.
- This repository contains source code for Android.
- For iOS/iPadOS, check out PojavLauncher_iOS.
Getting PojavLauncher
You can get PojavLauncher via three methods:
-
You can get the prebuilt app from stable releases or automatic builds.
-
You can build from source.
Building
If you want to build from source code, follow the steps below.
Java Runtime Environment (JRE)
- JRE for Android is here, and the build script is here.
- Follow build instruction on build script README.md.
- You can also get CI auto builds if you are lazy or are failing to build it for some reason.
- Either get the
jre8-pojav
artifact from auto builds, or split all artifacts by yourself:
- Get JREs for all of 4 supported architectures (arm, arm64, x86, x86_64)
- Split JRE into parts:
Platform-independent: .jar files, libraries, configs, etc...
Platform-dependent: .so files, etc...
- Create:
A file nameduniversal.tar.xz
with all platform-independent files
4 files namedbin-<arch>.tar.xz
with all platform-dependent files per-architecture - Put these in the
assets/components/jre/
folder - (If needed) update the Version file with the current date
- Create:
- Split JRE into parts:
- Get JREs for all of 4 supported architectures (arm, arm64, x86, x86_64)
LWJGL
- Coming soon
The Launcher
- Because languages are auto-added by Crowdin, you need to run the language list generator before building. In the project directory, run:
- On Linux, Mac OS:
chmod +x scripts/languagelist_updater.sh
bash scripts/languagelist_updater.sh
- On Windows:
scripts\languagelist_updater.bat
Then, run these commands or build using Android Studio.
- Build GLFW stub:
./gradlew :jre_lwjgl3glfw:build
- Build the launcher
./gradlew :app_pojavlauncher:assembleDebug
(Replace gradlew
with gradlew.bat
if you are building on Windows).
Current status
OpenJDK 9 Mobile port: ARM32, ARM64, x86, x86_64.Replaced by JRE8.- OpenJDK 8 Mobile port: ARM32, ARM64, x86, x86_64
- OpenJDK 17 Mobile port: ARM32, ARM64, x86, x86_64
- Headless mod installer
- Mod installer with GUI. Used
Caciocavallo
project for AWT without X11. - OpenGL in OpenJDK environment
- OpenAL (works on most devices)
- Support for Minecraft 1.12.2 and below. Used lwjglx, a LWJGL2 compatibility layer for LWJGL3.
- Support for Minecraft 1.13 and above. Used GLFW stub.
- Support for Minecraft 1.17 (22w13a to be exact) and above. Used Holy GL4ES
- Game surface zooming.
- New input pipe rewritten to native code to boost performance.
- Rewritten entire controls system (thanks to @Mathias-Boulay)
- More to come!
Known Issues
- Controller mods aren't working.
- Random crashes could happen very often on Android 5.x when loading the game or joining a world.
- With big modpacks textures could be messed up
- Probably more, that's why we have a bug tracker ;)
License
- PojavLauncher is licensed under GNU GPLv3.
Contributing
Contributions are welcome! We welcome any type of contribution, not only code. For example, you can help the wiki shape up. You can help the translation too!
Any code change to this repository (or iOS) should be submitted as a pull request. The description should explain what the code does and give steps to execute it.
Credits & Third party components and their licenses (if available)
- Boardwalk (JVM Launcher): Unknown License/Apache License 2.0 or GNU GPLv2.
- Android Support Libraries: Apache License 2.0.
- GL4ES: MIT License.
- OpenJDK: GNU GPLv2 License.
- LWJGL3: BSD-3 License.
- LWJGLX (LWJGL2 API compatibility layer for LWJGL3): unknown license.
- Mesa 3D Graphics Library: MIT License.
- pro-grade (Java sandboxing security manager): Apache License 2.0.
- xHook (Used for exit code trapping): MIT and BSD-style licenses.
- libepoxy: MIT License.
- virglrenderer: MIT License.
- Thanks to MCHeads for providing Minecraft avatars.