Feral Interactive has released an optimizer , implemented as a background process that dynamically changes various Linux system settings to achieve maximum performance for gaming applications. The project code is written in C and under the BSD license.
For games, it is recommended to use a special library called libgamemode, which allows for the request of specific optimizations that are not applied by default in the system during gameplay. There is also a version of the library for running the game in automatic optimization mode (loading libgamemodeauto.so via LD_PRELOAD when starting the game), without needing to make changes to the game code. The application of certain optimizations can be controlled through a configuration file.
For example, GameMode can disable power-saving modes, change resource allocation and scheduling parameters (CPU governor and SCHED_ISO), adjust I/O priorities, block the screensaver from launching, enable various high-performance modes in NVIDIA and AMD GPUs, overclock NVIDIA GPUs, and execute scripts with user-defined optimizations.
Version 1.5 introduces dynamic switching of the CPU governor for Intel processors with integrated GPU, where using the 'performance' mode leads to a drop in graphics subsystem performance under high GPU load. In this case, switching to 'powersave' mode reduces CPU power consumption and frees up more GPU resources (the CPU and GPU share a power budget, and prioritizing CPU resources leads to a reduction in GPU clock speed). On the i7-1065G7 CPU, this optimization can increase the performance of Shadow of the Tomb Raider by 25-30%.
GameMode 1.5 also features a new set of D-Bus APIs that utilize the 'pidfd' mechanism to handle situations involving PID reuse (pidfd is tied to a specific process and does not change, while PID may be reassigned to another process after the completion of the current process associated with that PID).
Source: opennet.ru
