about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/library_list_32.h1
-rw-r--r--src/wrapped32/wrappedlibgl.c9
2 files changed, 9 insertions, 1 deletions
diff --git a/src/library_list_32.h b/src/library_list_32.h
index d4f938c8..c80da950 100644
--- a/src/library_list_32.h
+++ b/src/library_list_32.h
@@ -19,6 +19,7 @@ GO("ld-linux.so.2", ldlinux)
 
 GO("libGL.so", libgl)
 GO("libGL.so.1", libgl)
+GO("libGLX_nvidia.so.0", libgl)
 GO("libGLU.so.1", libglu)
 GO("libSDL-1.2.so.0", sdl1)
 GO("libSDL2-2.0.so.0", sdl2)
diff --git a/src/wrapped32/wrappedlibgl.c b/src/wrapped32/wrappedlibgl.c
index d520a6a8..25d9ac00 100644
--- a/src/wrapped32/wrappedlibgl.c
+++ b/src/wrapped32/wrappedlibgl.c
@@ -889,7 +889,14 @@ static void* find_glVDPAUUnmapSurfacesNV_Fct(void* fct)
 
 #undef SUPER
 
-#define PRE_INIT if(box64_libGL) {lib->w.lib = dlopen(box64_libGL, RTLD_LAZY | RTLD_GLOBAL); lib->path = strdup(box64_libGL);} else
+#define PRE_INIT                                                                \
+    if(box64_libGL) {                                                           \
+        lib->w.lib = dlopen(box64_libGL, RTLD_LAZY | RTLD_GLOBAL);              \
+        lib->path = strdup(box64_libGL);                                        \
+    } else if(strstr(lib->name, "libGLX_nvidia.so.0")) {                        \
+        lib->w.lib = dlopen("libGLX_nvidia.so.0", RTLD_LAZY | RTLD_GLOBAL);     \
+        if(lib->w.lib) lib->path = strdup("libGLX_nvidia.so.0");                \
+    }
 #define CUSTOM_INIT \
     my_lib = lib;                                                               \
     lib->w.priv = dlsym(lib->w.lib, "glXGetProcAddress");                       \