Найти в Дзене

Включение GameMode в Linux для лучшей производительности в играх

Игровой режим - оригинал на GitHub GameMode - это комбинация daemon / lib для Linux, которая позволяет играм временно запрашивать набор оптимизаций для операционной системы хоста и / или игрового процесса. GameMode был спроектирован в первую очередь как временное решение проблем с энергосберегающими процессорами Intel и AMD или контроллерами по требованию, но теперь он содержит ряд функций и конфигураций оптимизации. В настоящее время GameMode включает поддержку оптимизаций, в том числе: Регулятор процессора Приоритет ввода / вывода Процессная приятность Планировщик ядра (SCHED_ISO) Блокировка заставки Режим производительности GPU (NVIDIA и AMD), разгон GPU (NVIDIA) Пользовательские скрипты Пакеты GameMode доступны для Ubuntu, Debian, Solus, AUR, Gentoo, Fedora, OpenSUSE, Mageia и, возможно, других. О проблемах с GameMode следует сообщать здесь, в разделе проблем, а не сообщать напрямую Feral. Запрос GameMode Для игр / пусковых установок, которые интегрируют поддержку GameMode (см

Игровой режим - оригинал на GitHub

GameMode - это комбинация daemon / lib для Linux, которая позволяет играм временно запрашивать набор оптимизаций для операционной системы хоста и / или игрового процесса.

GameMode был спроектирован в первую очередь как временное решение проблем с энергосберегающими процессорами Intel и AMD или контроллерами по требованию, но теперь он содержит ряд функций и конфигураций оптимизации.

В настоящее время GameMode включает поддержку оптимизаций, в том числе:

Регулятор процессора

Приоритет ввода / вывода

Процессная приятность

Планировщик ядра (SCHED_ISO)

Блокировка заставки

Режим производительности GPU (NVIDIA и AMD), разгон GPU (NVIDIA)

Пользовательские скрипты

Пакеты GameMode доступны для Ubuntu, Debian, Solus, AUR, Gentoo, Fedora, OpenSUSE, Mageia и, возможно, других.

О проблемах с GameMode следует сообщать здесь, в разделе проблем, а не сообщать напрямую Feral.

Запрос GameMode

Для игр / пусковых установок, которые интегрируют поддержку GameMode (см. Список позже), просто запуск игры автоматически активирует GameMode.

Для других вы должны вручную запросить GameMode при запуске игры. Это можно сделать, запустив игру через gamemoderun:

gamemoderun ./game

Или измените параметры запуска Steam:

gamemoderun% command%

Примечание: для более старых версий GameMode (до 1.3) используйте эту строку вместо gamemoderun:

LD_PRELOAD = "$ LD_PRELOAD: / USR / \ $ LIB / libgamemodeauto.so.0"

Обратите внимание, что обратная косая черта здесь в \ $ LIB обязательна.

конфигурация

Демон настраивается с помощью файла gamemode.ini. example / gamemode.ini - пример того, как этот файл будет выглядеть, с пояснениями для всех переменных.

Файлы конфигурации загружаются и объединяются из следующих каталогов, по порядку:

/ USR / доли / игровой режим /

/и т.д/

$ XDG_CONFIG_HOME или $ HOME / .config /

$ PWD

Примечание для пользователей гибридных графических процессоров

Невозможно автоматически интегрировать такие команды, как optirun, в GameMode, поскольку запрос GameMode выполняется после того, как игра уже запущена. Однако можно использовать гибридную оболочку графического процессора, такую ​​как optirun, запустив игру с gamemoderun.

Вы можете сделать это, установив переменную окружения GAMEMODERUNEXEC для команды запуска вашей оболочки, например, GAMEMODERUNEXEC = optirun или GAMEMODERUNEXEC = "env DRI_PRIME = 1". Эта переменная окружения может быть задана глобально, поэтому нет необходимости дублировать одну и ту же префиксную команду везде, где вы хотите использовать gamemoderun.

GameMode не будет добавлен в оболочку.

Приложения с интеграцией GameMode

Игры

Известно, что следующие игры интегрируют поддержку GameMode (то есть им не требуется дополнительная настройка для активации GameMode во время работы):

DiRT 4

Восстание Расхитительницы Гробниц

Тотальная война: три королевства

Total War: WARHAMMER II

Total War Saga: Престолы Британии

другие

Другие приложения, которые могут интегрироваться с GameMode, включают в себя:

Оболочка GNOME (через расширение) - указывает, когда GameMode активен в верхней панели.

Lutris - включает GameMode для всех игр по умолчанию, если они доступны (должны быть установлены как 32-, так и 64-битные библиотеки GameMode), настраивается в настройках.

Статус сборки разработки

В дизайне GameMode есть четкая абстракция между демоном хоста и библиотекой (gamemoded и libgamemode) и клиентскими загрузчиками (libgamemodeauto и gamemode_client.h), которые позволяют безопасно использовать их, не беспокоясь о том, установлен демон или работает. Этот дизайн также означает, что, хотя хост-библиотека в настоящее время использует systemd для обмена сообщениями с демоном, вполне возможно реализовать другие внутренние компоненты, которые все еще работают с теми же клиентами.

Посмотрите подкаталоги репозитория для информации о каждом компоненте.

Установить зависимости

GameMode зависит от мезона для сборки и systemd для внутренней связи. Этот репозиторий содержит скрипт bootstrap.sh, позволяющий быстро установить его на пользовательскую шину, но проверьте наличие пользовательских настроек в файле meson_options.txt.

Ubuntu / Debian (вам также может понадобиться dbus-user-session)

apt установка meson libsystemd-dev pkg-config ниндзя-сборка git libdbus-1-dev

арочный

pacman -S meson systemd git dbus

мягкая фетровая шляпа

dnf установить мезон systemd-devel pkg-config git dbus-devel

Gentoo

Gentoo имеет ebuild, который создает стабильную версию из исходников. Он также извлечет все зависимости, чтобы вы могли работать с исходным кодом.

emerge --ask games-util / gamemode

Вы также можете установить, используя последние источники из git:

ACCEPT_KEYWORDS = "**" emerge --ask ~ games-util / gamemode-9999

Сборка и установка GameMode

Затем клонируйте, соберите и установите версию GameMode версии 1.4:

git clone https://github.com/FeralInteractive/gamemode.git

режим игры cd

git checkout 1.4 # опустить, чтобы построить основную ветку

./bootstrap.sh

Чтобы удалить:

systemctl - пользовательская остановка gamemoded.service

CD build /

удалить ниндзя

Тянуть запросы

Запросы на извлечение должны соответствовать стилю кодирования, найденному в файле .clang-format, перед запуском выполните:

clang-format -i $ (найти. -name '*. [ch]' -not -path "* подпроекты / *")

Поддерживается

Дикий Интерактив