Closed JosefLitos closed 1 year ago
Have you tried https://github.com/mindstorm38/portablemc? that is a CLI launcher (and API if you want to script it with Python and maybe even provide your own GUI etc.) which provides e.g. the following to use native GLFW:
portablemc start --lwjgl 3.3.1 --exclude-lib lwjgl-glfw::natives --include-bin /usr/lib/libglfw.so.3
I'm not sure if providing the --lwjgl
arg is necessary in your case but I've personally had to use --lwjgl 3.2.3
to get it running on my Aarch64 (ARM64) hardware, and perhaps musl libc was involved too :p
Since you want to use /usr/lib/libglfw.so
you can probably drop --include-bin /usr/lib/libglfw.so.3
as well as iirc it was only needed on distributions where -dev
or -devel
subpackages contain these development-oriented unversioned shared library symlinks, or in case you want to provide it from a custom path.
The README suggests using
-Dorg.lwjgl.glfw.libname=/usr/lib/libglfw.so
instead of org.lwjgl.librarypath
, and that works for me…
using full libname has changed things, but only so that now it doesn't launch at all, AUR version of this package reports version 3.3.8, but MC still reports running 3.3.1 SNAPSHOT, whatever that would be and then crashes: (launched fabric with no mods)
[12:41:24] [main/INFO]: Loading Minecraft 1.19.2 with Fabric Loader 0.14.11
[12:41:24] [main/INFO]: Loading 3 mods:
- fabricloader 0.14.11
- java 17
- minecraft 1.19.2
[12:41:24] [main/INFO]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=file:/home/kepis/.minecraft/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
[12:41:24] [main/WARN]: Configuration conflict: there is more than one oshi.properties file on the classpath
[12:41:24] [main/WARN]: Configuration conflict: there is more than one oshi.architecture.properties file on the classpath
[12:41:26] [main/INFO]: Building optimized datafixer
[12:41:28] [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'
[12:41:29] [Render thread/INFO]: Setting user: Kepis_72
[12:41:30] [Render thread/INFO]: Backend library: LWJGL version 3.3.1 SNAPSHOT
[12:41:30] [Render thread/WARN]: Configuration conflict: there is more than one oshi.architecture.properties file on the classpath
---- Minecraft Crash Report ----
// I blame Dinnerbone.
Time: 2022-12-10 12:41:30
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:826)
at net.minecraft.class_310.<init>(class_310.java:481)
at net.minecraft.client.main.Main.method_44604(Main.java:205)
at net.minecraft.client.main.Main.main(Main.java:51)
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:461)
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
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)
... 11 more
Launched Version: Fabric
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>
You need the one-nineteen
branch.
Ah, indeed something changed with newer MC versions, see #35 and #29.
@JosefLitos Interestingly using --lwjgl 3.2.3
on my ARM64 device I'm able to play 1.19 just fine with system provided GLFW, though this was on X11 and not Wayland.
didn't realize I have to compile from 1.19 branch. thanks, that fixed my issue.
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+?