diff --git a/src/gl/inject_egl.cpp b/src/gl/inject_egl.cpp index f5586385..9760a103 100644 --- a/src/gl/inject_egl.cpp +++ b/src/gl/inject_egl.cpp @@ -20,9 +20,7 @@ static void* get_egl_proc_address(const char* name) { void *func = nullptr; static void *(*pfn_eglGetProcAddress)(const char*) = nullptr; if (!pfn_eglGetProcAddress) { - void *handle = real_dlopen("libEGL.so", RTLD_LAZY); - if (!handle) - handle = real_dlopen("libEGL.so.1", RTLD_LAZY); + void *handle = real_dlopen("libEGL.so.1", RTLD_LAZY|RTLD_LOCAL); if (!handle) { SPDLOG_ERROR("Failed to open " MANGOHUD_ARCH " libEGL.so.1: {}", dlerror()); } else { diff --git a/src/gl/inject_glx.cpp b/src/gl/inject_glx.cpp index 7f8c71cf..afcb0d94 100644 --- a/src/gl/inject_glx.cpp +++ b/src/gl/inject_glx.cpp @@ -107,7 +107,12 @@ EXPORT_C_(void) glXDestroyContext(void *dpy, void *ctx) EXPORT_C_(int) glXMakeCurrent(void* dpy, void* drawable, void* ctx) { glx.Load(); SPDLOG_DEBUG("{}: {}, {}", __func__, drawable, ctx); - int ret = glx.MakeCurrent(dpy, drawable, ctx); + int ret = 0; + // This is hack, proper fix should be implemented. + // MakeCurrent fails on the minecraft-launcher so we + // just bypass it and minecraft hooking works as it should + if (get_program_name() != "minecraft-launcher") + ret = glx.MakeCurrent(dpy, drawable, ctx); if (!is_blacklisted()) { if (ret) {