If you haven’t heard of Minecraft,
“Minecraft is a sandbox video game created and designed by Swedish game designer Markus “Notch” Persson, and later fully developed and published by Mojang. The creative and building aspects of Minecraft allow players to build with a variety of different cubes in a 3D procedurally generated world. Other activities in the game include exploration, resource gathering, crafting, and combat.” -Wikipedia
What’s even better is that since it is mostly written in Java, It works cross-platform i.e it is one of the few games that works natively on Linux.
Also, it is architecture independent, ie it can run on Arm… almost. Although the game itself is portable across architectures, LWJGL isn’t. LWJGL provides a lightweight OpenGL extension for Java and that is what Minecraft uses for its graphics rendering since it’s not architecture independent, we need to compile it from source.
Let’s get (Mine)crafting
Step 1: Operating systems
- You should be running Debian build 17.09
- Make sure it is updated:
sudo apt update sudo apt dist-upgrade
Step 2: Dependencies
- Install the following dependencies:
sudo apt install gradle openjdk-8-jdk libx11-dev xorg-dev
- Soft link libjawt
sudo ln -s /usr/lib/jvm/java-8-openjdk-arm64/lib/aarch64/libjawt.so /usr/lib/libjawt.so
- Setup zram swap
Step 3: Compile LWJGL
- Download source
git clone https://github.com/LWJGL/lwjgl
cd lwjgl ant generate-all ant compile_native
- Copy Binaries
mkdir -p ~/.minecraft/natives cp ~/lwjgl/libs/linux/liblwjgl.so ~/.minecraft/natives/ cp ~/lwjgl/libs/linux/libopenal.so ~/.minecraft/natives/
- Setup environment variable
to make this permanent add the above line at the end of ~/.bashrc file.
Step 4: Play Minecraft
- Download Minecraft, jar from https://minecraft.net/en-us/download/
- Make sure you have a Minecraft Login ID
- Launch for the first time:
java -jar <path to>/Minecraft.jar
- Launch Minecraft consecutively:
java -jar ~/.minecraft/launcher.jar
Note 1: if there are performance issues, turn every graphics settings to minimum and keep in mind the Snapdragon 410E is a mid-range mobile SoC with a mid-range GPU.
Note 2: I have only tried and tested it on build 17.09