aboutsummaryrefslogtreecommitdiff
path: root/launcher/minecraft/MinecraftInstance.cpp
diff options
context:
space:
mode:
authorSefa Eyeoglu <contact@scrumplex.net>2022-12-11 18:31:05 +0100
committerGitHub <noreply@github.com>2022-12-11 18:31:05 +0100
commit7cc42269a9361054d6190196d073c0be90cabf2a (patch)
treee86c2d5c3b5544f5319b01b7e2d1e16a281606cc /launcher/minecraft/MinecraftInstance.cpp
parentc45442760cee2c040f4c8942fb1933bbbe579f3d (diff)
parentdeb9c98630c8c2f2d59908b77dae1e58aad3021d (diff)
downloadPrismLauncher-7cc42269a9361054d6190196d073c0be90cabf2a.tar.gz
PrismLauncher-7cc42269a9361054d6190196d073c0be90cabf2a.tar.bz2
PrismLauncher-7cc42269a9361054d6190196d073c0be90cabf2a.zip
Merge pull request #569 from Jan200101/PR/fix-mangohud
Diffstat (limited to 'launcher/minecraft/MinecraftInstance.cpp')
-rw-r--r--launcher/minecraft/MinecraftInstance.cpp21
1 files changed, 19 insertions, 2 deletions
diff --git a/launcher/minecraft/MinecraftInstance.cpp b/launcher/minecraft/MinecraftInstance.cpp
index a3adb268..1d37224a 100644
--- a/launcher/minecraft/MinecraftInstance.cpp
+++ b/launcher/minecraft/MinecraftInstance.cpp
@@ -88,6 +88,10 @@
#include "minecraft/gameoptions/GameOptions.h"
#include "minecraft/update/FoldersTask.h"
+#ifdef Q_OS_LINUX
+#include "MangoHud.h"
+#endif
+
#define IBUS "@im=ibus"
// all of this because keeping things compatible with deprecated old settings
@@ -482,9 +486,22 @@ QProcessEnvironment MinecraftInstance::createLaunchEnvironment()
#ifdef Q_OS_LINUX
if (settings()->get("EnableMangoHud").toBool() && APPLICATION->capabilities() & Application::SupportsMangoHud)
{
- auto preload = env.value("LD_PRELOAD", "") + ":libMangoHud_dlsym.so:libMangoHud.so";
- env.insert("LD_PRELOAD", preload);
+ auto preloadList = env.value("LD_PRELOAD").split(QLatin1String(":"));
+ auto libPaths = env.value("LD_LIBRARY_PATH").split(QLatin1String(":"));
+
+ auto mangoHudLibString = MangoHud::getLibraryString();
+ if (!mangoHudLibString.isEmpty())
+ {
+ QFileInfo mangoHudLib(mangoHudLibString);
+
+ // dlsym variant is only needed for OpenGL and not included in the vulkan layer
+ preloadList << "libMangoHud_dlsym.so" << mangoHudLib.fileName();
+ libPaths << mangoHudLib.absolutePath();
+ }
+
+ env.insert("LD_PRELOAD", preloadList.join(QLatin1String(":")));
+ env.insert("LD_LIBRARY_PATH", libPaths.join(QLatin1String(":")));
env.insert("MANGOHUD", "1");
}