The better way of running Minecraft Without XWayland
Because I REALLY had nothing better to do with my life.
Requirements
A version of Minecraft >= 1.13
Older versions use a version of LWJGL that doesn't work with this patch
MultiMC (or derivatives) (optional)
Other launchers (not the official one) might or might not have similar settings
If they don't, you can throw this into your Java arguments, changing the file
path as needed depending on your distro:
-Dorg.lwjgl.glfw.libname=/usr/lib/libglfw.so
A distro with a patched GLFW package
This guide has steps for Arch, Fedora, Gentoo, and Guix
Or the knowledge on how to patch packages in your distribution.
In which case you can skip step 2 of this guide, as it will not apply to you
and you should know what to do with the .patch files in this repo already
Side effects
Forge will not work without another workaround
The controls page (and anywhere a keyboard key is shown) is a bit wonky
Keys you replace through your compositor (example: caps:swapescape) will
require you to use the original key
Originally made for Sway, other desktops (GNOME, for example) might need to
manually makepkg the libdecoration branch for GNOME specific fixes or download
an unofficial package listed below (until a new GLFW version releases)
KDE works on both branches, but with some minor issues
Step 1: Setting up MultiMC to use the system GLFW
Go to Settings > Minecraft, and enable Use system installation of GLFW.
If you have a Wayland-compatible version of GLFW installed (glfw-wayland on
Arch) you can try launching the game. It will most likely error out with
something about window focus not being supported. In that case, you are in the
right direction.
Step 2: Installing the patched GLFW library
If you're not under a distro with a guide here, you're mostly on your own.
You can try waiting for someone else to write a guide for your distro, I guess.
Option 1: Use the AUR
Install the glfw-wayland-minecraft package from the AUR.
If you're using a desktop that needs it, try using the unofficialglfw-wayland-minecraft-libdecoration package, which packages the
libdecoration branch of this repository to the AUR.
Option 2: Build the PKGBUILD manually
git clone this repository to somewhere, and run makepkg -si inside. It will
ask you to replace your existing GLFW package if already installed.
If you're using a desktop that needs it, consider running git checkout libdecoration
before running makepkg -si. This is a (probably) slightly unstable version that
works better on some desktops.
This should be it. Try launching Minecraft now and see if it works.
Bonus: XWayland per instance
If some version of Minecraft doesn't work with the patch enabled, you can
disable it through MultiMC just for that version by
Right clicking on your instance
Clicking Edit instance
Going to Settings > Workarounds
Enabling Native Libraries override switch
Disabling the GLFW option
You can also disable the global switch and enable the patch per instance if
that's how you want to roll.
Bonus: Making Forge work
Due to "Forge being Forge", you will need to add
-Dfml.earlyprogresswindow=false to your Java arguments to make Forge instances
start up properly. See issue #1
for more information.
Thanks To
I really didn't do much on this other than "re-discovering" these things which
aren't even that old. Here are the proper credits:
请发表评论