about summary refs log tree commit diff stats
path: root/src/wrapped32
diff options
context:
space:
mode:
Diffstat (limited to 'src/wrapped32')
-rw-r--r--src/wrapped32/wrappedlibgl.c9
1 files changed, 8 insertions, 1 deletions
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");                       \