![]() |
VOOZH | about |
Minecraft can be played on many different platforms and devices, including various flavors and distributions of Linux systems. This tutorial will show you how to run several editions of Minecraft on Linux systems.
Since Minecraft: Java Edition is made in Java, which is designed to run on as many systems as possible, the game can easily be ported over Linux and is supported officially by the Minecraft Launcher.
The Minecraft Launcher is available directly from the official Minecraft website, but in Linux systems, it's recommended that you install the launcher from your Linux distribution's provided package manager or app store; this is because package managers simplify the installation process by getting the right package designed specifically for your distribution, they also provide other benefits, like automatic update for the launcher and reduced app size with the program's managed dependencies.
Package managers are tools designed to install and manage packages for a Linux distribution. The Minecraft Launcher is available on many package managers. For Arch Linux systems, the Arch User Repository (AUR) version of the launcher is recommended by the official website. If the package is not available on your distro's package manager, you may want use Flatpak, which is supported on most Linux distributions, or other such alternatives.
The Minecraft Launcher can be installed using Flatpak from Flathub, which is the de facto app store for Flatpak applications that runs on most Linux distributions. Usually, your Linux distribution has Flatpak pre-installed by default in your system. If not, you can install Flatpak from your package manager and read this Flatpak article to get it set up. After setting it up, you can use Flatpak by using flatpak command-line interface (CLI) or one of the GUI front ends made for it.
Linux distributions may provide a GUI front end for Flatpak: for KDE-based systems, this may be the "Discover" app; for GNOME-based systems, this may be the "GNOME Software" app (or just "Software"); for Cinnamon-based systems, this may be the "Software Manager" app. You can search the Minecraft Launcher in the app and install the launcher from there. Flatpak GUI front ends can be installed using your package manager manually, for that, you can read more on your distro's manual, wiki, or other resources.
The launcher can also be installed through flatpak CLI in the terminal app. Simply, you can install the Minecraft Launcher by executing this command:
flatpakinstallcom.mojang.Minecraft
After installing the Minecraft Launcher by either methods, you can launch the launcher in your distro's application list (usually by searching the app's name, i.e., "Minecraft Launcher"), or run them in CLI by using flatpak run com.mojang.Minecraft.
Minecraft: Bedrock Edition is not officially supported on Linux, but there are two main ways to play through a compatibility layer.
mcpelauncher lets you play the Android version of Minecraft: Bedrock Edition natively in Linux systems through a compatibility layer. This is similar to Wine, which lets you run Windows applications on Linux, but "much more lightweight and simple that doesn't impact performance in significant way".[1] For most Linux distributions, you can download and install mcpelauncher from your distro's package manager. The package is also available on Flathub, which can be installed with Flatpak.
Since mcpelauncher uses the Android version of the game, it downloads the game from the Google Play Store, thus it is required to purchase the game's license with a Google account in the store specifically. If you have purchased a version from the Microsoft Store previously, that purchase is separate and will not transfer to the Google Play Store version of the game.
WineGDK is a fork of the Wine project made by Weather-OS that enables GDK-based games to run on Linux systems, including Minecraft: Bedrock Edition. It does this by porting Windows-specific libraries required to run the game, including Microsoft GDK components and some of the WinRT components. This results being able to play Bedrock Edition natively on Linux systems with similar or even better performance than on Windows.
WineGDK partially supports some online functionality of the game, features such as playing LAN-based multiplayer games and accessing Marketplace are possible. It does not support Microsoft online account services,[2] meaning features that require a signed Microsoft account, such as playing online multiplayer games or Realms, purchasing or using Marketplace items, are not supported. The mcpelauncher version supports full online functionality, but Windows-specific features, like ray tracing[3] and Bedrock Editor, are only available on WineGDK version. Additionally, you may encounter keyboard and mouse issue due to how the game's version is designed for Android.
Any features that require opening a file picker will crash the game on WineGDK, this means importing a world and using a custom skin are not possible,[4] however, there are workarounds: for importing a world, you can generally extract .mcworld files (as they are technically ZIP files) to the com.mojang/minecraftWorlds directory; using a custom skin may be possible by modifying the options.txt file and setting up the configuration manually (either by copying existing game data, or other methods).
Note that older versions of Bedrock Edition might not work with WineGDK as they are likely the UWP versions,[5] which are different from the GDK versions released since Bedrock Edition 1.21.120. You can use mcpelauncher which may support older versions of the game. For older versions of Minecraft: Pocket Edition, see ยง Pocket Edition.
In this tutorial, we will setup Minecraft: Bedrock Edition using Lutris, an open-source Linux game manager, and GDK-Proton, a protonified version of WineGDK.
WineGDK requires the game's executable to run, as well as the game's installation files. They can be installed using Xodus or from a Windows system that has the game installed from Xbox app or Microsoft Store.
To install using Xodus, you will need to log in with your Microsoft Account:
xodus-clilogin
This will open a webview allowing you to sign in with your Microsoft account. Then you can download and extract the game installation files using the Microsoft store id of Minecraft for Windows 10:
xodus-clistreaming9NBLGGH2JHXJ/path/to/install/directory
Alternatively, the games installation files can be copied from Windows running in a virtual machine or dual-boot. The game's installation directory contains the files needed to run Minecraft: Bedrock Edition game, including Minecraft.Windows.exe, which is the main executable of the game. The directory may be located inside C:\XboxGames\Minecraft for Windows\Content, or another driver depending on your Xbox games installation directory set in the Xbox app. You will need to take note of this as the entire directory is needed by WineGDK to run the game.
The game's executable, Minecraft.Windows.exe, is encrypted by default in the installation, which makes it unable to be ran by WineGDK normally. In order to retrieve unencrypted file, there are few methods you can do in Windows:
Invoke-CommandInDesktopPackage-PackageFamilyName"Microsoft.MinecraftUWP_8wekyb3d8bbwe"-appGame-Command"powershell.exe"-Args"-Command Copy-Item '<game-directory>\Content\Minecraft.Windows.exe' .\decrypted.exe"
Minecraft.Windows.exe executable owned by "Gaming Services", see [2].After obtaining the unencrypted executable, you'll need to create the game's installation directory for WineGDK following this structure:
XCurl.dll with the one from mingw-w64-x86_64-curl, specifically the mingw64/bin/libcurl-4.dll renamed to XCurl.dll. This is required for the online functionality of the game with GDK-Proton.Content directory in here.XCurl.dll library to support the game's online functionality by GDK-Proton.
ca-bundle.crt.Finally after creating the installation directory, you'll need to transfer them into your Linux system to be used by GDK-Proton. Transferring files between operating systems can usually be done by mounting your Windows disk partition into your Linux system, and copying the directory into your home directory (or any other directory for that matter), but methods may vary, especially if using a virtual machine, you'll need to research them on the Internet (see also [3][4][5]).
There are two versions of WineGDK: the original WineGDK, and the GDK-Proton, which is a custom GE-Proton version built with WineGDK and several extra components. Although the online functionality has been implemented for WineGDK[6][7], you'll need the GDK-Proton version in order to get it working.
The original WineGDK needs to be compiled per the instructions from the project page. For the purpose of this tutorial, we will use the GDK-Proton version, which we can easily obtain the pre-built binaries from the GitHub releases as an archive file named GDK-ProtonXX-YY.tar.gz (XX and YY are the latest version numbers).
After downloading the archive file, you will need to extract the file into the ~/.steam/root/compatibilitytools.d/[note 1] directory, so later in the tutorial, it can be used with Lutris as one of the Wine runner. If the directory does not exist, you may wish to create it so.
Lutris is an open-source game manager for Linux systems. It manages different types of games, including Windows games that require any Wine-based compatibility layer to run on Linux. Lutris is also available on Flathub, which you can easily download with Flatpak.
In this tutorial, we will use Lutris specifically to select WineGDK as the runner and play Minecraft: Bedrock Edition:
~/Games/<game-name>.
<game installation directory for WineGDK>/Content/Minecraft.Windows.exe).~/.steam/root/compatibilitytools.d/[note 1] directory.
../compatibilitytools.d/ directory, and can be selected by Lutris.Since WineGDK does not support signing a Microsoft account, the "Servers" tab of the Select World screen is completely unusable, preventing you from adding and joining external or featured servers. However, there is a workaround by using Kas-tle's ProxyPass software to proxy an external server as a LAN-based servers accessible under the "Worlds" tab, essentially bypassing the in-game Microsoft account requirement for unsigned players; however, when joining such server, you'll still need to authenticate in the ProxyPass software itself.
Since ProxyPass is a JAR-based software, you'll need setup a standalone Java runtime to use it, see Tutorial:Update Java for the instructions.
Note the port must be set to 19132 (the default IPv4 port of Bedrock Edition server) in order to be detected by the game via LAN.
Additionally, if hosting a GeyserMC server locally, it will also broadcast itself as a LAN-based server on the "Worlds" tab.
For unsigned account session, the game loads resource pack and behavior pack from the game's installation directory instead of the usual com.mojang path. Since WineGDK does not support signed account yet, these directories are used instead.
The following structure may be generated in the game's installation directory:
Content files, including Microsoft.Minecraft.exe.The WineGDK version of Minecraft: Bedrock Edition supports running the Bedrock Editor, which is a secondary mode of the game that adds advanced and robust tools designed for creators to edit worlds and create player structures through projects.
The main way to launch the Bedrock Editor on Windows is by running a special minecraft editor URI string (e.g., minecraft://creator/?Editor=true) through the browser or other means. Luckily, for our case, we can pass the URI string directly to the game's executable, which in turn, achieve the same result to launch the Bedrock Editor in the Wine environment.
In practice, there are two ways to do this through Wine console or Lutris GUI:
On Lutris, we can specifically configure the game's launcher to open with the minecraft editor URI string:
"minecraft://creator/?Editor=true" (notice the double quote).In order to launch Bedrock Editor, you need to open the Wine console, which usually opens cmd.exe program (Windows Command Prompt), where you can run software and applications through Wine. This is required to run the game with the minecraft URI string.
If you have setup the game in Lutris, you can open the Wine console:
Otherwise, you can open them in the Linux terminal by the WineGDK executable, but this is applicable for advanced installation outside this tutorial.
In the Wine console, navigate to the game's installation directory in and launch the Minecraft.Windows.exe executable with the minecraft URI string:
REM Change directory to the game's installation directory REM Note that you need to replace the "<game-directory>" placeholder cd "<game-directory>\Content" REM Launch Minecraft Bedrock executable with the editor URI scheme .\Minecraft.Windows.exe "minecraft://creator/?Editor=true"
If you have placed the game's installation directory outside the Wine prefix, you can use Z: driver to access your system's Linux filesystem in the Wine environment (e.g., Z:\home\<user>\ is equivalent to /home/<user>/).
Minecraft: Pocket Edition is a legacy version of Bedrock Edition that was made exclusively for Android and mobile systems. If you have hunch for nostalgia, you can play these versions on Linux natively or through an Android container, such as Ninecraft or Waydroid respectively.
Ninecraft is a compatibility layer/game launcher made by MCPI-Revival community that lets you play (specific versions of) Minecraft: Pocket Edition natively on Linux and Windows.
Ninecraft requires the APK package of the game in order to be ran, and with the right architecture for your system (if you're running on x86 Linux system, you will need x86 version of the APK, vice versa for ARM). You can retrieve the full APK package of Minecraft: Pocket Edition from Omniarchive or the wiki's individual version pages (under "Downloads" column).
While Ninecraft claims to run Minecraft: Pocket Edition from v0.1.0 alpha to v0.11.1 alpha, there are several versions that may not work correctly or unsupported (usually indicated from the software's output in the console).
Performance-wise, when running v0.11.1 alpha version,[note 2] the game runs smoothly without noticeable bugs or glitches. The game's audio does not work initially, and requires additional software (see ยง Audio software). Unlike WineGDK, the file picker is supported, in which you can use custom skin in the game itself. The LAN multiplayer functionality is also supported, so you can play the game with your friends, who may run the game on Linux, Windows, or the original game from Android.
For this tutorial, we will show you how to setup and run Ninecraft by compiling the sources from the project's GitHub, to running Ninecraft and Minecraft: Pocket Edition with the APK file.
Before compiling Ninecraft, we will need to setup dependencies required for the software. The following dependencies are needed:
Note most of dependencies require the 32-bit versions, which for some Linux distribution, needs additional configuration.
From the project's README file, most of these dependencies can largely be downloaded and installed via your distribution's package manager:
Note you will need to add multilib repository in your Pacman's configuration file in order to install the following dependencies, see related Arch Wiki.
# Update the system and all packages sudopacman-Syu # Install 32-bit and build dependencies sudopacman-Sgitmakecmakegccgcc-multiliblib32-openallib32-libx11lib32-libxrandrlib32-libxineramalib32-libxcursorlib32-libxilib32-libglvndzenityunzippython-jinja
# Add 32-bit architecture sudodpkg--add-architecturei386 # Update the system and all packages sudoaptupdate # Install 32-bit and build dependencies sudoaptinstallgitmakecmakegccg++gcc-multilibg++-multiliblibopenal-dev:i386libx11-dev:i386libxrandr-dev:i386libxinerama-dev:i386libxcursor-dev:i386libxi-dev:i386libgl-dev:i386zenityunzippython3-jinja2
# Update the system and all packages dnfupdate # Install 32-bit and build dependencies dnfinstallgitmakecmakegccg++glibc-devel.i686libstdc++-devel.i686openal-soft-devel.i686libX11-devel.i686libXrandr-devel.i686libXinerama-devel.i686libXcursor-devel.i686libXi-devel.i686libglvnd-devel.i686zenityunzippython3-jinja2
In order to compile Ninecraft, you will need to retrieve the sources from the project's GitHub via git, run the following command:
gitclone--recursivehttp://github.com/MCPI-Revival/Ninecraft.git
After that, change directory (cd) into the Ninecraft's repository, and run this command to compile for x86:
makebuild-i686
Compiling the software may take few minutes in order to be complete, so while it's running on the background, you may take your time to do other stuff.
After compiling Ninecraft, you will need the game's APK and extract it for Ninecraft to run, simply run the following command (while in Ninecraft's repository):
./tools/extract.sh<path-to-apk-file>
Specify the <path-to-apk-file> to the game's APK file path, whether that'd be in the downloads directory, or others.
After extracting, you are set and ready to run Ninecraft and Minecraft: Pocket Edition game:
./build-i686/ninecraft/ninecraft
The game's audio may be mute/does not work initially. In order to get it working, you would need an additional software called OSSP. For most Linux systems, this software is available on the following distributions:
On Arch Linux systems, OSSP is only available from AUR, and not the official repository. This means you will need to use an AUR helper or install the package manually from AUR.
In this tutorial, we will use Paru AUR helper to install the package. You can use other AUR helpers, such as Yay, Pacaur, and others.
# Install OSSP from AUR using "paru" AUR helper
paru-Sosspd
# Install OSSP using apt
sudoaptinstallosspd
There is currently no repository available that hosts the OSSP package for Fedora Linux. However, you can compile it by yourself from the OSSP's source code.
In order to compile OSSP, you'd need these dependencies installed in your system (according to the project's Ubuntu build workflow):
Download the project's source code via Git recursively:
gitclone--recursivehttps://github.com/OpenMandrivaSoftware/ossp
Generate the build files using the Ninja generator:
cmake-GNinja-Bbuild-Dalsa=ON-Dtest=ON-DCMAKE_POLICY_VERSION_MINIMUM=3.5
Once configured, run the build command:
ninja-Cbuild
The osspd daemon executable should be available in the build directory. Unlike the systemctl steps below, you should run the executable directly before starting Ninecraft instead.
After installing it, the OSSP service must be manually started before starting Ninecraft. You can start it via systemctl:
sudosystemctlstartosspd.service
If the game is running, relaunch the game again, and you should start to hear the audio working.
Waydroid is an Android container that lets you run Android applications and games. It can be used for playing older versions through pre-0.8.0 or so, but tend to be buggy.
When Waydroid is installed, the Android system runs is based on the host system architecture, so for example, when the host system is 64 bit, the Android also runs 64 bit version of the system. This makes it unable to run ARM-based applications, which are most Pocket Edition game versions made on, however, a translation layer can be used with Waydroid to workaround this problem.[8]
As versions beyond 1.2 have a license check, it is recommended that you have an account which has purchased the game and use a system such as microG to authenticate, proving that you are indeed the owner of a legitimate copy of the game.
Some of the Legacy Console editions of Minecraft, including PlayStation 3, PlayStation 4, and Xbox One editions, can be played in Linux systems through emulation. Emulation software such as RPCS3 for PS3 and shadPS4 for PS4 (at least partially, as PS4 emulation is very early in development[9]). There have been some closed-development of Xbox One compatibility layer (which is different from an emulator, similar to Wine) specifically made for Linux, called XWine1, that can successfully run Minecraft: Xbox One Edition,[10] but no working binaries or source code for it have been released yet.
It is entirely possible to run the disc version of Minecraft: PlayStation 3 Edition without modifying a PS3 console (or using one at all, for that matter) while staying within the law, however other physical hardware costs must be factored in.
PlayStation 3 system firmware is required for emulating any game for the console, which can be downloaded for free from here on Sony's website intended for use for updating consoles manually (select "Update using a computer"). This file can be provided to an emulator such as RPCS3 for game playback.
You will need to acquire a physical disc copy of PlayStation 3 Edition. Used copies are often available from physical stores, for example CeX in Ireland and the United Kingdom, as well as other chains, pawn stores, markets and other such sources; other countries will likely have their own store chains from which a disc copy can be acquired (and ordering online is also an easy method). This is the source of the game data which will be run using the emulator. Software piracy laws in certain countries may require that you keep this disc even after the data has been copied to your computer.
Your PC will also need a means to read Blu-Ray optical discs. Only specific models of Blu-Ray drive are capable of reading PS3 discs, a list of which can be found near the bottom of the RPCS3 quickstart page. These will generally be less expensive and easier to set up compared to modifying a PS3 console and ripping data from it (and will not interfere with your PlayStation account standing), however such drives are often by no means cheap and it may be difficult to source one of these specific models. Other models not listed may work but also may not.
Once you have one of these drives connected to your computer, place the disc inside. The next step is to run a program that can read the data from the inserted disc and copy it to your computer in a usable format. The RPCS3 wiki has a page detailing this process; the program used for obtaining these files can be downloaded from here. The extracted files can then be loaded into RPCS3 (or whatever other emulator you use).
If you wish to play the latest update rather than the base version on the disc, the RPCS3 discord server can be consulted to provide links to the update files for the most recent game versions.
~/.var/app/com.valvesoftware.Steam/.local/share/Steam/compatibilitytools.d/,~/.local/share/Steam/compatibilitytools.d.~/.steam/root/compatibilitytools.d/ may be symlinked to these directories.
PE-a0.11.1-2-x86 from Omniarchive.