The GameMode package provides a daemon, utilities, and libraries which allows games to request optimizations which then get applied to the host temporarily.
Install GameMode by running the following commands:
mkdir build &&
cd build &&
meson setup --prefix=/usr \
--libexecdir=/usr/libexec/gamemode \
--buildtype=release \
-D with-sd-bus-provider=elogind \
.. &&
ninja
Now, as the root user:
ninja install
If you installed the recommended dependencies and haven't installed
this package just as a dependency, enable the daemon for every user
as the root user:
systemctl enable --global gamemoded
Install lib32-GameMode by running the following commands:
rm -rf * &&
CC="gcc -m32" CXX="g++ -m32" \
PKG_CONFIG_PATH=/usr/lib32/pkgconfig \
meson setup --prefix=/usr \
--libdir=/usr/lib32 \
--buildtype=release \
-D with-sd-bus-provider=no-daemon \
.. &&
ninja
Now, as the root user:
DESTDIR=$PWD/DESTDIR ninja install && cp -vR DESTDIR/usr/lib32/* /usr/lib32 && rm -rf DESTDIR && ldconfig
Inspect meson_options.txt or
meson.options for a full list of
options.
--libexecdir=/usr/libexec/gamemode:
This parameter ensures there are no binary conflicts in
/usr/libexec.
--buildtype=release:
Specify a buildtype suitable for stable releases of the package, as
the default may produce unoptimized binaries.
-D
with-sd-bus-provider=elogind: This parameter ensures
that elogind gets used instead of systemd-logind, as Systemd is the
default in this package. You can override the requirement for
logind altogether via the next parameter.
-D
with-sd-bus-provider=no-daemon: This parameter disables
building the daemon which requires elogind-255.22 and inih. This is used
in the lib32 build since the daemon doesn't provide any libraries.