Minecraft doesn't run natively upon Wayland
Wayland is the new Display Server Protocol for Linux based Operating-Systems. It replaces the X11-Display Server Protocol.
Many distributions will ship Wayland in the next months and it is very important that Minecraft, a such well-known game can run native upon Wayland.
This would increase the security as well as the performance massive.
Minecraft has several critical issues with the compatibility layer XWayland. (MC-92305) (MC-92318) (And more...)
In addition, Linux distributions for smartphones like Sailfish OS, Ubuntu Touch or Tizen are also using Wayland, it would greatly increase the portability and productivity of Minecraft.
Environment
Fedora 23 (x86_64); Fedora Rawhide/24 (x86_64) all other distributions using Wayland
GNOME Shell 3.18.0+
xorg-x11-server-Xwayland 1.18.0
Linked Issues
relates to9
Created Issue:
Let Minecraft run native upon Wayland
Wayland is the new Display Server Protocol for Linux based Operating-Systems. It replaces the X11-Display Server Protocol.
Many distributions will ship Wayland in the next months and it is very important that Minecraft, a such well-known game can run native upon Wayland.
This would increase the security as well as the performance massive.In addition, Linux distributions for smartphones like Sailfish OS, Ubuntu Touch or Tizen are also using Wayland, it would greatly increase the portability and productivity of Minecraft.
Environment
Fedora 23 (x86_64); Fedora Rawhide/24 (x86_64) all other distributions using Wayland
GNOME Shell 3.18.0+
xorg-x11-server-Xwayland 1.18.0
Wayland is the new Display Server Protocol for Linux based Operating-Systems. It replaces the X11-Display Server Protocol.
Many distributions will ship Wayland in the next months and it is very important that Minecraft, a such well-known game can run native upon Wayland.
This would increase the security as well as the performance massive.In addition, Linux distributions for smartphones like Sailfish OS, Ubuntu Touch or Tizen are also using Wayland, it would greatly increase the portability and productivity of Minecraft.
Wayland is the new Display Server Protocol for Linux based Operating-Systems. It replaces the X11-Display Server Protocol.
Many distributions will ship Wayland in the next months and it is very important that Minecraft, a such well-known game can run native upon Wayland.
This would increase the security as well as the performance massive.Minecraft have several critical issues with the compatibility layer XWayland. (
MC-92305) (MC-92318) (And more...)In addition, Linux distributions for smartphones like Sailfish OS, Ubuntu Touch or Tizen are also using Wayland, it would greatly increase the portability and productivity of Minecraft.
Wayland is the new Display Server Protocol for Linux based Operating-Systems. It replaces the X11-Display Server Protocol.
Many distributions will ship Wayland in the next months and it is very important that Minecraft, a such well-known game can run native upon Wayland.
This would increase the security as well as the performance massive.Minecraft ha
veseveral critical issues with the compatibility layer XWayland. (MC-92305) (MC-92318) (And more...)In addition, Linux distributions for smartphones like Sailfish OS, Ubuntu Touch or Tizen are also using Wayland, it would greatly increase the portability and productivity of Minecraft.
Wayland is the new Display Server Protocol for Linux based Operating-Systems. It replaces the X11-Display Server Protocol.
Many distributions will ship Wayland in the next months and it is very important that Minecraft, a such well-known game can run native upon Wayland.
This would increase the security as well as the performance massive.Minecraft has several critical issues with the compatibility layer XWayland. (
MC-92305) (MC-92318) (And more...)In addition, Linux distributions for smartphones like Sailfish OS, Ubuntu Touch or Tizen are also using Wayland, it would greatly increase the portability and productivity of Minecraft.
Wayland is the new Display Server Protocol for Linux based Operating-Systems. It replaces the X11-Display Server Protocol.
Many distributions will ship Wayland in the next months and it is very important that Minecraft, a such well-known game can runnative upon Wayland.
This would increase the security as well as the performance massive.Minecraft has several critical issues with the compatibility layer XWayland. (
MC-92305) (MC-92318) (And more...)In addition, Linux distributions for smartphones like Sailfish OS, Ubuntu Touch or Tizen are also using Wayland, it would greatly increase the portability and productivity of Minecraft.
Wayland is the new Display Server Protocol for Linux based Operating-Systems. It replaces the X11-Display Server Protocol.
Many distributions will ship Wayland in the next months and it is very important that Minecraft, a such well-known game can run native upon Wayland.
This would increase the security as well as the performance massive.Minecraft has several critical issues with the compatibility layer XWayland. (
MC-92305) (MC-92318) (And more...)In addition, Linux distributions for smartphones like Sailfish OS, Ubuntu Touch or Tizen are also using Wayland, it would greatly increase the portability and productivity of Minecraft.
Let Minecraft run native upon XWayland
Let Minecraft run native uponXWayland
relates to
relates to
LetMinecraft run native upon WaylandMinecraft doesn't run natively upon Wayland
Launcher loads these libraries:
libX11.so.6 libX11-xcb.so.1 libXcomposite.s libXcursor.so.1 libXdamage.so.1 libXext.so.6 libXfixes.so.3 libXi.so.6 libXrender.so.1 libXtst.so.6 libXrandr.so.2 libXss.so.1
is duplicated by
relates to
is duplicated by
relates to
With the release of the GNOME Shell 3.22 on September 21, 2016, the "Wayland Display-Server Protocol" became the standard regarding graphical user interfaces (GUI) on Linux.
Read more about Wayland at: https://en.wikipedia.org/wiki/Wayland_(display_server_protocol)
As a result, Minecraft is now running under the XWayland Compatiblity Layer. This results in an overhead and thus a decrease in the overall game performance in the sense of the FPS.
For example, the Intel HD 520 in Minecraft usually comes over 100 FPS. Under XWayland, only the half of this are reached.
Wayland: 1.12.0
XWayland: (xorg-server-xwayland) 1.18.4
A porting to Wayland is needed. See MC-92393
After experimenting with Wayland myself, it turns out this issue is not restricted to Minecraft. As documented here, the XWayland compatibility later does not currently support relative mouse positioning, which is used for FPS-type games. As Minecraft (amongst other games) run in this layer, the end result is this quick spinning since the display server is incorrectly attempting to compensate for the mouse position. This will either need to be corrected via a Wayland protocol update, or could be circumvented should the game run natively on it (see MC-92393).
I tried stable versions back to 1.10. No version of minecraft runs on my desktop. There are several reports clarifying the work needed to support wayland. Updating LWJGL was the first step.
See:
I do not think that further work on my end will be productive until someone can confirm that other wayland desktops are working correctly. According to the bug database it is unlikely that any of them worked pre-pre4 ![]()
The other post MC-92393 was marked "solved' which it is not.
Please support Wayland
Thank you for your report!
We're tracking this issue in MC-92393, so this ticket is being resolved and linked as a duplicate.
That ticket has already been resolved as invalid. Please take a look at the parent ticket (MC-92393) and see if an explanation is provided there in the description of the ticket or in the comments for why this issue is invalid.
If you haven't already, you might like to make use of the search feature to see if the issue has already been mentioned.
Quick Links:
📓 Bug Tracker Guidelines – 💬 Community Support – 📧 Mojang Support
📓 Project Summary – ✍️ Feedback and Suggestions – 📖 Game Wiki
– I am a bot. This action was performed automatically! The ticket was resolved by one of our moderators, and I left this message to give more information to you.
In theory this can be solved by porting to Wayland. Since the developers treat MC-92393 as a feature request, I've made a feedback request. Upvote it so the developers can see.
Does MC-92393 describe your issue?

Uhm, where's the difference of this ticket against
MC-92305andMC-92318?Minecraft currently runs with the compatibility layer XWayland, this is for legacy applications that don't use the Wayland Display Server Protocol, but instead using the old X11 Protocol.
The difference is, that
MC-92305andMC-92318are two bugs describing problems when Minecraft is running on this compatibility layer.Applications, especially games have an extreme overhead, if they are running on the XWayland compatibility layer.
Got it.
Updated today and tried to run again in fedora 23. Get this below crash. Hope it helps! Thanks for your hard work.
---- Minecraft Crash Report ----
// Quite honestly, I wouldn't worry myself about that.
Time: 4/2/16 7:56 AM
Description: Initializing game
java.lang.ExceptionInInitializerError
at bcc.ar(SourceFile:620)
at bcc.an(SourceFile:428)
at bcc.a(SourceFile:377)
at net.minecraft.client.main.Main.main(SourceFile:124)
Caused by: java.lang.RuntimeException: org.lwjgl.LWJGLException: No modes available
at org.lwjgl.opengl.Display.<clinit>(Display.java:141)
... 4 more
Caused by: org.lwjgl.LWJGLException: No modes available
at org.lwjgl.opengl.LinuxDisplay.init(LinuxDisplay.java:740)
at org.lwjgl.opengl.Display.<clinit>(Display.java:138)
... 4 more
A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
– Head –
Stacktrace:
at bcc.ar(SourceFile:620)
at bcc.an(SourceFile:428)
– Initialization –
Details:
Stacktrace:
at bcc.a(SourceFile:377)
at net.minecraft.client.main.Main.main(SourceFile:124)
– System Details –
Details:
Minecraft Version: 1.9.2
Operating System: Linux (amd64) version 4.4.6-300.fc23.x86_64
Java Version: 1.8.0_77, Oracle Corporation
Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 154993264 bytes (147 MB) / 250871808 bytes (239 MB) up to 1060372480 bytes (1011 MB)
JVM Flags: 5 total; -Xmx1G -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:-UseAdaptiveSizePolicy -Xmn128M
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
Launched Version: 1.9.2
LWJGL: 2.9.4
OpenGL: ~ERROR~ RuntimeException: No OpenGL context found in the current thread.
GL Caps:
Using VBOs: No
Is Modded: Probably not. Jar signature remains and client brand is untouched.
Type: Client (map_client.txt)
Resource Packs:
Current Language: ~ERROR~ NullPointerException: null
Profiler Position: N/A (disabled)
CPU: <unknown>
aaron brown The crash is ​
MC-79573With the release of the GNOME Shell 3.22 on September 21, 2016, the "Wayland Display-Server Protocol" became the standard regarding graphical user interfaces (GUI) on Linux.
As a result, Minecraft is now running under the XWayland Compatiblity Layer. This results in an overhead and thus a decrease in the overall game performance in the sense of the FPS.
For example, the Intel HD 520 in Minecraft usually comes over 100 FPS. Under XWayland, only the half of this are reached.
Wayland: 1.12.0
XWayland: (xorg-server-xwayland) 1.18.4
A porting to Wayland is needed. See
MC-92393I've updated the affected versions. Still very important issue.
xprop still shows Minecraft running under XWayland with snapshot 18w01a. It looks like LWJGL has experimental wayland support for lwjgl 3.14 (https://github.com/LWJGL/lwjgl3/releases) , but the snapshot is still using 3.12. I don't know if there are any breaking changes between versions, but I don't think Wayland support will happen without updating.
Is Minecraft 1.13-pre5 running under Wayland? At least LWJGL 3.1.6 is now used.
There may be some mouse issues: MC-132460
This bug is still present in Minecraft 1.13.2. Game still runs with Xwayland and not natively.
Since LWJGL 3.1.4, it is possible to tell LWJGL to use the Wayland backend by launching the game with "-Dorg.lwjgl.glfw.libname=glfw_wayland". Doing this results in a crash that seems to be caused by GLFW.
However, using a version of GLFW newer than the one bundled in LWJGL 3.1.6 seems to fix the problem. I'm on Arch Linux and the package glfw-wayland currently provides GLFW 3.3 compiled with Wayland support. Launching the game with "-Dorg.lwjgl.glfw.libname=/usr/lib/libglfw.so" gets me past the first problem. But this time, the game crashes with GLFW complaining that "Focusing a window requires user interaction". Wayland does indeed not allow applications to arbitrarily take the focus, which is what Minecraft seems to be doing (probably via a call to glfwFocusWindow).
So, :
Removing calls to glfwFocusWindow (maybe replacing it with an attention request?);Should get us closer to running Minecraft under Wayland natively.
Then remains the (arguably less important) problem of automatically determining whether or not we're running under Wayland, and then passing the "-Dorg.lwjgl.glfw.libname=glfw_wayland" argument to the game or not. This post suggests checking the $XDG_SESSION_TYPE environment variable.
On my system, running Minecraft through XWayland seems to incur a near 50% performance penalty. With Ubuntu considering the switch to Wayland by default, this issue might soon become a pretty big deal for a large portion of Linux users.
EDIT:
By the looks of things, a lot of GLFW functions remain unimplemented under wayland (basically everything related to window positioning / resizing / icons). So removing those calls on Wayland is probably not a solution.
I guess we just have to wait for GLFW to either implement those functions for the wayland backend or make it easier to know if the platform supports those operations before attempting them.
Just had a go at making this work, and it was very easy. All you need to do is get rid of the error messages which abort the application in _glfwPlatformSetWindowIcon and _glfwPlatformFocusWindow and preferably replace them with warnings. This makes minecraft boot up and work.
It's hard to determine on which side changes should be made. On one hand, Minecraft treats all messages from GLFW as fatal errors. But on the other hand, the flag GLFW_PLATFORM_ERROR used for unimplemented methods in GLFW is the same as the one used for actual fatal errors such as window creation failures, so Minecraft can't make the difference between legitimate fatal errors and unimplemented methods.
Ideally, GLFW would add a new flag used by unimplemented methods, and Minecraft could filter errors and silently ignore those, hoping their absence won't break anything. And later on, when GLFW implements them and stops throwing errors, Minecraft won't have to do anything and things will Just Work™.
I'd love some progress on this as Wayland support is becoming more mainstream.
1.15.2 still launches in using Xorg.
minecraft-launcher uses CEF. Its wayland support was upstreamed, a while ago. There are also some new pull requests related to ozone. I filed another bug report (
MCL-13763). Lack of wayland nativity is a major problem.Any chance of this getting fixed in 1.16?
Hey guys, I worked last 2 days on debugging all glfw wayland related issues to make Minecraft work smoothly!
While I will try pushing this work upstream, let me know if someone at Mojang would like to work directly with me on the matter
I know wayland pretty well
Here's the pull request with glfw fixes: https://github.com/glfw/glfw/pull/1725
@ninja- Your code works, but Minecraft still doesn't use Wayland. It appears to use GLX still, and xeyes can tell where my cursor is on the surface. If I disable Xwayland, Minecraft crashes at com.mojang.blaze3d.platform.GLX._initGlfw at line 79 in "SourceFile". Did you get different results? I assume you didn't, since GLX is explicitly mentioned, so I assume that blaze3d depends directly on GLX unfortunately. I wonder what it uses it for, when GLFW should be enough. Maybe it can be worked around without changing the source code.
Actually, it seems that Minecraft isn't using the GLFW I compiled somehow, nevermind? Will need to debug this further
This is a feature request.
The issue is still not resolved, nor is it a feature request. Wayland support is necessary to ensure the game runs properly upon Linux as Wayland gains more and more adoption going further.
On Arch Linux (meaning the system software is very up to date) using with with a Nvidia 1660 Ti with the 470 driver, launching the game would be met with severe graphical glitches that blocked out much of the game window, making the game unplayable.
On Pop!_OS 21.04 (meaning the system software is somewhat up to date) with the Nvidia 1660 Ti and 470 driver, the game would launch but would be running using generic mesa drivers instead of the actual system drivers, leading to very poor performance (this issue is not present if using Xorg, the system would default to the correct, much faster Nvidia drivers).
This is a real issue and not just a feature request, as (on top of some reported glitches) the performance of the game is impacted negatively a lot by not supporting Wayland natively (the refresh rate is very low even if Minecraft says that the FPS rate is high - this issue is not present in a legacy XOrg session).
In my opinion, a bad refresh rate is one of the biggest issues a game can have, therefore I don't see why this issue is marked as resolved.
Wayland is the default or about to become the default on nearly all Linux distros in the foreseeable future, so it might be a good idea to support it.
Not resolved for me, running Minecraft on XWayland is not so smooth (refresh rate low but high FPS), and I tried <https://github.com/Admicos/minecraft-wayland>, while it has some bugs, native Wayland is very smooth.
I've posted a feature request on the feedback site. See here and please upvote.
For bug reports, lag, and rendering issues, please use bugs.mojang.com! Share your thoughts on graphics issues like lighting, animations, colors, textures, icons, and effects related to graphics.
According to the guidelines on the feedback website, this should belongs here, as using XWayland can be a source of lag.