Игровой режим - оригинал на 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 "* подпроекты / *")
Поддерживается
Дикий Интерактив