nvb-uy / Eldritch_End

Descend into madness with new end biomes, forbidden magic, and more. An H.P. Lovecraft inspired mod!
https://www.curseforge.com/minecraft/mc-mods/eldritch-end
Other
3 stars 6 forks source link

Crashes on latest Nvidia drivers on Linux #38

Open HugKitten opened 3 days ago

HugKitten commented 3 days ago

This issue seems to also effect the AAAParticles mod. When launched on Linux (Arch on Wayland) and Nvidia (Nvidia Open DKMs) you get the libEffekseerNativeForJava.so: undefined symbol: glGenSamplers error. Just putting this out there so you are aware.

nvb-uy commented 3 days ago

Yes, Eldritch End JiJs AAAParticles, that’s why it s crashing. Focus should be on AAAParticle’s issue

On Sat, Sep 14, 2024 at 8:51 am, Sarah @.***(mailto:On Sat, Sep 14, 2024 at 8:51 am, Sarah < wrote:

This issue seems to also effect the AAAParticles mod. When launched on Linux (Arch on Wayland) and Nvidia (Nvidia Open DKMs) you get the libEffekseerNativeForJava.so: undefined symbol: glGenSamplers error. Just putting this out there so you are aware.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>

HugKitten commented 3 days ago

I was able to fix the issue, but here are some details to anyone else who needs help.

There are several reasons you could run into this issue. First make sure you have all your drivers up to date, and are not missing any translation layer required to use Mesa. If you use a GPU that isn't nvidia, then this will likely fix your issue. If you use nvidia, the issue seems to be that nvidia does not support openGL 3.3 through mesa. I assume this has something to do with the extra translation layer nvidia GPUs need to use mesa. You could try using other nvidia drivers, or even older ones, but be aware that this can cause your system to no longer boot if the newer kernel has compatibility issues. This may mean you need to downgrade your kernel as well. There is however another option that is much simpler. Mesa actually has a way to set which driver or api gets used.

If you use Nvidia and want to use the Vulkan API, you can use the following environmental variables:

__GLX_VENDOR_LIBRARY_NAME=mesa
__EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/50_mesa.json
MESA_LOADER_DRIVER_OVERRIDE=zink GALLIUM_DRIVER=zink

To do this from command line run the command env __GLX_VENDOR_LIBRARY_NAME=mesa __EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/50_mesa.json MESA_LOADER_DRIVER_OVERRIDE=zink GALLIUM_DRIVER=zink Follow this up with your choice of launcher

ZacBozer commented 2 days ago

I was able to fix the issue, but here are some details to anyone else who needs help.

There are several reasons you could run into this issue. First make sure you have all your drivers up to date, and are not missing any translation layer required to use Mesa. If you use a GPU that isn't nvidia, then this will likely fix your issue. If you use nvidia, the issue seems to be that nvidia does not support openGL 3.3 through mesa. I assume this has something to do with the extra translation layer nvidia GPUs need to use mesa. You could try using other nvidia drivers, or even older ones, but be aware that this can cause your system to no longer boot if the newer kernel has compatibility issues. This may mean you need to downgrade your kernel as well. There is however another option that is much simpler. Mesa actually has a way to set which driver or api gets used.

If you use Nvidia and want to use the Vulkan API, you can use the following environmental variables:

__GLX_VENDOR_LIBRARY_NAME=mesa
__EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/50_mesa.json
MESA_LOADER_DRIVER_OVERRIDE=zink GALLIUM_DRIVER=zink

To do this from command line run the command env __GLX_VENDOR_LIBRARY_NAME=mesa __EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/50_mesa.json MESA_LOADER_DRIVER_OVERRIDE=zink GALLIUM_DRIVER=zink Follow this up with your choice of launcher

this doesn't work for me sadly ;(