aboutsummaryrefslogtreecommitdiff
path: root/launcher/minecraft/launch/LauncherPartLaunch.cpp
diff options
context:
space:
mode:
authorJan200101 <sentrycraft123@gmail.com>2022-06-29 22:37:25 +0200
committerJan200101 <sentrycraft123@gmail.com>2022-07-06 09:34:14 +0200
commitcad581388f32dc3523c81f614e898716685f35c3 (patch)
tree543bf28e18ad5a85b349b0cba0faf86daccfa1e0 /launcher/minecraft/launch/LauncherPartLaunch.cpp
parent774ed044fcac9c444f41e0f93435089338e8366c (diff)
downloadPrismLauncher-cad581388f32dc3523c81f614e898716685f35c3.tar.gz
PrismLauncher-cad581388f32dc3523c81f614e898716685f35c3.tar.bz2
PrismLauncher-cad581388f32dc3523c81f614e898716685f35c3.zip
Add Performance related settings
Integrates support for Feral Gamemode, discrete GPU support for Mesa and the proprietary Nvidia driver and MangoHud support Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
Diffstat (limited to 'launcher/minecraft/launch/LauncherPartLaunch.cpp')
-rw-r--r--launcher/minecraft/launch/LauncherPartLaunch.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/launcher/minecraft/launch/LauncherPartLaunch.cpp b/launcher/minecraft/launch/LauncherPartLaunch.cpp
index 427bc32b..e37c64fa 100644
--- a/launcher/minecraft/launch/LauncherPartLaunch.cpp
+++ b/launcher/minecraft/launch/LauncherPartLaunch.cpp
@@ -44,6 +44,10 @@
#include "Commandline.h"
#include "Application.h"
+#ifdef Q_OS_LINUX
+#include "gamemode_client.h"
+#endif
+
LauncherPartLaunch::LauncherPartLaunch(LaunchTask *parent) : LaunchStep(parent)
{
auto instance = parent->instance();
@@ -102,7 +106,7 @@ void LauncherPartLaunch::executeTask()
auto javaPath = FS::ResolveExecutable(instance->settings()->get("JavaPath").toString());
- m_process.setProcessEnvironment(instance->createEnvironment());
+ m_process.setProcessEnvironment(instance->createLaunchEnvironment());
// make detachable - this will keep the process running even if the object is destroyed
m_process.setDetachable(true);
@@ -167,6 +171,17 @@ void LauncherPartLaunch::executeTask()
{
m_process.start(javaPath, args);
}
+
+#ifdef Q_OS_LINUX
+ if (instance->settings()->get("EnableFeralGamemode").toBool())
+ {
+ auto pid = m_process.processId();
+ if (pid)
+ {
+ gamemode_request_start_for(pid);
+ }
+ }
+#endif
}
void LauncherPartLaunch::on_state(LoggedProcess::State state)