Giter Club home page Giter Club logo

minecraft-wayland's Introduction

Just in case you don't do GitHub but want to send patches to my stuff, I accept git send-email patches at <patchatecmelberk.com>, preferably with git config format.subjectprefix "PATCH repo-name" so it's easier to see what repo you're sending your changes to

minecraft-wayland's People

Contributors

admicos avatar chrislane avatar mazunki avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

minecraft-wayland's Issues

Add `patch` dependency to `PKGBUILD`

The package depends on it, but it is not defined as a dependency so I got PKGBUILD: line 38: patch: command not found during the install given it wasn't already installed.

Fullscreen mode locks fps to 96

When using this version of GLFW, vanilla 1.17 (as well as fabric 1.17 with sodium etc) my game limits itself to 96 fps in fullscreen mode, (my refresh rate is 144hz).

If I take it out of fullscreen, it limits to 144hz (my refresh rate).

If i go back to XWayland mode, my fps is unlocked correctly.

Not a big deal if I play in windowed and just play at 144 locked, but useful to report.

[FIX] Running Forge 27/Vanilla 1.20 in Wayland Native

Problem

Hi all!
When I tried to install the patches on my system (even the one-nineteen and libdecoration branches) GLFW was spitting out the error

Wayland: setting the window position is not supported on this platform.

My system:

  • Arch Linux with the linux kernel
  • RTX 3070 Ti with nvidia-open (545) driver
  • i5 12600KF with 16GB RAM
  • Forge 27 or vanilla Minecraft 1.20 (also crashes and gets fixed but has a different error)

Solution

To fix this issue, you have to manually apply the patches to the master branch of GLFW.
This fix will break in the future as it is based on the active and changing master branch, not a static release.

Downloading GLFW

You might want to cd into your downloads or temp folder if you don't want to clutter your $HOME.

git clone https://github.com/glfw/glfw.git
cd glfw

Download the patch

I have combined the patches 0003, 0005 and the necessary patch to mute the error that causes forge to crash on start
Copy and paste it into a file called glfw.patch, the last empty line is important as otherwise it refuses to git apply - this file should be located in the glfw dir that you just cd'd into.
gist.github.com/patrickpmueller/3e24a3ba435c1708a3ebace60cfa1dcf

If patch somehow fails (in case GLFW updated their code in this part) manually review patch, find the section of code and replace it. You can use patches from repo, one-nineteen branch, etc. but be sure to add the patch for the window position.

Applying the patch and compiling GLFW

Just run the commands below:

git apply glfw.patch
cmake -S . -B build -D GLFW_USE_WAYLAND=1 -D BUILD_SHARED_LIBS=ON -D GLFW_BUILD_EXAMPLES=no -D GLFW_BUILD_TESTS=no -D GLFW_BUILD_DOCS=no
cd build
make

Using the patched version to start Forge 27

You can

  • either install GLFW on your system via make install
  • or use it for Minecraft locally by following the launcher part in github.com/Admicos/minecraft-wayland?tab=readme-ov-file#requirements and pointing it to your patched ./src/libglfw.so.3.4

Export a neccessary environment variable

This is neccessary becuase Minecraft crashed otherwise (I don't have the error message any more, but this fixed it).
Name: __GL_THREADED_OPTIMIZATIONS
Value: 0

Result

This should fix any issues related to Forge 27 and should also fix vanilla 1.20.
I might include a PKGBUILD in the future - or someone can share it if they write it.

Note: this is a temporary fix that just suppresses the errors instead of properly fixing them. However, at least it works without XWayland

1.19, 1.20, 1.20.1 startup crash on one-nineteen branch

I'm trying to use this repo to get MC 1.20.1 running under Wayland through Prism launcher 7.2, but I'm getting the following crash when starting the game:

[15:41:01] [Render thread/WARN]: Failed to create window: 
ehn$a: GLFW error 65544: EGL: Failed to clear current context: An EGLDisplay argument does not name a valid EGL display connection
	at ehn.b(SourceFile:196) ~[minecraft-1.20.1-client.jar:?]
	at org.lwjgl.glfw.GLFWErrorCallbackI.callback(GLFWErrorCallbackI.java:43) ~[lwjgl-glfw-3.3.1.jar:build 7]
	at org.lwjgl.system.JNI.invokePPPP(Native Method) ~[lwjgl-3.3.1.jar:build 7]
	at org.lwjgl.glfw.GLFW.nglfwCreateWindow(GLFW.java:2024) ~[lwjgl-glfw-3.3.1.jar:build 7]
	at org.lwjgl.glfw.GLFW.glfwCreateWindow(GLFW.java:2197) ~[lwjgl-glfw-3.3.1.jar:build 7]
	at ehn.<init>(SourceFile:94) ~[minecraft-1.20.1-client.jar:?]
	at fkm.a(SourceFile:21) ~[minecraft-1.20.1-client.jar:?]
	at enn.<init>(SourceFile:486) ~[minecraft-1.20.1-client.jar:?]
	at net.minecraft.client.main.Main.main(SourceFile:211) ~[minecraft-1.20.1-client.jar:?]
	at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:88) ~[NewLaunch.jar:?]
	at org.prismlauncher.EntryPoint.listen(EntryPoint.java:126) ~[NewLaunch.jar:?]
	at org.prismlauncher.EntryPoint.main(EntryPoint.java:71) ~[NewLaunch.jar:?]
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007fbefa6ae2ce, pid=27, tid=125
#
# JRE version: OpenJDK Runtime Environment 21.9 (17.0.7+7) (build 17.0.7+7)
# Java VM: OpenJDK 64-Bit Server VM 21.9 (17.0.7+7, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# C  [libEGL_nvidia.so.0+0xae2ce]
#
...

The same error occurs in 1.19, vanilla or modded. The only reproduction of this I can find is from @Lassebq in #31. No clue what the root cause is or why some people don't see this error (maybe something related to NVIDIA driver 535?)

I'm passing -Dorg.lwjgl.glfw.libname=/run/host/lib64/libglfw.so.3 to directly set the path to the patched glfw library (/run/host because this is inside the flatpak sandbox, though a non-flatpak install of Prism using the same patched glfw results in the same error.)

HIDPI?

This repository is very helpful for getting Minecraft working on a basic level. However, on my 4K display, Minecraft only runs at 1080p and upscales resulting in pixelation.

Is there a solution for this? Does Minecraft always run in XWayland?

Failed to create window, GLFW error

[20:11:19] [Render thread/WARN]: Failed to create window: net.minecraft.class_1041$class_4716: GLFW error 65543: GLX: Failed to create context: GLXBadFBConfig
Using latest version of glfw-wayland-minecraft-libdecoration from Arch repositories on Garuda linux, and the latest version of PrismLauncher on this modpack from Modrinth. I've been having other issues with glfw on other modpacks, so those might be related.
Full crash report

Issue with Nvidia on Wayland on Gnome

I followed the steps it was able to spawn a black window but instantly crashes with this

MultiMC version: 0.6.14-2998


Launched instance in online mode

authserver.mojang.com resolves to:
    [13.226.92.72]

session.minecraft.net resolves to:
    [34.205.58.168, 52.21.65.46, 3.213.200.53]

textures.minecraft.net resolves to:
    [13.32.151.56, 13.32.151.11, 13.32.151.2, 13.32.151.80]

api.mojang.com resolves to:
    [13.249.107.137]


Minecraft folder is:
/home/nonetrix/.local/share/multimc/instances/1.18.1/.minecraft


Java path is:
/usr/lib64/jvm/java-17-openjdk/bin/java


Checking Java version...
Java is version 17.0.1, using 64-bit architecture, from N/A.


AMD Ryzen 7 3700X 8-Core Processor
NVIDIA Corporation GP104 [GeForce GTX 1080] (rev a1)

Subsystem: Micro-Star International Co., Ltd. [MSI] Device 3362

Kernel driver in use: nvidia

Main Class:
  net.fabricmc.loader.impl.launch.knot.KnotClient

Native path:
  /home/nonetrix/.local/share/multimc/instances/1.18.1/natives

Traits:
traits FirstThreadOnMacOS
traits XR:Initial

Using system GLFW.

Libraries:
  /home/nonetrix/.local/share/multimc/libraries/org/lwjgl/lwjgl-glfw/3.2.2/lwjgl-glfw-3.2.2.jar
  /home/nonetrix/.local/share/multimc/libraries/org/lwjgl/lwjgl-jemalloc/3.2.2/lwjgl-jemalloc-3.2.2.jar
  /home/nonetrix/.local/share/multimc/libraries/org/lwjgl/lwjgl-openal/3.2.2/lwjgl-openal-3.2.2.jar
  /home/nonetrix/.local/share/multimc/libraries/org/lwjgl/lwjgl-opengl/3.2.2/lwjgl-opengl-3.2.2.jar
  /home/nonetrix/.local/share/multimc/libraries/org/lwjgl/lwjgl-stb/3.2.2/lwjgl-stb-3.2.2.jar
  /home/nonetrix/.local/share/multimc/libraries/org/lwjgl/lwjgl-tinyfd/3.2.2/lwjgl-tinyfd-3.2.2.jar
  /home/nonetrix/.local/share/multimc/libraries/org/lwjgl/lwjgl/3.2.2/lwjgl-3.2.2.jar
  /home/nonetrix/.local/share/multimc/libraries/com/mojang/blocklist/1.0.6/blocklist-1.0.6.jar
  /home/nonetrix/.local/share/multimc/libraries/com/mojang/patchy/2.1.6/patchy-2.1.6.jar
  /home/nonetrix/.local/share/multimc/libraries/com/github/oshi/oshi-core/5.8.2/oshi-core-5.8.2.jar
  /home/nonetrix/.local/share/multimc/libraries/net/java/dev/jna/jna/5.9.0/jna-5.9.0.jar
  /home/nonetrix/.local/share/multimc/libraries/net/java/dev/jna/jna-platform/5.9.0/jna-platform-5.9.0.jar
  /home/nonetrix/.local/share/multimc/libraries/org/slf4j/slf4j-api/1.8.0-beta4/slf4j-api-1.8.0-beta4.jar
  /home/nonetrix/.local/share/multimc/libraries/org/apache/logging/log4j/log4j-slf4j18-impl/2.16.0/log4j-slf4j18-impl-2.16.0.jar
  /home/nonetrix/.local/share/multimc/libraries/com/ibm/icu/icu4j/69.1/icu4j-69.1.jar
  /home/nonetrix/.local/share/multimc/libraries/com/mojang/javabridge/1.2.24/javabridge-1.2.24.jar
  /home/nonetrix/.local/share/multimc/libraries/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar
  /home/nonetrix/.local/share/multimc/libraries/io/netty/netty-all/4.1.68.Final/netty-all-4.1.68.Final.jar
  /home/nonetrix/.local/share/multimc/libraries/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar
  /home/nonetrix/.local/share/multimc/libraries/com/google/guava/guava/31.0.1-jre/guava-31.0.1-jre.jar
  /home/nonetrix/.local/share/multimc/libraries/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar
  /home/nonetrix/.local/share/multimc/libraries/commons-io/commons-io/2.11.0/commons-io-2.11.0.jar
  /home/nonetrix/.local/share/multimc/libraries/commons-codec/commons-codec/1.15/commons-codec-1.15.jar
  /home/nonetrix/.local/share/multimc/libraries/com/mojang/brigadier/1.0.18/brigadier-1.0.18.jar
  /home/nonetrix/.local/share/multimc/libraries/com/mojang/datafixerupper/4.0.26/datafixerupper-4.0.26.jar
  /home/nonetrix/.local/share/multimc/libraries/com/google/code/gson/gson/2.8.8/gson-2.8.8.jar
  /home/nonetrix/.local/share/multimc/libraries/com/mojang/authlib/3.2.38/authlib-3.2.38.jar
  /home/nonetrix/.local/share/multimc/libraries/org/apache/commons/commons-compress/1.21/commons-compress-1.21.jar
  /home/nonetrix/.local/share/multimc/libraries/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar
  /home/nonetrix/.local/share/multimc/libraries/commons-logging/commons-logging/1.2/commons-logging-1.2.jar
  /home/nonetrix/.local/share/multimc/libraries/org/apache/httpcomponents/httpcore/4.4.14/httpcore-4.4.14.jar
  /home/nonetrix/.local/share/multimc/libraries/it/unimi/dsi/fastutil/8.5.6/fastutil-8.5.6.jar
  /home/nonetrix/.local/share/multimc/libraries/org/apache/logging/log4j/log4j-api/2.16.0/log4j-api-2.16.0.jar
  /home/nonetrix/.local/share/multimc/libraries/org/apache/logging/log4j/log4j-core/2.16.0/log4j-core-2.16.0.jar
  /home/nonetrix/.local/share/multimc/libraries/com/mojang/text2speech/1.11.3/text2speech-1.11.3.jar
  /home/nonetrix/.local/share/multimc/libraries/net/fabricmc/intermediary/1.18.1/intermediary-1.18.1.jar
  /home/nonetrix/.local/share/multimc/libraries/net/fabricmc/tiny-mappings-parser/0.3.0+build.17/tiny-mappings-parser-0.3.0+build.17.jar
  /home/nonetrix/.local/share/multimc/libraries/net/fabricmc/sponge-mixin/0.10.7+mixin.0.8.4/sponge-mixin-0.10.7+mixin.0.8.4.jar
  /home/nonetrix/.local/share/multimc/libraries/net/fabricmc/tiny-remapper/0.6.0/tiny-remapper-0.6.0.jar
  /home/nonetrix/.local/share/multimc/libraries/net/fabricmc/access-widener/2.0.1/access-widener-2.0.1.jar
  /home/nonetrix/.local/share/multimc/libraries/org/ow2/asm/asm/9.2/asm-9.2.jar
  /home/nonetrix/.local/share/multimc/libraries/org/ow2/asm/asm-analysis/9.2/asm-analysis-9.2.jar
  /home/nonetrix/.local/share/multimc/libraries/org/ow2/asm/asm-commons/9.2/asm-commons-9.2.jar
  /home/nonetrix/.local/share/multimc/libraries/org/ow2/asm/asm-tree/9.2/asm-tree-9.2.jar
  /home/nonetrix/.local/share/multimc/libraries/org/ow2/asm/asm-util/9.2/asm-util-9.2.jar
  /home/nonetrix/.local/share/multimc/libraries/net/fabricmc/fabric-loader/0.12.12/fabric-loader-0.12.12.jar
  /home/nonetrix/.local/share/multimc/libraries/com/mojang/minecraft/1.18.1/minecraft-1.18.1-client.jar

Native libraries:
  /home/nonetrix/.local/share/multimc/libraries/org/lwjgl/lwjgl-glfw/3.2.2/lwjgl-glfw-3.2.2-natives-linux.jar
  /home/nonetrix/.local/share/multimc/libraries/org/lwjgl/lwjgl-jemalloc/3.2.2/lwjgl-jemalloc-3.2.2-natives-linux.jar
  /home/nonetrix/.local/share/multimc/libraries/org/lwjgl/lwjgl-openal/3.2.2/lwjgl-openal-3.2.2-natives-linux.jar
  /home/nonetrix/.local/share/multimc/libraries/org/lwjgl/lwjgl-opengl/3.2.2/lwjgl-opengl-3.2.2-natives-linux.jar
  /home/nonetrix/.local/share/multimc/libraries/org/lwjgl/lwjgl-stb/3.2.2/lwjgl-stb-3.2.2-natives-linux.jar
  /home/nonetrix/.local/share/multimc/libraries/org/lwjgl/lwjgl-tinyfd/3.2.2/lwjgl-tinyfd-3.2.2-natives-linux.jar
  /home/nonetrix/.local/share/multimc/libraries/org/lwjgl/lwjgl/3.2.2/lwjgl-3.2.2-natives-linux.jar
  /home/nonetrix/.local/share/multimc/libraries/com/mojang/text2speech/1.11.3/text2speech-1.11.3-natives-linux.jar

Params:
  --username  --version MultiMC5 --gameDir /home/nonetrix/.local/share/multimc/instances/1.18.1/.minecraft --assetsDir /home/nonetrix/.local/share/multimc/assets --assetIndex 1.18 --uuid  --accessToken  --userType  --versionType release

Window size: 854 x 480

Java Arguments:
[-Xms512m, -Xmx1024m, -Duser.language=en]


Minecraft process ID: 27189


Using onesix launcher.

[20:45:53] [main/INFO]: Loading Minecraft 1.18.1 with Fabric Loader 0.12.12
[20:45:53] [main/INFO]: Fabric is preparing JARs on first launch, this may take a few seconds...
[20:45:57] [main/INFO]: Loading 3 mods:
	- fabricloader 0.12.12
	- java 17
	- minecraft 1.18.1
[20:45:57] [main/INFO]: SpongePowered MIXIN Subsystem Version=0.8.4 Source=file:/home/nonetrix/.local/share/multimc/libraries/net/fabricmc/sponge-mixin/0.10.7+mixin.0.8.4/sponge-mixin-0.10.7+mixin.0.8.4.jar Service=Knot/Fabric Env=CLIENT
[20:45:59] [Render thread/INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD'
[20:46:00] [Render thread/INFO]: Setting user: NonetrixWasTaken
[20:46:00] [Render thread/INFO]: Backend library: LWJGL version 3.2.2 build 10
---- Minecraft Crash Report ----
// Hi. I'm Minecraft, and I'm a crashaholic.

Time: 12/28/21, 8:46 PM
Description: Initializing game

java.lang.RuntimeException: GL_FRAMEBUFFER_UNSUPPORTED
	at net.minecraft.class_276.method_1239(class_276.java:175)
	at net.minecraft.class_6364.method_36802(class_6364.java:60)
	at net.minecraft.class_6364.<init>(class_6364.java:25)
	at net.minecraft.class_310.<init>(class_310.java:500)
	at net.minecraft.client.main.Main.main(Main.java:199)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:608)
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:77)
	at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:210)
	at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:245)
	at org.multimc.EntryPoint.listen(EntryPoint.java:143)
	at org.multimc.EntryPoint.main(EntryPoint.java:34)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Render thread
Stacktrace:
	at net.minecraft.class_276.method_1239(class_276.java:175)
	at net.minecraft.class_6364.method_36802(class_6364.java:60)
	at net.minecraft.class_6364.<init>(class_6364.java:25)
	at net.minecraft.class_310.<init>(class_310.java:500)

-- Initialization --
Details:
	Modules: 
Stacktrace:
	at net.minecraft.client.main.Main.main(Main.java:199)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:608)
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:77)
	at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:210)
	at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:245)
	at org.multimc.EntryPoint.listen(EntryPoint.java:143)
	at org.multimc.EntryPoint.main(EntryPoint.java:34)

-- System Details --
Details:
	Minecraft Version: 1.18.1
	Minecraft Version ID: 1.18.1
	Operating System: Linux (amd64) version 5.15.11-arch2-1
	Java Version: 17.0.1, N/A
	Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Oracle Corporation
	Memory: 601612536 bytes (573 MiB) / 1049624576 bytes (1001 MiB) up to 1073741824 bytes (1024 MiB)
	CPUs: 16
	Processor Vendor: AuthenticAMD
	Processor Name: AMD Ryzen 7 3700X 8-Core Processor
	Identifier: AuthenticAMD Family 23 Model 113 Stepping 0
	Microarchitecture: Zen 2
	Frequency (GHz): -0.00
	Number of physical packages: 1
	Number of physical CPUs: 8
	Number of logical CPUs: 16
	Graphics card #0 name: GP104 [GeForce GTX 1080]
	Graphics card #0 vendor: NVIDIA Corporation (0x10de)
	Graphics card #0 VRAM (MB): 288.00
	Graphics card #0 deviceId: 0x1b80
	Graphics card #0 versionInfo: unknown
	Virtual memory max (MB): 16053.83
	Virtual memory used (MB): 4717.88
	Swap memory total (MB): 0.00
	Swap memory used (MB): 0.00
	JVM Flags: 2 total; -Xms512m -Xmx1024m
	Launched Version: MultiMC5
	Backend library: LWJGL version 3.2.2 build 10
	Backend API: NVIDIA GeForce GTX 1080/PCIe/SSE2 GL version 3.2.0 NVIDIA 495.46, NVIDIA Corporation
	Window size: <not initialized>
	GL Caps: Using framebuffer using OpenGL 3.2
	GL debug messages: 
	Using VBOs: Yes
	Is Modded: Definitely; Client brand changed to 'fabric'
	Type: Client (map_client.txt)
	CPU: 16x AMD Ryzen 7 3700X 8-Core Processor
#@!@# Game crashed! Crash report saved to: #@!@# /home/nonetrix/.local/share/multimc/instances/1.18.1/.minecraft/crash-reports/crash-2021-12-28_20.46.01-client.txt
Process exited with code 255.
Clipboard copy at: 28 Dec 2021 20:47:53 -0600

crash on startup 1.19.4

minecraft ver:1.19.4
glfw : aur patched
error:
Description: Initializing game
java.lang.ExceptionInInitializerError
at org.lwjgl.glfw.GLFW.nglfwGetError(GLFW.java:1219)
at org.lwjgl.glfw.GLFW.glfwGetError(GLFW.java:1248)
at net.minecraft.class_1041.method_4492(class_1041.java:140)
at com.mojang.blaze3d.platform.GLX._initGlfw(GLX.java:59)
at com.mojang.blaze3d.systems.RenderSystem.initBackendSystem(RenderSystem.java:844)
at net.minecraft.class_310.(class_310.java:493)
at net.minecraft.client.main.Main.main(Main.java:198)
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:462)
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:88)
at org.prismlauncher.EntryPoint.listen(EntryPoint.java:126)
at org.prismlauncher.EntryPoint.main(EntryPoint.java:71)
Caused by: java.lang.NullPointerException: A required function is missing: glfwInitAllocator
at org.lwjgl.system.APIUtil.requiredFunctionMissing(APIUtil.java:129)
at org.lwjgl.system.APIUtil.apiGetFunctionAddress(APIUtil.java:122)
at org.lwjgl.glfw.GLFW$Functions.(GLFW.java:42)
... 13 more
A detailed walkthrough of the error, its code path and all known details is as follows:

-- Head --
Thread: Render thread
Stacktrace:
at org.lwjgl.glfw.GLFW.nglfwGetError(GLFW.java:1219)
at org.lwjgl.glfw.GLFW.glfwGetError(GLFW.java:1248)
at net.minecraft.class_1041.method_4492(class_1041.java:140)
at com.mojang.blaze3d.platform.GLX._initGlfw(GLX.java:59)
at com.mojang.blaze3d.systems.RenderSystem.initBackendSystem(RenderSystem.java:844)
at net.minecraft.class_310.(class_310.java:493)
-- Initialization --
Details:
Modules:
Stacktrace:
at net.minecraft.client.main.Main.main(Main.java:198)
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:462)
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:88)
at org.prismlauncher.EntryPoint.listen(EntryPoint.java:126)
at org.prismlauncher.EntryPoint.main(EntryPoint.java:71)``

no window on nvidia

using 1.19 branch both forge and fabric refuse show a window but i still get fan spin and high men usage suggesting the game is running it works without issue on the igpu but using nvx causes it to fail

Crash on startup with 1.19 only

Minecraft crashes on 1.19 when attempting to launch from multimc using native glfw libraries, an identical 1.18.2 instance (aside from game version) works normally.

Full crash log:

MultiMC version: 0.6.15-3244


Launched instance in online mode

authserver.mojang.com resolves to:
    [65.8.46.48, 65.8.46.62, 65.8.46.49, 65.8.46.45]

session.minecraft.net resolves to:
    [54.173.66.187, 52.7.153.255, 54.164.34.185]

textures.minecraft.net resolves to:
    [18.160.200.72, 18.160.200.51, 18.160.200.11, 18.160.200.107]

api.mojang.com resolves to:
    [13.226.22.116, 13.226.22.16, 13.226.22.37, 13.226.22.46]


Minecraft folder is:
/home/archy/.local/share/multimc/instances/1.19/.minecraft


Java path is:
/usr/lib64/jvm/java-18-openjdk/bin/java


Checking Java version...
Java is version 18.0.1.1, using 64-bit architecture, from N/A.


AMD FX(tm)-6300 Six-Core Processor
Advanced Micro Devices, Inc. [AMD/ATI] Baffin [Radeon RX 460/560D / Pro 450/455/460/555/555X/560/560X] (rev e5)

Subsystem: Tul Corporation / PowerColor Device 2385

Kernel driver in use: amdgpu

OpenGL version string: 4.6 (Compatibility Profile) Mesa 22.1.1

Main Class:
  net.fabricmc.loader.impl.launch.knot.KnotClient

Native path:
  /home/archy/.local/share/multimc/instances/1.19/natives

Traits:
traits XR:Initial
traits FirstThreadOnMacOS

Using system GLFW.

Libraries:
  /home/archy/.local/share/multimc/libraries/org/lwjgl/lwjgl-glfw/3.3.1/lwjgl-glfw-3.3.1.jar
  /home/archy/.local/share/multimc/libraries/org/lwjgl/lwjgl-jemalloc/3.3.1/lwjgl-jemalloc-3.3.1.jar
  /home/archy/.local/share/multimc/libraries/org/lwjgl/lwjgl-openal/3.3.1/lwjgl-openal-3.3.1.jar
  /home/archy/.local/share/multimc/libraries/org/lwjgl/lwjgl-opengl/3.3.1/lwjgl-opengl-3.3.1.jar
  /home/archy/.local/share/multimc/libraries/org/lwjgl/lwjgl-stb/3.3.1/lwjgl-stb-3.3.1.jar
  /home/archy/.local/share/multimc/libraries/org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1.jar
  /home/archy/.local/share/multimc/libraries/org/lwjgl/lwjgl/3.3.1/lwjgl-3.3.1.jar
  /home/archy/.local/share/multimc/libraries/com/mojang/logging/1.0.0/logging-1.0.0.jar
  /home/archy/.local/share/multimc/libraries/com/mojang/blocklist/1.0.10/blocklist-1.0.10.jar
  /home/archy/.local/share/multimc/libraries/com/mojang/patchy/2.2.10/patchy-2.2.10.jar
  /home/archy/.local/share/multimc/libraries/com/github/oshi/oshi-core/5.8.5/oshi-core-5.8.5.jar
  /home/archy/.local/share/multimc/libraries/net/java/dev/jna/jna/5.10.0/jna-5.10.0.jar
  /home/archy/.local/share/multimc/libraries/net/java/dev/jna/jna-platform/5.10.0/jna-platform-5.10.0.jar
  /home/archy/.local/share/multimc/libraries/org/slf4j/slf4j-api/1.8.0-beta4/slf4j-api-1.8.0-beta4.jar
  /home/archy/.local/share/multimc/libraries/org/apache/logging/log4j/log4j-slf4j18-impl/2.16.0/log4j-slf4j18-impl-2.16.0.jar
  /home/archy/.local/share/multimc/libraries/com/ibm/icu/icu4j/70.1/icu4j-70.1.jar
  /home/archy/.local/share/multimc/libraries/com/mojang/javabridge/1.2.24/javabridge-1.2.24.jar
  /home/archy/.local/share/multimc/libraries/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar
  /home/archy/.local/share/multimc/libraries/io/netty/netty-common/4.1.77.Final/netty-common-4.1.77.Final.jar
  /home/archy/.local/share/multimc/libraries/io/netty/netty-buffer/4.1.77.Final/netty-buffer-4.1.77.Final.jar
  /home/archy/.local/share/multimc/libraries/io/netty/netty-codec/4.1.77.Final/netty-codec-4.1.77.Final.jar
  /home/archy/.local/share/multimc/libraries/io/netty/netty-handler/4.1.77.Final/netty-handler-4.1.77.Final.jar
  /home/archy/.local/share/multimc/libraries/io/netty/netty-resolver/4.1.77.Final/netty-resolver-4.1.77.Final.jar
  /home/archy/.local/share/multimc/libraries/io/netty/netty-transport/4.1.77.Final/netty-transport-4.1.77.Final.jar
  /home/archy/.local/share/multimc/libraries/io/netty/netty-transport-native-unix-common/4.1.77.Final/netty-transport-native-unix-common-4.1.77.Final.jar
  /home/archy/.local/share/multimc/libraries/io/netty/netty-transport-classes-epoll/4.1.77.Final/netty-transport-classes-epoll-4.1.77.Final.jar
  /home/archy/.local/share/multimc/libraries/io/netty/netty-transport-native-epoll/4.1.77.Final/netty-transport-native-epoll-4.1.77.Final-linux-x86_64.jar
  /home/archy/.local/share/multimc/libraries/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar
  /home/archy/.local/share/multimc/libraries/com/google/guava/guava/31.0.1-jre/guava-31.0.1-jre.jar
  /home/archy/.local/share/multimc/libraries/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar
  /home/archy/.local/share/multimc/libraries/commons-io/commons-io/2.11.0/commons-io-2.11.0.jar
  /home/archy/.local/share/multimc/libraries/commons-codec/commons-codec/1.15/commons-codec-1.15.jar
  /home/archy/.local/share/multimc/libraries/com/mojang/brigadier/1.0.18/brigadier-1.0.18.jar
  /home/archy/.local/share/multimc/libraries/com/mojang/datafixerupper/5.0.28/datafixerupper-5.0.28.jar
  /home/archy/.local/share/multimc/libraries/com/google/code/gson/gson/2.8.9/gson-2.8.9.jar
  /home/archy/.local/share/multimc/libraries/com/mojang/authlib/3.5.41/authlib-3.5.41.jar
  /home/archy/.local/share/multimc/libraries/org/apache/commons/commons-compress/1.21/commons-compress-1.21.jar
  /home/archy/.local/share/multimc/libraries/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar
  /home/archy/.local/share/multimc/libraries/commons-logging/commons-logging/1.2/commons-logging-1.2.jar
  /home/archy/.local/share/multimc/libraries/org/apache/httpcomponents/httpcore/4.4.14/httpcore-4.4.14.jar
  /home/archy/.local/share/multimc/libraries/it/unimi/dsi/fastutil/8.5.6/fastutil-8.5.6.jar
  /home/archy/.local/share/multimc/libraries/org/apache/logging/log4j/log4j-api/2.16.0/log4j-api-2.16.0.jar
  /home/archy/.local/share/multimc/libraries/org/apache/logging/log4j/log4j-core/2.16.0/log4j-core-2.16.0.jar
  /home/archy/.local/share/multimc/libraries/com/mojang/text2speech/1.13.9/text2speech-1.13.9.jar
  /home/archy/.local/share/multimc/libraries/net/fabricmc/intermediary/1.19/intermediary-1.19.jar
  /home/archy/.local/share/multimc/libraries/net/fabricmc/tiny-mappings-parser/0.3.0+build.17/tiny-mappings-parser-0.3.0+build.17.jar
  /home/archy/.local/share/multimc/libraries/net/fabricmc/sponge-mixin/0.11.4+mixin.0.8.5/sponge-mixin-0.11.4+mixin.0.8.5.jar
  /home/archy/.local/share/multimc/libraries/net/fabricmc/tiny-remapper/0.8.2/tiny-remapper-0.8.2.jar
  /home/archy/.local/share/multimc/libraries/net/fabricmc/access-widener/2.1.0/access-widener-2.1.0.jar
  /home/archy/.local/share/multimc/libraries/org/ow2/asm/asm/9.3/asm-9.3.jar
  /home/archy/.local/share/multimc/libraries/org/ow2/asm/asm-analysis/9.3/asm-analysis-9.3.jar
  /home/archy/.local/share/multimc/libraries/org/ow2/asm/asm-commons/9.3/asm-commons-9.3.jar
  /home/archy/.local/share/multimc/libraries/org/ow2/asm/asm-tree/9.3/asm-tree-9.3.jar
  /home/archy/.local/share/multimc/libraries/org/ow2/asm/asm-util/9.3/asm-util-9.3.jar
  /home/archy/.local/share/multimc/libraries/net/fabricmc/fabric-loader/0.14.6/fabric-loader-0.14.6.jar
  /home/archy/.local/share/multimc/libraries/com/mojang/minecraft/1.19/minecraft-1.19-client.jar

Native libraries:
  /home/archy/.local/share/multimc/libraries/org/lwjgl/lwjgl-glfw/3.3.1/lwjgl-glfw-3.3.1-natives-linux.jar
  /home/archy/.local/share/multimc/libraries/org/lwjgl/lwjgl-jemalloc/3.3.1/lwjgl-jemalloc-3.3.1-natives-linux.jar
  /home/archy/.local/share/multimc/libraries/org/lwjgl/lwjgl-openal/3.3.1/lwjgl-openal-3.3.1-natives-linux.jar
  /home/archy/.local/share/multimc/libraries/org/lwjgl/lwjgl-opengl/3.3.1/lwjgl-opengl-3.3.1-natives-linux.jar
  /home/archy/.local/share/multimc/libraries/org/lwjgl/lwjgl-stb/3.3.1/lwjgl-stb-3.3.1-natives-linux.jar
  /home/archy/.local/share/multimc/libraries/org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1-natives-linux.jar
  /home/archy/.local/share/multimc/libraries/org/lwjgl/lwjgl/3.3.1/lwjgl-3.3.1-natives-linux.jar

Mods:
  [❌] c2me-fabric-mc1.19-0.2.0+alpha.7.56.jar (disabled)
  [✔️] iris-mc1.19-1.2.5
  [✔️] krypton-0.2.0
  [✔️] lithium-fabric-mc1.19-0.8.0-SNAPSHOT
  [✔️] sodium-fabric-mc1.19-0.4.2+build.16
  [✔️] starlight-1.1.0+fabric.eb9df34
  [❌] vmp-fabric-mc1.19-0.2.0+beta.3.25-all.jar (disabled)

Params:
  --username  --version MultiMC5 --gameDir /home/archy/.local/share/multimc/instances/1.19/.minecraft --assetsDir /home/archy/.local/share/multimc/assets --assetIndex 1.19 --uuid  --accessToken  --userType  --versionType release

Window size: 854 x 480

Java Arguments:
[-Xms1512m, -Xmx4096m, -Duser.language=en]


Wrapper command is:
gamemoderun


Minecraft process ID: 3065


Using onesix launcher.

[20:14:32] [main/INFO]: Loading Minecraft 1.19 with Fabric Loader 0.14.6
[20:14:33] [main/WARN]: Warnings were found!
 - Mod 'Fabric Rendering Fluids (v1)' (fabric-rendering-fluids-v1) 3.0.4+9ff28f4057 recommends any version of fabric-textures-v0, which is missing!
	 - You should install any version of fabric-textures-v0 for the optimal experience.
[20:14:33] [main/INFO]: Loading 16 mods:
	- com_velocitypowered_velocity-native 3.1.2-SNAPSHOT via krypton
	- fabric-api-base 0.4.8+e62f51a357 via sodium
	- fabric-key-binding-api-v1 1.0.11+54e5b2ecd2 via iris
	- fabric-rendering-data-attachment-v1 0.3.11+9ff28f4057 via sodium
	- fabric-rendering-fluids-v1 3.0.4+9ff28f4057 via sodium
	- fabric-resource-loader-v0 0.5.2+9e7660c657 via sodium
	- fabricloader 0.14.6
	- iris 1.2.5
	- java 18
	- krypton 0.2.0
	- lithium 0.8.0-SNAPSHOT
	- minecraft 1.19
	- org_anarres_jcpp 1.4.14 via iris
	- org_joml_joml 1.10.4 via sodium
	- sodium 0.4.2+build.16
	- starlight 1.1.0+fabric.eb9df34
[20:14:33] [main/INFO]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=file:/home/archy/.local/share/multimc/libraries/net/fabricmc/sponge-mixin/0.11.4+mixin.0.8.5/sponge-mixin-0.11.4+mixin.0.8.5.jar Service=Knot/Fabric Env=CLIENT
[20:14:33] [main/INFO]: Compatibility level set to JAVA_16
[20:14:33] [main/INFO]: Compatibility level set to JAVA_17
[20:14:33] [main/INFO]: Loaded configuration file for Lithium: 94 options available, 1 override(s) found
[20:14:33] [main/INFO]: Loaded configuration file for Sodium: 29 options available, 1 override(s) found
[20:14:34] [main/WARN]: Force-disabling mixin 'world.player_chunk_tick.ThreadedAnvilChunkStorageMixin' as rule 'mixin.world.player_chunk_tick' (added by mods [krypton]) disables it and children
[20:14:34] [main/WARN]: Force-disabling mixin 'features.sky.MixinWorldRenderer' as rule 'mixin.features.sky' (added by mods [iris]) disables it and children
[20:14:35] [main/WARN]: Configuration conflict: there is more than one oshi.properties file on the classpath
[20:14:35] [main/WARN]: Configuration conflict: there is more than one oshi.architecture.properties file on the classpath
[20:14:39] [main/INFO]: Building optimized datafixer
[20:14:43] [Render thread/WARN]: Method overwrite conflict for method_22920 in sodium.mixins.json:features.buffer_builder.intrinsics.MixinBufferBuilder from mod sodium, previously written by net.coderbot.iris.mixin.vertices.block_rendering.MixinBufferBuilder_SeparateAo. Skipping method.
[20:14:43] [Render thread/INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD'
[20:14:45] [Render thread/INFO]: Setting user: HashCollision
[20:14:45] [Render thread/INFO]: Compression will use libdeflate (Linux x86_64), encryption will use OpenSSL 1.1.x (Linux x86_64)
[20:14:45] [Render thread/INFO]: Krypton is now accelerating your Minecraft client's networking stack 🚀
[20:14:45] [Render thread/INFO]: Note that Krypton is most effective on servers, not the client.
[20:14:45] [Render thread/INFO]: Backend library: LWJGL version 3.3.1 SNAPSHOT
[20:14:46] [Render thread/WARN]: Configuration conflict: there is more than one oshi.architecture.properties file on the classpath
---- Minecraft Crash Report ----
// I blame Dinnerbone.

Time: 6/8/22, 8:14 PM
Description: Initializing game

java.lang.ExceptionInInitializerError
	at org.lwjgl.glfw.GLFW.nglfwGetError(GLFW.java:1219)
	at org.lwjgl.glfw.GLFW.glfwGetError(GLFW.java:1248)
	at net.minecraft.class_1041.method_4492(class_1041.java:135)
	at com.mojang.blaze3d.platform.GLX._initGlfw(GLX.java:58)
	at com.mojang.blaze3d.systems.RenderSystem.initBackendSystem(RenderSystem.java:826)
	at net.minecraft.class_310.<init>(class_310.java:465)
	at net.minecraft.client.main.Main.main(Main.java:198)
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:460)
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
	at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:577)
	at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:210)
	at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:245)
	at org.multimc.EntryPoint.listen(EntryPoint.java:143)
	at org.multimc.EntryPoint.main(EntryPoint.java:34)
Caused by: java.lang.NullPointerException: A required function is missing: glfwInitAllocator
	at org.lwjgl.system.APIUtil.requiredFunctionMissing(APIUtil.java:129)
	at org.lwjgl.system.APIUtil.apiGetFunctionAddress(APIUtil.java:122)
	at org.lwjgl.glfw.GLFW$Functions.<clinit>(GLFW.java:42)
	... 16 more


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Render thread
Stacktrace:
	at org.lwjgl.glfw.GLFW.nglfwGetError(GLFW.java:1219)
	at org.lwjgl.glfw.GLFW.glfwGetError(GLFW.java:1248)
	at net.minecraft.class_1041.method_4492(class_1041.java:135)
	at com.mojang.blaze3d.platform.GLX._initGlfw(GLX.java:58)
	at com.mojang.blaze3d.systems.RenderSystem.initBackendSystem(RenderSystem.java:826)
	at net.minecraft.class_310.<init>(class_310.java:465)

-- Initialization --
Details:
	Modules: 
Stacktrace:
	at net.minecraft.client.main.Main.main(Main.java:198)
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:460)
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
	at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:577)
	at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:210)
	at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:245)
	at org.multimc.EntryPoint.listen(EntryPoint.java:143)
	at org.multimc.EntryPoint.main(EntryPoint.java:34)

-- System Details --
Details:
	Minecraft Version: 1.19
	Minecraft Version ID: 1.19
	Operating System: Linux (amd64) version 5.18.2-zen1-1-zen
	Java Version: 18.0.1.1, N/A
	Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Oracle Corporation
	Memory: 1870659584 bytes (1784 MiB) / 2325741568 bytes (2218 MiB) up to 4294967296 bytes (4096 MiB)
	CPUs: 6
	Processor Vendor: AuthenticAMD
	Processor Name: AMD FX(tm)-6300 Six-Core Processor
	Identifier: AuthenticAMD Family 21 Model 2 Stepping 0
	Microarchitecture: unknown
	Frequency (GHz): -0.00
	Number of physical packages: 1
	Number of physical CPUs: 6
	Number of logical CPUs: 6
	Graphics card #0 name: Baffin [Radeon RX 460/560D / Pro 450/455/460/555/555X/560/560X]
	Graphics card #0 vendor: Advanced Micro Devices, Inc. [AMD/ATI] (0x1002)
	Graphics card #0 VRAM (MB): 258.00
	Graphics card #0 deviceId: 0x67ef
	Graphics card #0 versionInfo: unknown
	Virtual memory max (MB): 8046.76
	Virtual memory used (MB): 2666.73
	Swap memory total (MB): 4096.00
	Swap memory used (MB): 0.00
	JVM Flags: 2 total; -Xms1512m -Xmx4096m
	Launched Version: MultiMC5
	Backend library: LWJGL version 3.3.1 SNAPSHOT
	Backend API: Unknown
	Window size: <not initialized>
	GL Caps: Using framebuffer using OpenGL 3.2
	GL debug messages: <disabled>
	Using VBOs: Yes
	Is Modded: Definitely; Client brand changed to 'fabric'
	Type: Client (map_client.txt)
	CPU: <unknown>
#@!@# Game crashed! Crash report saved to: #@!@# /home/archy/.local/share/multimc/instances/1.19/.minecraft/crash-reports/crash-2022-06-08_20.14.46-client.txt
Process exited with code 255.
Clipboard copy at: 08 Jun 2022 20:16:43 -0400

PLEASE TEST: one-nineteen branch with 1.18 and older

If you need libdecor, pull in #29

I've just realized this should work. libdecoration branch is an unstable git snapshot of GLFW, and that seems to work reasonably well with <1.18.

If this works, one-nineteen (which is also an unstable git snapshot) and main (1.18.x & older) could be merged into one version.

Using an unstable git snapshot was also the reason on separating libdecor support on it's own branch, which may be merged to the main branch if nothing goes wrong.

Fullscreen on the wrong screen

When setting Minecraft to fullscreen, it seems to not pick the screen marked as primary by Gnome. It picks the "first" screen. That is, for me it picks DP-0 (my secondary screen) instead of DP-2 (my primary screen). This is entirely down to how the physical cables are arranged.

I don't supposes I can tell it to use a different screen via environment variable or java flag?

Which snapshot is each branch based on?

I spent a few hours trying to figure out the history of this project and was very much frustrated. The patches don't work on the current glfw snapshot anymore, and I tried a few snapshots around August 2022 to no avail. Which snapshot is each branch, especially one-nineteen, based on?

Created a Fedora repository

Hey :)!

I created a Fedora repository for this project! It provides packages for Fedora 33, 34 & rawhide. As opposed to the OpenSUSE package, it does not conflict with glfw, it overrides it instead (using Versions & Epochs) to avoid confusion with users and enable simple installation by just doing an upgrade (it does have downsides though, like a harder uninstallation). It also does not use the same specfile, instead, in the same way, I took Fedora's official specfile instead (and I will try to keep track of updates). It also needs the different path for the JVM arguments, like OpenSUSE. I explained everything for users in the repository web page.

The COPR repository: https://copr.fedorainfracloud.org/coprs/lyessaadi/minecraft-wayland-glfw/

(COPR is Fedora's AUR/PPAs)

I also found some weird graphical glitches with GNOME (when resizing windows, for example). I'll try soon with sway as I also use it frequently.

Thank you for this project :)!

How to force using native libs?

I tried many launchers, the one I used currently stopped working on Arch, so I tried to launch the game manually, succeeded, but nothing more.

I tried to point JVM to the /usr/lib/libglfw.so with -Dorg.lwjgl.librarypath=/usr/lib but even if I put absolute nonsense in there, nothing is affected.
Is there a different parameter to be used with 1.19.2+?

Scrollwheel skips every other hotbar item

using GNOME Wayland on the 1.19 libdecor branch (issue occurs on MC 1.18 too)

Tested on a superflat world using PrismLauncher, in Xwayland/X11 using the scrollbar to change hotbar items correctly switches between every single hotbar item
(1 -> 2 -> 3 -> 4 -> 5 -> 6 etc.)
while on the wayland branch it skips every other hotbar item:
(1 -> 3 -> 6 -> 9 -> 2 -> 4 -> 6 -> 8 -> 1 -> 3 etc.)

Questions about inclusion in other packages

Hey, I’m the maintainer of the PolyMC Flatpak. PolyMC is a fork of multimc that aims to implement features the multimc maintainer didn’t want to include and to allow repackaging and system wide installs

im working on including it in the flatpak to support wayland properly and I have a few questions:

  1. are you fine with me including your patches there?
  2. does libdecor branch work with KDE and other DE’s? I need to support gnome but also others. Don’t care if it’s native decorations. Currently I’m using libdecor branch

Disclaimer about the Fedora installation

The process of:

  1. Adding the copr repository
  2. Installing the glfw binary
  3. Setting MultiMC to use the system binary

Is not enough in practice, at least for me. Instead, I have to also include:
-Dorg.lwjgl.glfw.libname=/usr/lib64/libglfw.so.3.3 (Maybe libglfw.so.* would work too)

Otherwise the client cannot simply find the library. It would be greatly appreciated for anyone else having trouble to add this as a disclaimer for the Fedora option. Maybe something along the lines of:
"It may be necessary to include the following JVM argument -Dorg.lwjgl.glfw.libname=/usr/lib64/libglfw.so.* if MultiMC cannot find the library path."

I do not know if this issue can resolve itself by simply restarting, I haven't tested this specific issue beyond this. Also not sure if this is merely a problem with Fedora 35 specifically, for all i know, MultiMC could be simply checking /usr/lib/ as opposed to /usr/lib64/ where the binary is installed to, and if its just installed to /usr/lib/ on older versions of Fedora.

minecraft 1.19.2 not launching

---- Minecraft Crash Report ----
// Why is it breaking :(
Time: 2022-12-14 02:15:35
Description: Initializing game
java.lang.ExceptionInInitializerError
	at org.lwjgl.glfw.GLFW.nglfwGetError(GLFW.java:1219)
	at org.lwjgl.glfw.GLFW.glfwGetError(GLFW.java:1248)
	at dzu.a(SourceFile:140)
	at com.mojang.blaze3d.platform.GLX._initGlfw(SourceFile:59)
	at com.mojang.blaze3d.systems.RenderSystem.initBackendSystem(SourceFile:826)
	at efu.<init>(SourceFile:481)
	at net.minecraft.client.main.Main.a(SourceFile:205)
	at net.minecraft.client.main.Main.main(SourceFile:51)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:578)
	at org.prismlauncher.impl.OneSixLauncher.invokeMain(OneSixLauncher.java:104)
	at org.prismlauncher.impl.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:176)
	at org.prismlauncher.impl.OneSixLauncher.launch(OneSixLauncher.java:186)
	at org.prismlauncher.EntryPoint.listen(EntryPoint.java:144)
	at org.prismlauncher.EntryPoint.main(EntryPoint.java:74)
Caused by: java.lang.NullPointerException: A required function is missing: glfwInitAllocator
	at org.lwjgl.system.APIUtil.requiredFunctionMissing(APIUtil.java:129)
	at org.lwjgl.system.APIUtil.apiGetFunctionAddress(APIUtil.java:122)
	at org.lwjgl.glfw.GLFW$Functions.<clinit>(GLFW.java:42)
	... 15 more
A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
-- Head --
Thread: Render thread
Stacktrace:
	at org.lwjgl.glfw.GLFW.nglfwGetError(GLFW.java:1219)
	at org.lwjgl.glfw.GLFW.glfwGetError(GLFW.java:1248)
	at dzu.a(SourceFile:140)
	at com.mojang.blaze3d.platform.GLX._initGlfw(SourceFile:59)
	at com.mojang.blaze3d.systems.RenderSystem.initBackendSystem(SourceFile:826)
	at efu.<init>(SourceFile:481)
-- Initialization --
Details:
	Modules: 
Stacktrace:
	at net.minecraft.client.main.Main.a(SourceFile:205)
	at net.minecraft.client.main.Main.main(SourceFile:51)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:578)
	at org.prismlauncher.impl.OneSixLauncher.invokeMain(OneSixLauncher.java:104)
	at org.prismlauncher.impl.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:176)
	at org.prismlauncher.impl.OneSixLauncher.launch(OneSixLauncher.java:186)
	at org.prismlauncher.EntryPoint.listen(EntryPoint.java:144)
	at org.prismlauncher.EntryPoint.main(EntryPoint.java:74)
-- System Details --
Details:
	Minecraft Version: 1.19.2
	Minecraft Version ID: 1.19.2
	Operating System: Linux (amd64) version 6.0.11-zen1-1.1-zen
	Java Version: 19.0.1, N/A
	Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Oracle Corporation
	Memory: 938964688 bytes (895 MiB) / 2487222272 bytes (2372 MiB) up to 4294967296 bytes (4096 MiB)
	CPUs: 16
	Processor Vendor: AuthenticAMD
	Processor Name: AMD Ryzen 7 5800H with Radeon Graphics
	Identifier: AuthenticAMD Family 25 Model 80 Stepping 0
	Microarchitecture: Zen 3
	Frequency (GHz): -0.00
	Number of physical packages: 1
	Number of physical CPUs: 8
	Number of logical CPUs: 16
	Graphics card #0 name: Cezanne [Radeon Vega Series / Radeon Vega Mobile Series]
	Graphics card #0 vendor: Advanced Micro Devices, Inc. [AMD/ATI] (0x1002)
	Graphics card #0 VRAM (MB): 258.00
	Graphics card #0 deviceId: 0x1638
	Graphics card #0 versionInfo: unknown
	Virtual memory max (MB): 35526.46
	Virtual memory used (MB): 7802.58
	Swap memory total (MB): 28606.00
	Swap memory used (MB): 10.03
	JVM Flags: 2 total; -Xms512m -Xmx4096m
	Launched Version: 1.19.2
	Backend library: LWJGL version 3.3.1 build 7
	Backend API: Unknown
	Window size: <not initialized>
	GL Caps: Using framebuffer using OpenGL 3.2
	GL debug messages: <disabled>
	Using VBOs: Yes
	Is Modded: Probably not. Client jar signature and brand is untouched
	Type: Client (map_client.txt)
	CPU: <unknown>

Rebase patches on latest -git

GLFW recently added glfw/glfw@fbdb53b, and it seems to break these patches; applying 0003-Don-t-crash-on-calls-to-focus-or-icon.patch results in patching failures.

if I get the time, and nobody's beat me to it, I'll rebase them myself.

OpenSUSE Support

Here is an OBS repo with patched libglfw3-wayland for OpenSUSE (currently only for Tumbleweed edition).
https://build.opensuse.org/package/show/home:SkyNetMkII/glfw-mc (It's not my repo, but I know the maintainer)

Installation

Option 1: Install with OPI tool

I highly recommend to use this CLI tool similar to yay or paru in Arch Linux.

  1. To install it you need to enable the 3rd party Packman repo via YaST or terminal.
YaST

1
2
3
4

Terminal
 sudo zypper ar -cf https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/ packman
  1. Then run:

     sudo zypper in opi
     opi libglfw3-wayland
    

    In OPI you should choose libglfw3-wayland package (not -debuginfo), then choose home:SkyNetMkII option.

  2. Profit:
    Enjoy the patched package

Option 2: Download directly from OBS

Download and install RPM package manually. This variant doesn't provide any auto updates via Zypper.
https://download.opensuse.org/repositories/home:/SkyNetMkII/openSUSE_Tumbleweed/x86_64/

Libdecoration patch status

I've been getting these patches to run in the Minecraft Flatpak, which seems to work reasonably well, Minecraft is actually able to run in Wayland natively within Flatpak. The 4 patches in this repo all work.

I'm wondering if the AUR package can build with libdecoration against GLFW 3.3.4? For me git am usually says things like this:

can't find file to patch at input line 123
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|
|From 3c90e95971b79c43553beb11d1221a65b25fb846 Mon Sep 17 00:00:00 2001
|From: Christian Rauch <[email protected]>
|Date: Mon, 11 May 2020 23:06:32 +0100
|Subject: [PATCH 5/9] CI: change to 'focal'
|
|---
| .travis.yml | 8 ++++----
| 1 file changed, 4 insertions(+), 4 deletions(-)
|
|diff --git a/.travis.yml b/.travis.yml
|index ff67562928..9f51abbe73 100644
|--- a/.travis.yml
|+++ b/.travis.yml
--------------------------

It might just be a matter of getting some dependency into the Flatpak, I mostly wanted to sanity check before reporting this behaviour to glfw/glfw#1693.

Thank you for your work gathering these patches and documenting some steps! I am hopeful that adding it to the Flatpak will help resolve any issues, so GLFW can get mainlined Minecraft Wayland support.

Update: it seems if I remove parts 5/9 and 6/9 from the .patch git am is happy... but it still doesn't compile.

The patch depends on libdecoration itself, which of course makes sense, but it unfortunately doesn't seem to have alot of distro provided packages yet. Maybe there's one in the AUR.

Another update: I seem to be able to build with the libdecoration patch alone, need to test if it actually works.

Merge one-nineteen to main and update libdecoration

Hello there,
currently, installing with the AUR (cloning the repo) is broken as 1.19 crashes with the glfwInitAllocator issue specified in #25.
I'm asking if it'd be possible to merge the one-nineteen branch with main so that the patches for the latest game versions are available by default.

Additionally, the libdecoration branch is also out of date, and eg. on GNOME, Minecraft with one-nineteen is unusable because there's a small white square that covers part of the screen, plus the window rendering is offset by the height of the top bar - all things that used to work on previous Minecraft version with the libdecoration branch.

I can look into it myself and make a pull request if you're busy or uninterested, although admittedly i have never worked on GLFW so I can't promise anything on the outcome.

Thanks!

Fix >=1.19 by building glfw from git

You have to build glfw from git and include the two patches:
0003-Don-t-crash-on-calls-to-focus-or-icon.patch
0007-Platform-Prefer-Wayland-over-X11.patch

I did it for fedora on: https://copr.fedorainfracloud.org/coprs/uriesk/minecraft-wayland-glfw-git/

And the checkbox to use system glfw does not work in current versions, so it's best to just recommend the argument -Dorg.lwjgl.glfw.libname=/usr/lib64/libglfw.so.3 for all launchers, because that always works.

Unable to start minecraft.

[11:46:23] [Render thread/INFO]: Setting user: FenRave
[11:46:23] [Render thread/INFO]: [STDERR]: Failed to start Minecraft:
[11:46:23] [Render thread/INFO]: [STDERR]: java.lang.reflect.InvocationTargetException
[11:46:23] [Render thread/INFO]: [STDERR]: 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[11:46:23] [Render thread/INFO]: [STDERR]: 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
[11:46:23] [Render thread/INFO]: [STDERR]: 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[11:46:23] [Render thread/INFO]: [STDERR]: 	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
[11:46:23] [Render thread/INFO]: [STDERR]: 	at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:210)
[11:46:23] [Render thread/INFO]: [STDERR]: 	at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:245)
[11:46:23] [Render thread/INFO]: [STDERR]: 	at org.multimc.EntryPoint.listen(EntryPoint.java:143)
[11:46:23] [Render thread/INFO]: [STDERR]: 	at org.multimc.EntryPoint.main(EntryPoint.java:34)
[11:46:23] [Render thread/INFO]: [STDERR]: Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.lwjgl.glfw.GLFW
[11:46:23] [Render thread/INFO]: [STDERR]: 	at com.mojang.blaze3d.platform.GLX.getOpenGLVersionString(SourceFile:35)
[11:46:23] [Render thread/INFO]: [STDERR]: 	at com.mojang.blaze3d.systems.RenderSystem.getApiDescription(SourceFile:770)
[11:46:23] [Render thread/INFO]: [STDERR]: 	at ac.a(SourceFile:65)
[11:46:23] [Render thread/INFO]: [STDERR]: 	at dvp.a(SourceFile:2418)
[11:46:23] [Render thread/INFO]: [STDERR]: 	at dvp.a(SourceFile:2412)
[11:46:23] [Render thread/INFO]: [STDERR]: 	at net.minecraft.client.main.Main.main(SourceFile:187)
[11:46:23] [Render thread/INFO]: [STDERR]: 	... 8 more
[11:46:23] [Render thread/INFO]: [STDOUT]: Exiting with -1

I'm clueless on how to get past this issue. Seems like the patched GLFW version doesn't initialize. Might try building it myself to see if its an issue with the rpm package.

fcitx5 doesn't work

fcitx5 is a Input Method Framework for non English users. I can't input Chinese if Use system installation of GLFW is enabled.

And my system is Arch with sway compositor.

Actions with modifier keys cause a second input

Under Wayland, various actions that require the use of modifier keys (such as Ctrl) seem to cause a secondary input event.

A trivial example is attempting to select all text in the chat. Hitting ctrl+a will replace all text with a single a character. The likely cause of this is that upon all text being selected, another a event gets triggered, which overwrites everything.

Looking at tests/events from glfw, there are no differences between X11/wayland, which is odd.

Gentoo tutorial

While I'm doing this on Gentoo right now, I figured I'd pass by a tutorial.

Portage offers a clean way to include patches into ebuilds (which is essentially the same as PKGBUILDs in Arch). We want to copy these into /etc/portage/patches/${category}/${package}. Make sure portage has read access to these files, at the very least.

We are lucky the ebuild for glfw injects patches without having to do anything else. This is a convention most packages follow.

Before you begin, make sure the USE flag for glfw includes wayland-only, as otherwise you'd be running XWayland. Yikes. Do this in your preferred manner, I suggest adding media-libs/glfw wayland-only to /etc/portage/package.use/minecraft.use.

The next step is trivial: copy the files from this repository into the directory you created, and rebuild.

mkdir -p /etc/portage/patches/media-libs/glfw
git clone https://github.com/Admicos/minecraft-wayland.git /etc/portage/patches/media-libs/glfw
emerge -1 glfw

Done :)

Note: Minecraft 1.17 and above require Java 16, which requires an overlay in Gentoo, since officially Gentoo is still stuck at Java8 for some weird reason.

I added 2xsaiko with layman -a 2xsaiko and installed it with emerge openjdk:16

aarch64-linux support?

I'm trying to get Minecraft working on aarch64-linux, and this is obviously part of that.
I'm using the Freedreno VK backend along with Zink, on Minecraft 1.19.2 on NixOS with Sway (albeit this is probably not relevant) with the GLFW revision and patches specified in bdc3c0d.

crash-2022-08-29_16.49.31-client.txt

The error message is very unhelpful, and I'm wondering if anyone has any idea what it could mean.
It seems like I'll have to add some printfs to GLFW.

Is there perhaps some way to get Minecraft to emit more information, or?

Thank you.

Using the key combination Ctrl+F in JEI's search inputs F in the search bar

Normally using a key combination just runs the function it is set to, but for some reason with this GLFW fork, it ends up being selected, and then whichever key isn't a modifier get passed through to the search bar/set function.

edit: This seems to actually happen even if the keybinding is changed to just 'F'. I'm so confused by this.

This occurs in both main and libdecoration branches.
Also, I'm using Arch and Sway

Guix tutorial

Hey!

Thanks so much for your effort, it's proved to be the only way to run this damned game on wayland with reasonable performance.

I'm on guix, and I built glfw from both branches, with libdecor giving me the results I needed

here is how I got that done

(define-module (gl)
  #:use-module (gnu packages kde-frameworks) ; extra-cmake-modules
  #:use-module (gnu packages xdisorg) ; xkbcommon
  #:use-module (gnu packages gl)
  ;; ^ for > 3.3.4 + glfw-wayland
  #:use-module (gnu packages glib)  ; for dbus
  #:use-module (gnu packages cmake) ; for cmake
  #:use-module (gnu packages gtk)   ; for cairo
  ;; ^ for libdecor
  #:use-module (gnu packages)
  #:use-module (gnu packages autotools)
  #:use-module (gnu packages bison)
  #:use-module (gnu packages compression)
  #:use-module (gnu packages documentation)
  #:use-module (gnu packages elf)
  #:use-module (gnu packages flex)
  #:use-module (gnu packages fontutils)
  #:use-module (gnu packages freedesktop)
  #:use-module (gnu packages gettext)
  #:use-module (gnu packages guile)
  #:use-module (gnu packages image)
  #:use-module (gnu packages linux)
  #:use-module (gnu packages llvm)
  #:use-module (gnu packages mono)
  #:use-module (gnu packages pkg-config)
  #:use-module (gnu packages python)
  #:use-module (gnu packages python-xyz)
  #:use-module (gnu packages tls)
  #:use-module (gnu packages video)
  #:use-module (gnu packages vulkan)
  #:use-module (gnu packages xdisorg)
  #:use-module (gnu packages xml)
  #:use-module (gnu packages xorg)
  #:use-module (guix download)
  #:use-module (guix git-download)
  #:use-module (guix hg-download)
  #:use-module (guix build-system gnu)
  #:use-module (guix build-system cmake)
  #:use-module (guix build-system meson)
  #:use-module (guix build-system waf)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix packages)
  #:use-module (guix utils)
  #:use-module (ice-9 match)
  #:use-module ((srfi srfi-1) #:hide (zip)))

;;; guix download https://github.com/glfw/glfw/archive/87d5646f5d2bad0562744501633bf8105f59c193.tar.gz
;;
;;    /gnu/store/n3jxq8sp3svskc649b3mcdkq7x4rrx9n-87d5646f5d2bad0562744501633bf8105f59c193.tar.gz
;;    191ayzm3vnnwwwzk6gzrwcxr60n490cv4nvzik9i1483zc69k33v

;;  '/var/log/guix/drvs/d3/hjz8nq1s8a0hw8sv7gx3ry1qrbvviy-libdecor-0.1.0.drv.gz'

(define-public libdecor
  (package
    (name "libdecor")
    (version "0.1.0")
    (source (origin
              (method git-fetch)
              (uri (git-reference
                    (url "https://gitlab.gnome.org/jadahl/libdecor.git")
                    (recursive? #t)
                    (commit version)))
              (file-name (git-file-name name version))
              (sha256
               (base32
                ;; cd /tmp && rm -rf libdecor && git clone https://gitlab.gnome.org/jadahl/libdecor.git --recursive && cd libdecor && git checkout 0.1.0 && guix hash -rx .
                "0qdg3r7k086wzszr969s0ljlqdvfqm31zpl8p5h397bw076zr6p2"))))
    (build-system meson-build-system)
    (native-inputs
     `(("wayland-client" ,wayland)
       ("wayland-protocols" ,wayland-protocols)
       ("dbus" ,dbus)
       ("pkg-config" ,pkg-config)
       ("cmake" ,cmake)
       ("cairo" ,cairo)
       ("pango" ,pango)
       ;; EGL
       ("libgl1-mesa" ,mesa) ;; for libEGL.so 
       ("egl" ,egl-wayland)
       ("xkbcommon" ,libxkbcommon)
        ))
    (home-page "https://gitlab.gnome.org/jadahl/libdecor.git")
    (synopsis "TODO")
    (description "TODO")
    (license license:expat)))

(define-public glfw
  (package
    (name "glfw")
    (version "3.4.0")
    (source (origin
              (method url-fetch)
              (uri (string-append "https://github.com/glfw/glfw"
                                  ;; "/releases/download/" version "/glfw-" version ".zip" ;; with version
                                  "/archive/" "87d5646f5d2bad0562744501633bf8105f59c193" ".tar.gz" ;; with commit
                                  ))
              (sha256
               (base32
                ;;"1kcrpl4d6b6h23ib5j9q670d9w3knd07whgbanbmwwhbcqnc9lmv" ;; 3.3.4
                ;;"1097l54cczlg0w9xcgpz9f2wyis58544mv6l28v9y2jcsh2p6ls5" ;; 3.3.6
                "191ayzm3vnnwwwzk6gzrwcxr60n490cv4nvzik9i1483zc69k33v" ;; 3.4.0 approximation
                ))
            (patches (search-patches
                      "0001-Wayland-Set-O_NONBLOCK-on-repeat-timerfd.patch"
                      "0002-Wayland-Continue-poll-if-timerfd-can-t-be-read.patch"
                      "0003-Don-t-crash-on-calls-to-focus-or-icon.patch"
                      "0004-wayland-fix-broken-opengl-screenshots-on-mutter.patch"
                      "0005-Add-warning-about-being-an-unofficial-patch.patch"
                      ;; 0006->0009 are libdecoration
                      "0006-Don-t-crash-getting-scancode-name.patch"
                      "0007-libdecor-proper-decorations-with-title-and-window-bu.patch"
                      "0008-Add-libdecoration-marker-to-stderr-warning.patch"
                      "0009-Wayland-Fix-cursor-offset-when-shape-changes.patch"
                      ))))
    (build-system cmake-build-system)
    (arguments
     '(#:tests? #f ;; no test target
                #:configure-flags
                '("-DBUILD_SHARED_LIBS=ON"
                  "-DGLFW_USE_WAYLAND=ON"
                  "-DGLFW_USE_LIBDECOR=ON" ;; libdecoration
                  )))
    (native-inputs
     (list doxygen unzip))
    (propagated-inputs
     (list mesa ;included in public headers
           ;; These are in 'Requires.private' of 'glfw3.pc'.
           ;;openjdk
           libx11
           libxrandr
           libxi
           libxinerama
           libxcursor
           libxxf86vm
           ;; 3.3.6
           extra-cmake-modules
           wayland
           wayland-protocols
           pkg-config
           libxkbcommon
           libdecor
           ))
    (home-page "https://www.glfw.org")
    (synopsis "OpenGL application development library")
    (description
     "GLFW is a library for OpenGL, OpenGL ES and Vulkan development for
desktop computers.  It provides a simple API for creating windows, contexts
and surfaces, receiving input and events.")
    (license license:zlib)))

glfw

dropping this into the repo as glfw.scm, then running guix package --install-from-file=./glfw.scm will derive both and yield an installation of glfw.

$ tree /gnu/store/ryrz64w4wjj8l1i00qa1ivjdxvkkliwl-glfw-3.4.0 -I doc
;;   /gnu/store/ryrz64w4wjj8l1i00qa1ivjdxvkkliwl-glfw-3.4.0
;;   ├── include
;;   │   └── GLFW
;;   │       ├── glfw3.h
;;   │       └── glfw3native.h
;;   ├── lib
;;   │   ├── cmake
;;   │   │   └── glfw3
;;   │   │       ├── glfw3Config.cmake
;;   │   │       ├── glfw3ConfigVersion.cmake
;;   │   │       ├── glfw3Targets.cmake
;;   │   │       └── glfw3Targets-relwithdebinfo.cmake
;;   │   ├── libglfw.so -> libglfw.so.3
;;   │   ├── libglfw.so.3 -> libglfw.so.3.4
;;   │   ├── libglfw.so.3.4
;;   │   └── pkgconfig
;;   │       └── glfw3.pc
;;   └── share
;;
;;   7 directories, 10 files

if you depend on a separate glfw version, just rename the package like glfw-latest or something -- it's irrelevant because multiMC won't detect the 'system glfw' without explicit specification anyway

to find the qualified library path,

$ ls "$(guix package -I glfw | awk '{print $4}')"/lib/libglfw.so
;;   /gnu/store/ryrz64w4wjj8l1i00qa1ivjdxvkkliwl-glfw-3.4.0/lib/libglfw.so

then add the relevant arg to the java opts

 -Dorg.lwjgl.glfw.libname=/gnu/store/ryrz64w4wjj8l1i00qa1ivjdxvkkliwl-glfw-3.4.0/lib/libglfw.so

and that should suffice! I had a couple choppy runs which were chugging at 5-10 fps, but after my first reboot post-build I've never seen anything like the monstrous framebuffer->renderbuffer lag with xwayland.

  • I haven't had any success launching with my dedi gpu, as I'm in the process of extending the 495+ driver support in nonguix[1] from nvdia which includes GBM support as well as that EGL hill they're dying on -- nouveau performance is worse than integrated intel graphics, but you can target the GPU by running java, or more convenienly, multimc, with DRI_PRIME=1 DevLauncher, so, there's that

[1] https://gitlab.com/nonguix/nonguix/-/raw/master/nongnu/packages/nvidia.scm

also
https://www.phoronix.com/forums/forum/linux-graphics-x-org-drivers/wayland-display-server/1298124-sway-1-7-rc1-has-better-zero-copy-direct-scanout-drops-my-next-gpu-wont-be-nvidia

and this salty megathread about 495 https://forums.developer.nvidia.com/t/nvidia-495-on-sway-tutorial-questions-arch-based-distros/192212/66

thanks again, you're my hero!

1.19.4 hangs on start

When starting the game (1.19.4) I see the following output in the log.

[10:39:36] [Datafixer Bootstrap/INFO]: 180 Datafixer optimizations took 81 milliseconds
[10:39:37] [Render thread/INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD'
[10:39:38] [Render thread/INFO]: Setting user: _Dromader_
[10:39:38] [Render thread/INFO]: Backend library: LWJGL version 3.3.2+13
[10:39:38] [Render thread/INFO]: Reloading ResourceManager: vanilla
[10:39:39] [Render thread/WARN]: Missing sound for event: minecraft:item.brush.brushing
[10:39:39] [Render thread/WARN]: Missing sound for event: minecraft:item.brush.brush_sand_completed
[10:39:39] [Render thread/WARN]: Missing sound for event: minecraft:item.goat_horn.play
[10:39:39] [Render thread/WARN]: Missing sound for event: minecraft:entity.goat.screaming.horn_break
[10:39:39] [Render thread/WARN]: Missing sound for event: minecraft:music.overworld.cherry_grove
[10:39:39] [Render thread/INFO]: OpenAL initialized on device Family 17h/19h HD Audio Controller Analog Stereo
[10:39:39] [Render thread/INFO]: Sound engine started
[10:39:39] [Render thread/INFO]: Created: 1024x512x4 minecraft:textures/atlas/blocks.png-atlas
[10:39:39] [Render thread/INFO]: Created: 256x256x4 minecraft:textures/atlas/signs.png-atlas
[10:39:39] [Render thread/INFO]: Created: 512x512x4 minecraft:textures/atlas/shield_patterns.png-atlas
[10:39:39] [Render thread/INFO]: Created: 512x512x4 minecraft:textures/atlas/banner_patterns.png-atlas
[10:39:39] [Render thread/INFO]: Created: 1024x1024x4 minecraft:textures/atlas/armor_trims.png-atlas
[10:39:39] [Render thread/INFO]: Created: 64x64x4 minecraft:textures/atlas/decorated_pot.png-atlas
[10:39:39] [Render thread/INFO]: Created: 256x256x4 minecraft:textures/atlas/chest.png-atlas
[10:39:39] [Render thread/INFO]: Created: 512x256x4 minecraft:textures/atlas/shulker_boxes.png-atlas
[10:39:39] [Render thread/INFO]: Created: 512x256x4 minecraft:textures/atlas/beds.png-atlas
[10:39:39] [Render thread/WARN]: Shader rendertype_entity_translucent_emissive could not find sampler named Sampler2 in the specified shader program.
[10:39:39] [Render thread/INFO]: Created: 256x256x0 minecraft:textures/atlas/particles.png-atlas
[10:39:39] [Render thread/INFO]: Created: 256x256x0 minecraft:textures/atlas/paintings.png-atlas
[10:39:39] [Render thread/INFO]: Created: 128x128x0 minecraft:textures/atlas/mob_effects.png-atlas

After that nothing happens but the process is still running.
Have someone encountered something similar or has any idea what might be happening?

PRIME offload is not working properly

  • using nvidia-offload as wrapper command results in game running on my iGPU
  • using the "Use discrete GPU" option in Prism Launcher results in software rendering
    image
# System infomation
~ took 6s > sudo nix run nixpkgs#hw-probe -- -all -upload
Probe for hardware ... Ok
Reading logs ... Ok
Uploaded to DB, Thank you!

Probe URL: https://linux-hardware.org/?probe=f67367aa62


# Content of `nvidia-offload` script
~ > cat $(realpath $(which nvidia-offload))
#!/nix/store/q1c2flcykgr4wwg5a6h450hxbk4ch589-bash-5.2-p15/bin/bash
export __NV_PRIME_RENDER_OFFLOAD=1
export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0
export __GLX_VENDOR_LIBRARY_NAME=nvidia
export __VK_LAYER_NV_optimus=NVIDIA_only
exec "$@"

Using prime-run does not work at all

I receive this error when I run with prime-run and wayland window appears for just a split second
[destroyed object]: error 7: importing the supplied dmabufs failed
I am using the one-nineteen branch

Unable to disable VSync

Disabling vsync in-game does nothing (tried in vanilla and sodium); While using this the framerate stays locked to my monitors refresh rate(144FPS/Hz)

1.16 Forge doesn't seem to work

No window appears, and this error is printed

[02:11:18] [Render thread/ERROR] [minecraft/Minecraft]: Shutdown failure!
java.util.ConcurrentModificationException: null
	at java.util.HashMap.forEach(HashMap.java:1339) ~[?:?] {}
	at net.minecraft.client.renderer.texture.TextureManager.close(TextureManager.java:167) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.close(Minecraft.java:911) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.func_71405_e(Minecraft.java:889) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.main.Main.main(Main.java:198) ~[minecraft-1.16.5-client.jar:?] {re:classloading,pl:runtimedistcleaner:A}
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] {}
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}
	at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] {}
	at net.minecraftforge.fml.loading.FMLClientLaunchProvider.lambda$launchService$0(FMLClientLaunchProvider.java:51) ~[forge-1.16.5-36.1.0-launcher.jar:36.1] {}
	at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.0.9.jar:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.0.9.jar:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.0.9.jar:?] {}
	at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.0.9.jar:?] {}
	at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.0.9.jar:?] {}
	at io.github.zekerzhayard.forgewrapper.installer.Main.main(Main.java:50) [ForgeWrapper-1.4.2.jar:?] {}
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] {}
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}
	at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] {}
	at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:196) [NewLaunch.jar:?] {}
	at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:231) [NewLaunch.jar:?] {}
	at org.multimc.EntryPoint.listen(EntryPoint.java:143) [NewLaunch.jar:?] {}
	at org.multimc.EntryPoint.main(EntryPoint.java:34) [NewLaunch.jar:?] {}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.