set __GLVND_DISALLOW_PATCHING=1 before loading glvnd libraries
authorAndreas Beckmann <anbe@debian.org>
Thu, 5 Jan 2023 01:52:44 +0000 (01:52 +0000)
committerAndreas Beckmann <anbe@debian.org>
Thu, 5 Jan 2023 01:52:44 +0000 (01:52 +0000)
Gbp-Pq: Name glvnd.patch

libglfork.cpp

index 03f514f975ff52a444fa377b3a1998f691bc1def..270918e21eb71718b8f8b991244dd67416b08554 100644 (file)
@@ -165,6 +165,9 @@ struct ContextsInfo: public std::map<GLXContext, ContextInfo> {
 struct EarlyInitializer {
   EarlyInitializer(const char **adpy_strp, const char **libgla_strp)
   {
+    // Allow multiple glvnd libGL.so.1 instances to be loaded into a process
+    // and OpenGL calls dispatched to them depending on context.
+    setenv("__GLVND_DISALLOW_PATCHING", "1", 0);
 #ifdef BUMBLEBEE_SOCKET
     // Signal the Bumblebee daemon to bring up secondary X
     int sock = socket(PF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0);