Gamemode adalah kombo Daemon/Lib untuk Linux yang memungkinkan game untuk meminta satu set optimisasi diterapkan sementara untuk OS host dan/atau proses game.
Gamemode dirancang terutama sebagai solusi stop-gap untuk masalah dengan Intel dan AMD CPU PowerSave atau OnDemand Gubernur, tetapi sekarang menjadi tuan rumah untuk berbagai fitur dan konfigurasi optimasi.
Saat ini gamemode termasuk dukungan untuk optimisasi termasuk:
SCHED_ISO )Paket Gamemode tersedia untuk Ubuntu, Debian, Solus, Arch, Gentoo, Fedora, OpenSUSE, Mageia dan mungkin lebih banyak lagi.
Masalah dengan gamemode harus dilaporkan di sini di bagian masalah, dan tidak dilaporkan secara langsung.
Untuk game/peluncur yang mengintegrasikan dukungan GameMode (lihat daftar nanti), cukup menjalankan game akan secara otomatis mengaktifkan GameMode.
Untuk orang lain, Anda harus secara manual meminta Gamemode saat menjalankan game. Ini dapat dilakukan dengan meluncurkan game melalui gamemoderun :
gamemoderun ./gameAtau edit opsi peluncuran uap:
gamemoderun %command% Catatan: Untuk versi Gamemode yang lebih lama (sebelum 1.3) Gunakan string ini sebagai pengganti gamemoderun :
LD_PRELOAD="$LD_PRELOAD:/usr/$LIB/libgamemodeauto.so.0"
Harap perhatikan backslash di sini di $LIB diperlukan.
Daemon dikonfigurasi dengan file gamemode.ini . Contoh/gamemode.ini adalah contoh dari seperti apa file ini, dengan penjelasan untuk semua variabel.
File konfigurasi dimuat dan digabungkan dari direktori berikut, dari prioritas tertinggi hingga terendah:
$PWD ("tidak aman" - [gpu] Pengaturan tidak berpengaruh dalam file ini )$XDG_CONFIG_HOME atau $HOME/.config/ ("tidak aman" - [gpu] pengaturan tidak berpengaruh dalam file ini )/etc//usr/share/gamemode/ Tidak mungkin untuk mengintegrasikan perintah seperti Optirun secara otomatis di dalam Gamemode, karena permintaan Gamemode dibuat setelah game sudah dimulai. Namun dimungkinkan untuk menggunakan pembungkus GPU hybrid seperti Optirun dengan memulai game dengan gamemoderun .
You can do this by setting the environment variable GAMEMODERUNEXEC to your wrapper's launch command, so for example GAMEMODERUNEXEC=optirun , GAMEMODERUNEXEC="env DRI_PRIME=1" , or GAMEMODERUNEXEC="env __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia __VK_LAYER_NV_optimus=NVIDIA_only" . Variabel lingkungan gamemoderun dapat diatur secara global (mis.
Gamemode tidak akan disuntikkan ke pembungkus.
Game berikut diketahui mengintegrasikan dukungan GameMode (artinya mereka tidak memerlukan konfigurasi tambahan untuk mengaktifkan GameMode saat berjalan):
Aplikasi lain yang dapat berintegrasi dengan gamemode meliputi:
Desain gamemode memiliki abstraksi yang jelas antara daemon host dan perpustakaan ( gamemoded dan libgamemode ), dan loader klien ( libgamemodeauto dan gamemode_client.h ) yang memungkinkan untuk digunakan dengan aman tanpa khawatir tentang apakah daemon dipasang atau dijalankan. Desain ini juga berarti bahwa sementara perpustakaan host saat ini bergantung pada systemd untuk bertukar pesan dengan daemon, sangat mungkin untuk mengimplementasikan internal lain yang masih bekerja dengan klien yang sama.
Lihat Subdirektori Repositori untuk informasi tentang setiap komponen.
Gamemode tergantung pada meson untuk membangun dan systemd untuk komunikasi internal. Repo ini berisi skrip bootstrap.sh untuk memungkinkan penginstalan cepat ke bus pengguna, tetapi periksa meson_options.txt untuk pengaturan khusus.
dbus-user-session ) apt install meson libsystemd-dev pkg-config ninja-build git libdbus-1-dev libinih-dev build-essential Pada Ubuntu 18.04, Anda harus menginstal paket python3 dan menginstal versi meson terbaru dari pip .
python3 -m venv .venv
source .venv/bin/activate
pip install mesonNanti Anda dapat menonaktifkan lingkungan virtual dan menghapusnya.
deactivate
rm -rf .venvpacman -S meson systemd git dbus libinihdnf install meson systemd-devel pkg-config git dbus-develGentoo memiliki eBuild yang membangun rilis stabil dari sumber. Ini juga akan menarik semua dependensi sehingga Anda dapat mengerjakan kode sumber.
emerge --ask games-util/gamemodeAnda juga dapat menginstal menggunakan sumber terbaru dari git:
ACCEPT_KEYWORDS= " ** " emerge --ask ~ games-util/gamemode-9999Kemudian klon, bangun, dan instal versi rilis Gamemode di 1.8.2:
git clone https://github.com/FeralInteractive/gamemode.git
cd gamemode
git checkout 1.8.2 # omit to build the master branch
./bootstrap.shUntuk menguji gamemode yang diinstal dan akan berjalan dengan benar:
gamemoded -tUntuk menghapus instalasi:
systemctl --user stop gamemoded.service
ninja uninstall -C builddir Permintaan tarik harus cocok dengan gaya pengkodean yang ditemukan di file .clang-format .
clang-format -i $(find . -name '*.[ch]' -not -path "*subprojects/*")
Interaktif liar
Lihat bagian kontributor untuk daftar kontributor yang diperluas.
Hak Cipta © 2017-2024 Feral Interactive
Gamemode tersedia di bawah ketentuan lisensi BSD 3-Clause (direvisi)
Perpustakaan "INIH" didistribusikan di bawah lisensi BSD yang baru