mangohud: hardcode libGL & libX11

+30 -2
+4 -1
pkgs/tools/graphics/mangohud/default.nix
··· 10 gnused, 11 xdg-utils, 12 dbus, 13 hwdata, 14 mangohud32, 15 addDriverRunpath, ··· 20 ninja, 21 pkg-config, 22 unzip, 23 - libX11, 24 wayland, 25 libXNVCtrl, 26 nlohmann_json, ··· 138 ]; 139 140 libdbus = dbus.lib; 141 inherit hwdata; 142 }) 143 ];
··· 10 gnused, 11 xdg-utils, 12 dbus, 13 + libGL, 14 + libX11, 15 hwdata, 16 mangohud32, 17 addDriverRunpath, ··· 22 ninja, 23 pkg-config, 24 unzip, 25 wayland, 26 libXNVCtrl, 27 nlohmann_json, ··· 139 ]; 140 141 libdbus = dbus.lib; 142 + libGL = libGL; 143 + libX11 = libX11; 144 inherit hwdata; 145 }) 146 ];
+26 -1
pkgs/tools/graphics/mangohud/hardcode-dependencies.patch
··· 11 SPDLOG_ERROR("Could not load libdbus-1.so.3"); 12 return false; 13 } 14 diff --git a/src/logging.cpp b/src/logging.cpp 15 - index ca986d4..c4d99ea 100644 16 --- a/src/logging.cpp 17 +++ b/src/logging.cpp 18 @@ -28,8 +28,12 @@ string exec(string command) {
··· 11 SPDLOG_ERROR("Could not load libdbus-1.so.3"); 12 return false; 13 } 14 + diff --git a/src/loaders/loader_glx.cpp b/src/loaders/loader_glx.cpp 15 + index aa453b8..0f6479d 100644 16 + --- a/src/loaders/loader_glx.cpp 17 + +++ b/src/loaders/loader_glx.cpp 18 + @@ -23,7 +23,7 @@ bool glx_loader::Load() { 19 + handle = real_dlopen("glxtrace.so", RTLD_LAZY); 20 + #endif 21 + if (!handle) 22 + - handle = real_dlopen("libGL.so.1", RTLD_LAZY); 23 + + handle = real_dlopen("@libGL@/lib/libGL.so.1", RTLD_LAZY); 24 + if (!handle) { 25 + SPDLOG_ERROR("Failed to open " MANGOHUD_ARCH " libGL.so.1: {}", dlerror()); 26 + return false; 27 + diff --git a/src/loaders/loader_x11.cpp b/src/loaders/loader_x11.cpp 28 + index 214fd50..2f08857 100644 29 + --- a/src/loaders/loader_x11.cpp 30 + +++ b/src/loaders/loader_x11.cpp 31 + @@ -110,6 +110,6 @@ static std::shared_ptr<libx11_loader> loader; 32 + std::shared_ptr<libx11_loader> get_libx11() 33 + { 34 + if (!loader) 35 + - loader = std::make_shared<libx11_loader>("libX11.so.6"); 36 + + loader = std::make_shared<libx11_loader>("@libX11@/lib/libX11.so.6"); 37 + return loader; 38 + } 39 diff --git a/src/logging.cpp b/src/logging.cpp 40 + index 4ef7023..e24f6da 100644 41 --- a/src/logging.cpp 42 +++ b/src/logging.cpp 43 @@ -28,8 +28,12 @@ string exec(string command) {