В этой статье будет рассмотрено руководство по использованию «GameMode», бесплатной утилиты командной строки с открытым исходным кодом, которую можно использовать для повышения производительности игр в Linux. Этот инструмент поставляется с некоторыми предопределенными настройками, которые могут повысить частоту кадров/количество кадров в секунду/количество кадров в секунду в играх, запущенных в вашей системе Linux. Он также предоставляет механизм для настройки параметров по умолчанию, чтобы вы могли применять свои собственные настройки для дальнейшего повышения производительности в играх. GameMode работает с собственными играми для Linux, а также с играми для Windows, работающими в Linux с использованием уровней совместимости Wine или Steam Proton.
Основные возможности GameMode
GameMode разрабатывается и поддерживается «Feral Interactive», дружественной к Linux компанией по разработке и изданию игр, которая специализируется на портировании игр на базе Windows на Linux, Android, iOS, macOS и игровые консоли. Вы можете использовать GameMode для оптимизации производительности игр в каждом конкретном случае, не применяя его в масштабах всей системы. Это позволяет лучше контролировать производительность в играх. GameMode оптимизирует игровую производительность, настраивая порядок приоритета процессов, переводя регуляторы CPU и GPU в режим производительности, оптимизируя пропускную способность ввода-вывода, изменяя настройки планировщика ядра и блокируя режим заставки. Поскольку GameMode запускается для каждой игры, применяемые настройки носят временный характер и отключаются, когда пользователь выходит из игры на рабочем столе.
Установка GameMode в Linux
Вы можете установить GameMode в Ubuntu с помощью следующей команды:
$ sudo apt install gamemode
GameMode доступен в стандартных репозиториях многих дистрибутивов Linux, поэтому вы можете найти его в диспетчере пакетов и установить оттуда. Вы также можете скомпилировать его из полного исходного кода, доступного здесь.
Проверка того, что GameMode установлен успешно и работает правильно
Пакет GameMode поставляется с служебной командой, которую можно использовать для моделирования эффектов различных настроек, применяемых основной командой GameMode. Эту команду можно использовать, чтобы проверить, успешно ли установлен GameMode в вашей системе Linux и работает ли он должным образом. Чтобы смоделировать GameMode, выполните следующую команду:
$ gamemode-simulate-game
Если GameMode работает правильно на вашем ПК с Linux, эта команда завершится без вывода каких-либо результатов или без выдачи ошибок после выполнения в течение примерно 10 секунд.
В случае возникновения какой-либо проблемы команда моделирования выдаст сообщение об ошибке в терминале, и вы можете использовать его для выявления/отладки проблемы.
Использование GameMode с собственными играми для Linux
Чтобы запускать игры для Linux с оптимизацией GameMode, выполните команду в следующем формате:
$ gamemoderun "game_command or path_to_game_executable"
Замените текст в кавычках либо командой игры, либо полным путем к исполняемому двоичному файлу игры.
Вот небольшой тест, который я выполнил с помощью приложения «glxgears», доступного для Linux (команда выполняется с отключенным vsync). Он показывает эффект GameMode и то, как он увеличивает FPS в играх и приложениях с интенсивным использованием графического процессора.
Частота кадров до использования GameMode:
Частота кадров после использования GameMode (второй выходной блок):
Как видно из результатов, FPS увеличился более чем на 15%. Однако, в зависимости от игры, которую вы запускаете, и конфигурации процессора/графического процессора вашей системы Linux, это усиление может быть выше или ниже, а результаты могут отличаться.
Обратите внимание, что GameMode может увеличить энергопотребление вашей системы Linux, и если вы используете GameMode при питании от батареи без подключения к сети переменного тока, вы можете наблюдать увеличенный расход заряда батареи.
Использование GameMode с Wine Games
Wine – это уровень совместимости, который позволяет запускать приложения и игры для Windows в Linux. Чтобы использовать GameMode с играми Wine, добавьте команду gamemoderun непосредственно перед основной командой Wine. Вот пример:
$ gamemoderun wine "exe_file or path_to_game_executable"
Использование GameMode с собственными и протонными играми, запускаемыми из клиента Steam в Linux
Proton основан на Wine и разрабатывается Valve, создателями магазина игр Steam и игр Half-Life. Proton поставляется с множеством дополнительных функций и оптимизаций по сравнению с ванильной реализацией Wine и специально разработан для дальнейшего повышения производительности и совместимости игр на базе Windows в Linux. Proton, также называемый SteamPlay, встроен в официальный клиент Steam для Linux.
Чтобы запустить GameMode как с родными играми, так и с играми на базе Windows, установленными в Steam с помощью Proton, перейдите в свою игровую библиотеку в клиенте Steam, щелкните правой кнопкой мыши запись игры и выберите пункт меню «Свойства», как показано на снимке экрана ниже:
Вы получите новое окно конфигурации. На вкладке «ОБЩИЕ» введите следующую команду в поле ввода «ОПЦИИ ЗАПУСКА» и затем запустите игру.
$ gamemoderun %command%
Вот скриншот, показывающий окончательный результат:
Настройка параметров режима игры
Чтобы настроить параметры GameMode, вам необходимо загрузить и изменить его файл конфигурации в формате «ini». Вы можете скачать официальный файл конфигурации отсюда. После загрузки скопируйте его в папку «$HOME/.config/». В следующий раз, когда вы запустите GameMode, он автоматически подберет различные параметры конфигурации, присутствующие в этом файле. Файл конфигурации говорит сам за себя, с подробными комментариями и описаниями, оставленными самими разработчиками.
Более подробную информацию о файлах конфигурации GameMode можно найти здесь.
Заключение
GameMode можно использовать для значительного увеличения производительности как нативных, так и неродных игр в Linux. Он также предназначен для запуска для каждой игры и автоматически удаляет оптимизацию при закрытии игры. Это позволяет возобновить работу на рабочем столе и использовать другие приложения без полного выхода из системы или перезагрузки.