/PojavLauncher_iOS

Minecraft: Java Edition launcher for iOS

Primary LanguageJavaGNU General Public License v3.0GPL-3.0

iOS build

PojavLauncher_iOS

Minecraft: Java Edition launcher for iOS, based on PojavLauncher Android.

Navigation

Introduction

  • This is an attempt to get Minecraft Java run on a jailbroken iOS.
  • Minimum requirements: device running iOS 12 or newer.

Building

Requirements:

  • Mac OS X (tested: 10.15)
  • XCode (tested: 11.7.0)
  • JDK 8 installed
  • gradle to build Java part.
  • cmake, wget, ldid, dpkg and fakeroot to package. Run in this directory
# Only run if you haven't installed JDK 8
brew install adoptopenjdk8

# Install required packages
brew install cmake wget ldid dpkg fakeroot gradle

# Give exec perm
chmod 755 *.sh

# Build natives part
./build_natives.sh

# Build java part
./build_javaapp.sh

# Sign with entitlements and package
./build_package.sh

How can it work?

  • Use OpenJDK 16 from Procursus to get real Java environment.
  • Use GL4ES for OpenGL -> OpenGL ES translator.
  • Use our LWJGL3 iOS port.
  • Use same launch method as PojavLauncher Android.

Current status

  • Java Runtime Environment: OpenJDK 16.
  • LWJGL3 iOS port: works
  • OpenGL: GL4ES
  • Did Minecraft recognize OpenGL?
  • OpenAL: not included yet, maybe use iOS built-in OpenAL?
  • Input pipe implementation
  • Does it work? Partial.
  • Currently, only rd-132211 and rd-132328 (oldest Minecraft versions :V) fully works.
  • 1.6.x only render a tiny panorama at bottom left corner.
  • 1.7.2 to 1.12.2 will crash because of framebuffer.
  • Other versions will crash for various reasons: missing LWJGL JNI methods, missing OpenAL, Narrator crash, etc...
  • It may crash sometimes, but try launch again until you get it works.

Installing OpenJDK 16

For Odyssey bootstrap

For other jailbreak bootstrap

  • Download openjdk-16-jre.deb.
  • Install and open Filza File manager.
  • Go to where the .deb file downloaded.
  • Open it and press Install.
  • If everything fine, it will ends up with Setting up ....

Want a try or debug?

  • Minecraft home directory: /var/mobile/Documents/minecraft.
  • Select a version: edit /var/mobile/Documents/minecraft/config_ver.txt, put to Minecraft version want to start.

License

Contributing

Contributions are welcome! We welcome any type of contribution, not only code. Any code change 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