Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crashes on latest Nvidia drivers on Linux #38

Open
HugKitten opened this issue Sep 14, 2024 · 3 comments
Open

Crashes on latest Nvidia drivers on Linux #38

HugKitten opened this issue Sep 14, 2024 · 3 comments

Comments

@HugKitten
Copy link

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
Copy link
Owner

nvb-uy commented Sep 14, 2024 via email

@HugKitten
Copy link
Author

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
Copy link

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 ;(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants