about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-10-13 17:43:27 +0200
committerptitSeb <sebastien.chev@gmail.com>2024-10-13 17:43:27 +0200
commit1936052e790299cb785977057a5862b68fd059c0 (patch)
treeb999b2047a77d15ab67b550b76cbcca350318ac9 /src
parent103ec5d72ae868c0a094935c2a9ace93f7b3f908 (diff)
downloadbox64-1936052e790299cb785977057a5862b68fd059c0.tar.gz
box64-1936052e790299cb785977057a5862b68fd059c0.zip
[WRAPPER] Hacked some support for libGLX_nvidia.so.0
Diffstat (limited to 'src')
-rw-r--r--src/library_list.h1
-rw-r--r--src/wrapped/wrappedlibgl.c9
2 files changed, 9 insertions, 1 deletions
diff --git a/src/library_list.h b/src/library_list.h
index 4ee4745e..1142e2c7 100644
--- a/src/library_list.h
+++ b/src/library_list.h
@@ -13,6 +13,7 @@ GO("libOpenGL.so.0", libgl)
 GO("libGLU.so.1", libglu)
 GO("libGLX.so.0", libglx)
 GO("libGLX.so", libglx)
+GO("libGLX_nvidia.so.0", libgl)
 GO("libGLESv2.so.2", glesv2)
 GO("libGLESv2.so", glesv2)
 GO("libX11.so.6", libx11)
diff --git a/src/wrapped/wrappedlibgl.c b/src/wrapped/wrappedlibgl.c
index 59445024..b0a8b962 100644
--- a/src/wrapped/wrappedlibgl.c
+++ b/src/wrapped/wrappedlibgl.c
@@ -410,7 +410,14 @@ static void* find_glGetVkProcAddrNV_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");                       \