diff --git a/CMakeLists.txt b/CMakeLists.txt index 12afdefcc..0a23e0601 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -307,7 +307,9 @@ endif() find_package(cmark REQUIRED) -if(CMAKE_SYSTEM_NAME STREQUAL "Linux") +option(Launcher_ENABLE_GAMEMODE "Enable Feral Gamemode support" ON) + +if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND Launcher_ENABLE_GAMEMODE) find_package(PkgConfig REQUIRED) pkg_check_modules(gamemode REQUIRED IMPORTED_TARGET gamemode) endif() diff --git a/launcher/Application.cpp b/launcher/Application.cpp index ddeb30588..58943416f 100644 --- a/launcher/Application.cpp +++ b/launcher/Application.cpp @@ -131,8 +131,10 @@ #ifdef Q_OS_LINUX #include #include "LibraryUtils.h" +#ifdef ENABLE_GAMEMODE #include "gamemode_client.h" #endif +#endif #if defined(Q_OS_LINUX) #include @@ -1834,8 +1836,10 @@ void Application::updateCapabilities() m_capabilities |= SupportsFlame; #ifdef Q_OS_LINUX +#ifdef ENABLE_GAMEMODE if (gamemode_query_status() >= 0) m_capabilities |= SupportsGameMode; +#endif if (!LibraryUtils::findMangoHud().isEmpty()) m_capabilities |= SupportsMangoHud; diff --git a/launcher/CMakeLists.txt b/launcher/CMakeLists.txt index 7d4430fd2..161afa1cf 100644 --- a/launcher/CMakeLists.txt +++ b/launcher/CMakeLists.txt @@ -1278,10 +1278,11 @@ else() target_link_libraries(Launcher_logic LibArchive::LibArchive) endif() -if (CMAKE_SYSTEM_NAME STREQUAL "Linux") +if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND Launcher_ENABLE_GAMEMODE) target_link_libraries(Launcher_logic gamemode ) + add_compile_definitions(ENABLE_GAMEMODE) endif() target_link_libraries(Launcher_logic diff --git a/launcher/minecraft/launch/LauncherPartLaunch.cpp b/launcher/minecraft/launch/LauncherPartLaunch.cpp index e4d3ec1ef..f04602e98 100644 --- a/launcher/minecraft/launch/LauncherPartLaunch.cpp +++ b/launcher/minecraft/launch/LauncherPartLaunch.cpp @@ -44,7 +44,7 @@ #include "launch/LaunchTask.h" #include "minecraft/MinecraftInstance.h" -#ifdef Q_OS_LINUX +#if defined(Q_OS_LINUX) && ENABLE_GAMEMODE #include "gamemode_client.h" #endif @@ -149,7 +149,7 @@ void LauncherPartLaunch::executeTask() m_process.start(javaPath, args); } -#ifdef Q_OS_LINUX +#if defined(Q_OS_LINUX) && ENABLE_GAMEMODE if (instance->settings()->get("EnableFeralGamemode").toBool() && APPLICATION->capabilities() & Application::SupportsGameMode) { auto pid = m_process.processId(); if (pid) {