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 ./gameOder 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 mesonSpäter können Sie die virtuelle Umgebung deaktivieren und entfernen.
deactivate
rm -rf .venvpacman -S meson systemd git dbus libinihdnf install meson systemd-devel pkg-config git dbus-develGentoo 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/gamemodeSie können auch die neuesten Quellen von Git installieren:
ACCEPT_KEYWORDS= " ** " emerge --ask ~ games-util/gamemode-9999Anschließ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.shUm Gamemode installiert zu testen und korrekt auszuführen:
gamemoded -tZu 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