diff options
author | Sefa Eyeoglu <contact@scrumplex.net> | 2022-12-11 18:31:05 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-11 18:31:05 +0100 |
commit | 7cc42269a9361054d6190196d073c0be90cabf2a (patch) | |
tree | e86c2d5c3b5544f5319b01b7e2d1e16a281606cc /launcher/minecraft/MinecraftInstance.cpp | |
parent | c45442760cee2c040f4c8942fb1933bbbe579f3d (diff) | |
parent | deb9c98630c8c2f2d59908b77dae1e58aad3021d (diff) | |
download | PrismLauncher-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.cpp | 21 |
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"); } |