VulkanMod
VulkanMod copied to clipboard
[Wayland] Client stops ticking when iconified
Describe the bug
When the client is iconified (minimized) it stops ticking. More exactly the render thread gets stuck at one method (org.lwjgl.system.JNI.callPPI). Tested on Wayland in dev env and prod env. Cannot reproduce on X11 or Windows.
Stacktrace (mojmap):
"Render thread@1" tid=0x1 nid=NA runnable
java.lang.Thread.State: RUNNABLE
at org.lwjgl.system.JNI.callPPI(JNI.java:-1)
at org.lwjgl.vulkan.KHRSwapchain.nvkQueuePresentKHR(KHRSwapchain.java:561)
at org.lwjgl.vulkan.KHRSwapchain.vkQueuePresentKHR(KHRSwapchain.java:662)
at net.vulkanmod.vulkan.Renderer.submitFrame(Renderer.java:322)
at net.vulkanmod.vulkan.Renderer.endFrame(Renderer.java:278)
at net.minecraft.client.Minecraft.handler$zjm000$vulkanmod$submitRender(MinecraftMixin.java:58)
at net.minecraft.client.Minecraft.runTick(Minecraft.java:1156)
at net.minecraft.client.Minecraft.run(Minecraft.java:769)
at net.minecraft.client.main.Main.main(Main.java:236)
at java.lang.invoke.LambdaForm$DMH/0x00007c4487338000.invokeStaticInit(LambdaForm$DMH:-1)
at java.lang.invoke.LambdaForm$MH/0x00007c4487004400.invokeExact_MT(LambdaForm$MH:-1)
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:480)
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.lang.invoke.LambdaForm$DMH/0x00007c4487003c00.invokeStatic(LambdaForm$DMH:-1)
at java.lang.invoke.LambdaForm$MH/0x00007c4487004400.invokeExact_MT(LambdaForm$MH:-1)
at net.fabricmc.devlaunchinjector.Main.main(Main.java:86)
Tested on 1.20.4-0.4.7 and 1.21.4-0.5.4
OS: Arch Linux x86_64 Kernel: Linux 6.14.3-arch1-1 DE: KDE Plasma 6.3.4 WM: KWin (Wayland) GPU: Intel Iris Xe Graphics @ 1.25 GHz [Integrated]
Steps to reproduce
- join a singleplayer world
- set the weather to raining and go to somewhere where you can hear it
- minimize the window
- the rain sound stops which means the soundmanager, therefore the client is not getting ticked