Gamemode ist eine Dämon/Lib -Kombination für Linux, mit der Spiele eine Reihe von Optimierungen anfordern können, die vorübergehend auf das Host -Betriebssystem und/oder einen Spielprozess angewendet werden können.
Gamemode wurde hauptsächlich als Stop-Lack-Lösung für Probleme mit den Gouverneuren von Intel und AMD CPU Powersave oder Ondemand entwickelt, wird jedoch jetzt eine Reihe von Optimierungsfunktionen und -konfigurationen ausgebildet.
Derzeit beinhaltet Gamemode Unterstützung für Optimierungen, einschließlich:
SCHED_ISO
)Gamemode -Pakete sind für Ubuntu, Debian, Solus, Arch, Gentoo, Fedora, OpenSuse, Mageia und möglicherweise mehr erhältlich.
Probleme mit Gamemode sollten hier im Abschnitt "Themen" gemeldet und nicht direkt an Feral gemeldet werden.
Für Spiele/Launcher, die den Gamemode -Support integrieren (spätere Liste), aktiviert das Ausführen des Spiels den Gamemode automatisch.
Für andere müssen Sie Gamemode manuell anfordern, wenn Sie das Spiel ausführen. Dies kann durch Start des Spiels über gamemoderun
erfolgen:
gamemoderun ./game
Oder bearbeiten Sie die Steam -Startoptionen:
gamemoderun %command%
Hinweis: Verwenden Sie für ältere Versionen von Gamemode (vor 1.3) diese Zeichenfolge anstelle von gamemoderun
:
LD_PRELOAD="$LD_PRELOAD:/usr/$LIB/libgamemodeauto.so.0"
Bitte beachten Sie, dass der Backslash hier in $LIB
erforderlich ist.
Der Daemon ist mit einer Datei gamemode.ini
konfiguriert. Beispiel/gamemode.ini ist ein Beispiel dafür, wie diese Datei aussehen würde, mit Erklärungen für alle Variablen.
Konfigurationsdateien werden aus den folgenden Verzeichnissen geladen und verschmolzen von der höchsten bis zur niedrigsten Priorität:
$PWD
("unsicher" - [gpu]
Einstellungen haben in dieser Datei keinen Einfluss )$XDG_CONFIG_HOME
oder $HOME/.config/
("unsicher" - [gpu]
Einstellungen haben in dieser Datei keinen Einfluss )/etc/
/usr/share/gamemode/
Es ist nicht möglich, Befehle wie Optirun automatisch in Gamemode zu integrieren, da die Gamemode -Anforderung gestartet wird, sobald das Spiel bereits gestartet wurde. Es ist jedoch möglich, einen hybriden GPU -Wrapper wie Optirun zu verwenden, indem das Spiel mit gamemoderun
startet.
Sie können dies tun, indem Sie die Umgebungsvariable GAMEMODERUNEXEC
auf den Startbefehl Ihres Wrappers setzen. Zum Beispiel GAMEMODERUNEXEC=optirun
, GAMEMODERUNEXEC="env DRI_PRIME=1"
oder GAMEMODERUNEXEC="env __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia __VK_LAYER_NV_optimus=NVIDIA_only"
. Diese Umgebungsvariable kann weltweit festgelegt werden (z. B. in /etc /umwelt), so dass der gleiche Präfixbefehl nicht überall dupliziert werden muss, wo Sie gamemoderun
verwenden möchten.
Gamemode wird nicht in die Wrapper injiziert.
Es ist bekannt, dass die folgenden Spiele Gamemode -Unterstützung integrieren (dh sie benötigen keine zusätzliche Konfiguration, um Gamemode während des Ausführens zu aktivieren):
Andere Apps, die in Gamemode integriert werden können, sind:
Das Design von Gamemode hat eine eindeutige Abstraktion zwischen dem Host-Daemon und der Bibliothek ( gamemoded
und libgamemode
) und den Client-Ladern ( libgamemodeauto
und gamemode_client.h
), die es ermöglicht, sich sicher zu verwenden, ohne sich Sorgen darüber zu machen, ob der Dämon installiert oder ausgeführt wird. Dieses Design bedeutet auch, dass sich die Hostbibliothek derzeit auf systemd
zum Austausch von Nachrichten mit dem Daemon verlässt, es jedoch durchaus möglich ist, andere Interna zu implementieren, die immer noch mit denselben Kunden zusammenarbeiten.
Informationen zu jeder Komponente finden Sie unter Repository -Unterverzeichnissen.
Gamemode ist auf meson
für das Aufbau und systemd
für die interne Kommunikation abhängig. Dieses Repo enthält ein bootstrap.sh
-Skript, um die schnelle Installation im Benutzerbus zu ermöglichen. Überprüfen Sie jedoch meson_options.txt
auf benutzerdefinierte Einstellungen.
dbus-user-session
) apt install meson libsystemd-dev pkg-config ninja-build git libdbus-1-dev libinih-dev build-essential
Auf Ubuntu 18.04 müssen Sie python3
-Paket installieren und die neueste Meson -Version von pip
installieren.
python3 -m venv .venv
source .venv/bin/activate
pip install meson
Später können Sie die virtuelle Umgebung deaktivieren und entfernen.
deactivate
rm -rf .venv
pacman -S meson systemd git dbus libinih
dnf install meson systemd-devel pkg-config git dbus-devel
Gentoo hat ein Ebuild, das eine stabile Veröffentlichung aus Quellen aufbaut. Es wird auch alle Abhängigkeiten einbezogen, sodass Sie am Quellcode arbeiten können.
emerge --ask games-util/gamemode
Sie können auch die neuesten Quellen von Git installieren:
ACCEPT_KEYWORDS= " ** " emerge --ask ~ games-util/gamemode-9999
Anschließend eine Release -Version von Gamemode unter 1.8.2 klonen, erstellen und installieren:
git clone https://github.com/FeralInteractive/gamemode.git
cd gamemode
git checkout 1.8.2 # omit to build the master branch
./bootstrap.sh
Um Gamemode installiert zu testen und korrekt auszuführen:
gamemoded -t
Zu deinstallieren:
systemctl --user stop gamemoded.service
ninja uninstall -C builddir
Pull-Anfragen müssen mit dem Codierungsstil übereinstimmen, der in der .clang-format
Datei gefunden wurde. Führen Sie dies bitte aus, bevor Sie festlegen:
clang-format -i $(find . -name '*.[ch]' -not -path "*subprojects/*")
Wilder interaktiv
Eine erweiterte Liste von Mitwirkenden finden Sie im Abschnitt Mitwirkende.
Copyright © 2017-2024 Feral Interactive
Gamemode ist unter den Bestimmungen der BSD 3-Klausel-Lizenz (überarbeitet) erhältlich
Die "Inih" -Bibliothek wird unter der neuen BSD -Lizenz verteilt