diff options
author | Sefa Eyeoglu <contact@scrumplex.net> | 2022-07-06 17:11:43 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-06 17:11:43 +0200 |
commit | 04b865adaec8f7af1a148e004c67c0483dbcc67b (patch) | |
tree | 1fcd5ef2037541ad47b86453a0469203b6d0824b /launcher/minecraft/launch | |
parent | e7ed3abb799ce1e648a734aae0ad82951df33ad9 (diff) | |
parent | 00df092a99214db0a4c2329e0a07af7b9a70df14 (diff) | |
download | PrismLauncher-04b865adaec8f7af1a148e004c67c0483dbcc67b.tar.gz PrismLauncher-04b865adaec8f7af1a148e004c67c0483dbcc67b.tar.bz2 PrismLauncher-04b865adaec8f7af1a148e004c67c0483dbcc67b.zip |
Merge pull request #707 from Jan200101/PR/gamemode
Add Performance related settings
Diffstat (limited to 'launcher/minecraft/launch')
-rw-r--r-- | launcher/minecraft/launch/DirectJavaLaunch.cpp | 22 | ||||
-rw-r--r-- | launcher/minecraft/launch/LauncherPartLaunch.cpp | 17 |
2 files changed, 35 insertions, 4 deletions
diff --git a/launcher/minecraft/launch/DirectJavaLaunch.cpp b/launcher/minecraft/launch/DirectJavaLaunch.cpp index 742170fa..152485b3 100644 --- a/launcher/minecraft/launch/DirectJavaLaunch.cpp +++ b/launcher/minecraft/launch/DirectJavaLaunch.cpp @@ -12,13 +12,18 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - #include "DirectJavaLaunch.h" + +#include <QStandardPaths> + #include <launch/LaunchTask.h> #include <minecraft/MinecraftInstance.h> #include <FileSystem.h> #include <Commandline.h> -#include <QStandardPaths> + +#ifdef Q_OS_LINUX +#include "gamemode_client.h" +#endif DirectJavaLaunch::DirectJavaLaunch(LaunchTask *parent) : LaunchStep(parent) { @@ -50,7 +55,7 @@ void DirectJavaLaunch::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); @@ -79,6 +84,17 @@ void DirectJavaLaunch::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 DirectJavaLaunch::on_state(LoggedProcess::State state) diff --git a/launcher/minecraft/launch/LauncherPartLaunch.cpp b/launcher/minecraft/launch/LauncherPartLaunch.cpp index fe8a1b1b..ea73ba60 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) |