neoforged / NeoForge

Neo Modding API for Minecraft, based on Forge
https://projects.neoforged.net/neoforged/neoforge
Other
1.13k stars 165 forks source link

lwjgl failure on running client on mdk #69

Closed drkhodakarami closed 4 months ago

drkhodakarami commented 1 year ago

I am trying to setup the work space for 1.20.1 with the base mdk without any new code in it. my operating system is windows 11, only one display adapter (nvidia 1080ti) and in the nvidia panel I set the opengl rendering gpu to use this display adapter. I installed openjdk using adoptium for version 17 and the settings and project structure in intelliJ is already set. When I try to use RunClient task using intelliJ, it crashes with this log in the consol :

` [08:48:25.244] [main/INFO] [Launcher/MODLAUNCHER]: ModLauncher running: args [--launchTarget, forgeclientuserdev, --version, MOD_DEV, --assetIndex, 5, --assetsDir, E:.gradle\caches\forge_gradle\assets, --gameDir, ., --fml.forgeVersion, 47.1.25, --fml.fmlVersion, 47.1.40, --fml.mcVersion, 1.20.1, --fml.mcpVersion, 20230612.114412] [08:48:25.257] [main/INFO] [Launcher/MODLAUNCHER]: ModLauncher 10.0.10+10.0.10+main.22f00f84 starting: java version 17.0.8 by Eclipse Adoptium; OS Windows 11 arch amd64 version 10.0 [08:48:25.669] [main/INFO] [loading.ImmediateWindowHandler/]: Loading ImmediateWindowProvider fmlearlywindow [08:48:26.126] [main/INFO] [EARLYDISPLAY/]: Trying GL version 4.6 [08:48:26.367] [main/INFO] [EARLYDISPLAY/]: Requested GL version 4.6 got version 4.6 [08:48:26.911] [main/INFO] [mixin/]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=union:/E:/.gradle/caches/modules-2/files-2.1/org.spongepowered/mixin/0.8.5/9d1c0c3a304ae6697ecd477218fa61b850bf57fc/mixin-0.8.5.jar%23128!/ Service=ModLauncher Env=CLIENT FATAL ERROR in native method: Thread[pool-2-thread-1,5,main]: No context is current or a function that is not available in the current context was called. The JVM will abort execution. at org.lwjgl.opengl.GL11C.nglGetString(org.lwjgl.opengl@3.3.1+7/Native Method) at org.lwjgl.opengl.GL11C.glGetString(org.lwjgl.opengl@3.3.1+7/GL11C.java:978) at net.minecraftforge.fml.earlydisplay.DisplayWindow.initRender(fml_earlydisplay@47.1.40/DisplayWindow.java:206) at net.minecraftforge.fml.earlydisplay.DisplayWindow.lambda$start$9(fml_earlydisplay@47.1.40/DisplayWindow.java:290) at net.minecraftforge.fml.earlydisplay.DisplayWindow$$Lambda$453/0x000002c8e422eff0.run(fml_earlydisplay@47.1.40/Unknown Source) at java.util.concurrent.Executors$RunnableAdapter.call(java.base@17.0.8/Executors.java:539) at java.util.concurrent.FutureTask.run(java.base@17.0.8/FutureTask.java:264) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(java.base@17.0.8/ScheduledThreadPoolExecutor.java:304) at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@17.0.8/ThreadPoolExecutor.java:1136) at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@17.0.8/ThreadPoolExecutor.java:635) at java.lang.Thread.run(java.base@17.0.8/Thread.java:833)

Process finished with exit code 1 `

I tried to ask for help in discord channel, only response I got was people telling me that the display adapter is not letting open gl to work! they assumed I had onboard display adapter that was interfering and it's not the case, I had no other choice but to ask for help here. Here is what I know, I use atlauncher for vanilla game, when I set the params to use windows opengl stuff, it won't work, but when I uncheck the setting and let the launcher use the gl stuff from minecraft, the game comes up and works. so I know somehow the graphic card is letting the gl library to run and also, my nvidia driver is up to date (checked before posting this issue), so lack of updates is not an issue there. Please help, if this error is not solved, my only option will be to build the mod, manually replace it in an instance of atlauncher, run the game there, and back to modding. That would be a hell.

pupnewfster commented 1 year ago

It might be worth trying to update the version of neoforge in the MDK to see if that helps, but what I find more likely might help is in config/fml.toml try setting earlyWindowControl to false and see if that allows for things to startup. It will disable any early loading window from being rendered and just have it basically act like vanilla. Ideally we would have it always work, so if that does fix the issue and allow you to launch then we still need to figure out what is causing the early loading window to crash, but at least it will let you test your mod and also narrow down the issue to see if it is due to the early loading window.

drkhodakarami commented 1 year ago

where can I find config/fml.toml ?

pupnewfster commented 1 year ago

Given this is userdev it would be in whatever folder you declare in your run configs (I think the default is “run”. So <workspacedir>/run/config/fml.toml

drkhodakarami commented 1 year ago

worked, game is running showing the mdk mod, thanks

drkhodakarami commented 1 year ago

looks like this issue is fixed in 47.1.64 . just updated the neoforged and had to re generate the run tasks but now, with the early window access no crash

drkhodakarami commented 1 year ago

Hmm, I think I may figured something, if the project sit under a root like " sometext " the gradle refreshes, the runs are created, but the early window access will cause a crash? that is the only thing I had and changed, now i was trying to create a second project under same conditions, and again caused a crash !

TelepathicGrunt commented 8 months ago

Does issue still happen with the new current latest MDK?

embeddedt commented 4 months ago

We've refactored FML a lot since 1.20.1. There hasn't been activity on this issue in a while, and there's a decent chance the problem was fixed either by a newer version of NeoForge, or one of the LWJGL updates in vanilla. If this still occurs in 1.20.6, please open a new issue.