Gamemode는 게임이 호스트 OS 및/또는 게임 프로세스에 일련의 최적화 세트를 일시적으로 적용하도록 요청할 수있는 Linux의 데몬/LIB 콤보입니다.
Gamemode는 주로 인텔 및 AMD CPU PowerSave 또는 OnDemand 총재 문제에 대한 스톱 갭 솔루션으로 설계되었지만 현재 다양한 최적화 기능 및 구성을 호스팅합니다.
현재 Gamemode에는 다음을 포함한 최적화 지원이 포함됩니다.
SCHED_ISO
)Gamemode 패키지는 Ubuntu, Debian, Solus, Arch, Gentoo, Fedora, Opensuse, Mageia 등에서 사용할 수 있습니다.
Gamemode와 관련된 문제는 여기에 문제 섹션 에보 고되어야하며 직접적으로 고급적으로보고되지 않아야합니다.
게임 모드 지원을 통합하는 게임/런처의 경우 (나중에 목록 참조) 게임을 실행하면 게임 모드가 자동으로 활성화됩니다.
다른 사람들의 경우 게임을 실행할 때 수동으로 게임 모드를 요청해야합니다. gamemoderun
을 통해 게임을 시작하여 수행 할 수 있습니다.
gamemoderun ./game
또는 스팀 런칭 옵션 편집 :
gamemoderun %command%
참고 : 이전 버전의 Gamemode (1.3 이전)의 경우 gamemoderun
대신이 문자열을 사용하십시오.
LD_PRELOAD="$LD_PRELOAD:/usr/$LIB/libgamemodeauto.so.0"
$LIB
의 Backslash에 주목하십시오.
데몬은 gamemode.ini
파일로 구성됩니다. example/gamemode.ini는 모든 변수에 대한 설명과 함께이 파일의 모습의 예입니다.
구성 파일은 다음 디렉토리에서 가장 높은 우선 순위에서 가장 낮은 우선 순위에서로드 및 병합됩니다.
$PWD
( "안전하지 않은" - [gpu]
설정은이 파일에 적용되지 않습니다 )$XDG_CONFIG_HOME
또는 $HOME/.config/
( "안전하지 않은" - [gpu]
설정은이 파일에 효과가 없습니다 )/etc/
/usr/share/gamemode/
게임이 이미 시작되면 Gamemode 요청이 이루어 지므로 Gamemode 내부의 Optirun과 같은 명령을 자동으로 통합 할 수 없습니다. 그러나 gamemoderun
으로 게임을 시작하여 Optirun과 같은 하이브리드 GPU 래퍼를 사용할 수 있습니다.
환경 변수 GAMEMODERUNEXEC
래퍼의 시작 명령으로 설정하여이를 수행 할 수 있으므로 GAMEMODERUNEXEC=optirun
, GAMEMODERUNEXEC="env DRI_PRIME=1"
또는 GAMEMODERUNEXEC="env __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia __VK_LAYER_NV_optimus=NVIDIA_only"
. 이 환경 변수는 전역으로 설정할 수 있으므로 (예 : /etc /환경에서) 동일한 접두사 명령을 gamemoderun
사용하려는 모든 곳에서 복제 할 필요가 없습니다.
Gamemode는 래퍼에 주입되지 않습니다.
다음 게임은 게임 모드 지원을 통합하는 것으로 알려져 있습니다 (즉, 실행 중에 게임 모드를 활성화하기 위해 추가 구성이 필요하지 않음).
게임 모드와 통합 할 수있는 다른 앱에는 다음이 포함됩니다.
Gamemode의 디자인은 호스트 데몬과 라이브러리 ( gamemoded
and libgamemode
)와 데몬이 설치되어 있는지 걱정하지 않고 안전하게 사용할 수있는 클라이언트 로더 ( libgamemodeauto
및 gamemode_client.h
) 사이에 명확한 추상화가 있습니다. 이 디자인은 또한 호스트 라이브러리가 현재 데몬과 메시지를 교환하기 위해 systemd
에 의존하지만 동일한 클라이언트와 여전히 작동하는 다른 내부를 구현할 수 있음을 의미합니다.
각 구성 요소에 대한 정보는 저장소 하위 디렉토리를 참조하십시오.
Gamemode는 meson
에 의존하고 내부 커뮤니케이션을위한 systemd
따라 다릅니다. 이 repo에는 bootstrap.sh
스크립트가 포함되어있어 사용자 버스에 빠르게 설치할 수 있지만 사용자 정의 설정은 meson_options.txt
확인하십시오.
dbus-user-session
필요할 수도 있음) apt install meson libsystemd-dev pkg-config ninja-build git libdbus-1-dev libinih-dev build-essential
Ubuntu 18.04에서는 python3
패키지를 설치하고 pip
에서 최신 Meson 버전을 설치해야합니다.
python3 -m venv .venv
source .venv/bin/activate
pip install meson
나중에 가상 환경을 비활성화하여 제거 할 수 있습니다.
deactivate
rm -rf .venv
pacman -S meson systemd git dbus libinih
dnf install meson systemd-devel pkg-config git dbus-devel
Gentoo는 소스에서 안정적인 릴리스를 구축하는 ebuild를 가지고 있습니다. 또한 소스 코드에서 작업 할 수 있도록 모든 종속성을 가져옵니다.
emerge --ask games-util/gamemode
Git의 최신 소스를 사용하여 설치할 수도 있습니다.
ACCEPT_KEYWORDS= " ** " emerge --ask ~ games-util/gamemode-9999
그런 다음 1.8.2에서 Gamemode의 릴리스 버전을 클론, 빌드 및 설치하십시오.
git clone https://github.com/FeralInteractive/gamemode.git
cd gamemode
git checkout 1.8.2 # omit to build the master branch
./bootstrap.sh
GameMode가 설치되고 올바르게 실행됩니다.
gamemoded -t
제거하려면 :
systemctl --user stop gamemoded.service
ninja uninstall -C builddir
풀 요청은 .clang-format
파일에있는 코딩 스타일과 일치해야합니다. 커밋하기 전에 이것을 실행하십시오.
clang-format -i $(find . -name '*.[ch]' -not -path "*subprojects/*")
야생 대화식
연장 된 기고자 목록은 기고자 섹션을 참조하십시오.
Copyright © 2017-2024 Feral Interactive
Gamemode는 BSD 3-Clause 라이센스의 조건에 따라 사용할 수 있습니다 (개정)
"INIH"라이브러리는 새로운 BSD 라이센스에 따라 배포됩니다.